我们正在尝试在PsychoPy中重建一个3x3网格的同步窗口,每个窗口都显示径向光流模式,如Cardin和Smith(2010)所述。 当我们运行代码时,刺激太慢(需要一段时间才能加载)。怎么加速呢?在绘制每个窗口后进行单次翻转有帮助吗?
卡丹&史密斯,2010年;人类视觉和前庭皮质区域对运动相容的视觉刺激的敏感性。大脑皮层答案 0 :(得分:2)
本文中的细节非常稀疏,但只是为了确保:你可能不想在同一个画面中绘制9个不同的 Windows 而是9个不同的刺激(全屏) )窗口。所以我会做这样的事情:
import random
from psychopy import visual
win = visual.Window()
# Create 9 dotstims
stims = []
for xPos in range(-1, 2):
for yPos in range(-1, 2):
stims += [visual.DotStim(win, fieldPos=(xPos, yPos), fieldShape='circle', dotLife=30, speed=0.01, fieldSize = 0.2, nDots=50, dir=random.randint(0, 359))]
# Draw for 120 frames
for frame in range(120):
for stim in stims:
stim.draw()
win.flip()
您可能希望将dir
值更改为系统而不仅仅是随机值,如上例和fieldPos
。性能方面,这在我的笔记本电脑上有点边缘,因为draw
的最大持续时间是11.5毫秒。这是危险的接近16.667毫秒,但你可以在你的刺激计算机上自己测试它。只需加上
from psychopy import core
timerClock = core.Clock()
在脚本的开头,然后使用以下内容循环遍历框架:
for frame in range(120):
timerClock.reset()
for stim in stims:
stim.draw()
print timerClock.getTime() # should be consistently below 0.016 seconds on a 60 Hz monitor.
win.flip()