赞
踩
我遇到了Pyglet的速度有点不一致pyglet.clock.schedule以及pyglet.clock.schedule_时间间隔(interval参数低于某个值),调用函数。在
这两个命令似乎都显示了间隔的一些公共treshold,它们可以称之为函数。如果treshold的速度不是那么低的话,它可能与硬件性能限制有关-大约每秒调用一个函数30次。在
测试代码和测试结果如下:import pyglet
from time import time
window = pyglet.window.Window()
last_update = time()
def update(dt):
global last_update
print("dt: ", dt)
print('Measured dt: ', time()-last_update)
last_update = time()
@window.event
def on_draw():
dt = pyglet.clock.tick()
print('Last clock tick: ', dt, "\n")
pyglet.clock.schedule(update)
pyglet.app.run()
样品结果:
^{pr2}$
尽管dt = pyglet.clock.tick()诱导调用update(dt)函数,该函数的dt值状态与预期的clock.tick()返回值一致,但第一次调用几乎总是返回相同的固定dt值,这表明Pyglet的间隔函数调用回调函数的最大频率约为30-32每秒次。
我不知道是什么会影响这么低的频率,但我想这种性能可能是某种故障的影响。证据似乎至少是在出版商的示例程序中使用了更高的帧速率(例如120fps)。在
是什么原因让它工作得这么慢?pyglet的interval函数可以被修复,以相应的、给定的频率更新回调函数,而不局限于每秒30次?提前谢谢你的帮助。在
PS clock.schedule_interval只能被操纵,如果它的间隔大约在1/30以上。在
打印方法的出现不影响区间函数的阈值速度。在
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。