如何加快使用多个同时窗口的刺激的呈现?

时间:2015-01-27 16:16:39

标签: psychopy

我们正在尝试在PsychoPy中重建一个3x3网格的同步窗口,每个窗口都显示径向光流模式,如Cardin和Smith(2010)所述。 当我们运行代码时,刺激太慢(需要一段时间才能加载)。怎么加速呢?在绘制每个窗口后进行单次翻转有帮助吗?

卡丹&史密斯,2010年;人类视觉和前庭皮质区域对运动相容的视觉刺激的敏感性。大脑皮层

1 个答案:

答案 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()