1
我想以80 fps运行游戏,但我得到83 fps?!这是怎么回事?Pygame FPS比我想要的更快
while 1:
start = time()
clock.tick_busy_loop(80)
self.update()
fps=int(1./(time()-start))
print fps, 'fps'
>> 83 fps
我想以80 fps运行游戏,但我得到83 fps?!这是怎么回事?Pygame FPS比我想要的更快
while 1:
start = time()
clock.tick_busy_loop(80)
self.update()
fps=int(1./(time()-start))
print fps, 'fps'
>> 83 fps
Resolution of pygame clock = 1 msec
80 fps = 12.5 msec
83 fps = 12 msec
int(12.5) = 12
那是多么INT作品?我正在做fps上的int而不是时间..如果我这样做,我会期待你的结果: dt = int(time() - start) fps = 1./dt –
正如@stark在第1行中所说的, Pygame时钟的分辨率为1毫秒。要获得正好80帧/秒的帧率,它需要每12.5ms画一个新帧。它不能做到这一点,所以它会将它调平/调整到12ms,给你1/0.012 ='83和1/3的FPS(然后你将其转换为“int”,结果为83)。 – TigerhawkT3