我遇到了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以上。在

打印方法的出现不影响区间函数的阈值速度。在

更多推荐

python的clock函数_Pyglet.clock.schedule显著的函数调用速度限制