我做了一个实验,用PsychoPy / PyGaze来呈现刺激,并用EyeTribe眼跟踪器跟踪眼球运动。在这个实验中,我更新了每个帧( 60 Hz)上两个视觉刺激的大小。我预先准备好每一帧,然后循环遍历所有屏幕对象,并呈现它们。同时,一个连续的声音在播放。当我在虚拟模式下运行这个实验时(鼠标运动被用来模拟凝视位置),视觉呈现没有时间问题。然而,当我在执行眼睛跟踪时运行实验时,视觉呈现的时间不再准确(帧的持续时间的变异性更高)。
我试着更多地查看多线程,但是在PyGaze的py部落脚本中,我找不到任何证据表明有一个线程在等待来自眼睛跟踪线程的事件。所以,我不知道如何找出造成时间问题的原因,或者如何解决这个问题?(我希望我能详细地解释这个问题)。
发布于 2016-06-15 15:17:10
更糟糕的是,只需要一个单独的线程的眼球轨道与刺激渲染。您真正需要的是一个单独的过程,以避免pythonGlobal解释器锁(GIL)。GIL阻止不同的线程在不同的处理器上运行。
为了提高时态精度,我建议您从py凝视切换到iohub (我相信它也支持eyetribe )。在可能的情况下,iohub确实在机器的另一个核心上运行,这样你的刺激和眼睛数据就可以被独立地及时处理,并且它为你处理所有同步的东西。
https://stackoverflow.com/questions/37837421
复制相似问题