Отбрасывание слишком большого количества кадров в психопии (питоне) при выполнении круга загрузки

Я новичок в питоне и психопати, я запрограммировал "круг загрузки", к сожалению, я сбрасываю слишком много кадров. Я использую частоту обновления 60 Гц, полный экран, нет подключения к интернету, и компьютер (MacBook Pro) достаточно мощный. Возможно, что-то не так с моим кодом (это, вероятно, метод setVertices, вызываемый в каждом кадре), может, кто-нибудь подскажет, так ли это и есть ли в психопати альтернативы для рисования круга загрузки (без отбрасывания слишком большого количества кадров)? Большое спасибо Эмануэле

from psychopy import visual,event
import numpy
import math

mywin = visual.Window([1280, 800],monitor="testMonitor",units="deg",fullscr = True,winType='pyglet')
cir = visual.ShapeStim(mywin,lineWidth = 4,lineColor = 'black',closeShape = False)

class circ(object):
    def __init__(self,rad,size,centre):
        self.rad = rad
        self.size = size
        self.centre = centre
        self.points = numpy.arange(0,self.size, dtype = numpy.float)
def make_circle(self):
        self.cx = self.centre[0]+(self.rad*numpy.cos(self.points*math.pi/(self.size/2)))
        self.cy = self.centre[1]+(self.rad*numpy.sin(self.points*math.pi/(self.size/2)))
        return numpy.array([self.cx,self.cy])

nFrames = 240       
c = circ(3,nFrames,(0,0))
frames = numpy.zeros((nFrames,1),float)
coord = c.make_circle()
newpos=[]

for iframe in range(nFrames):
    newpos.append([coord[0,iframe],coord[1,iframe]])
    cir.setVertices(newpos)
    cir.draw()
    frames[iframe] = mywin.flip()
print numpy.diff(frames,axis = 0)*1000

0 ответов

Другие вопросы по тегам