FPS с Pyglet половина частоты обновления монитора
Я новичок в работе с Pyglet, и я написал небольшую программу, которая перемещает шарик по экрану. Сейчас у меня возникают трудности с установлением постоянной частоты кадров 60 кадров в секунду. В то время как Pyglet должен синхронизироваться с частотой обновления моего монитора 60 Гц, Pyglet устанавливает мои fps на половину моей частоты обновления (например, при 60 Гц, 30 fps). Что-то не так в моем коде, который вызывает это?
import pyglet
import physicalobject
import random
from pyglet.window import mouse
pyglet.resource.path = ['./resources']
pyglet.resource.reindex()
ball_image = pyglet.resource.image("ball2.png")
#sets clock format
fps_display = pyglet.clock.ClockDisplay(format='%(fps).2f fps')
def center_image(image):
image.anchor_x = image.width/2
image.anchor_y = image.height/2
center_image(ball_image)
ball = physicalobject.PhysicalObject(img=ball_image, x = 400, y = 300)
ball.scale = .2
ball.velocity_x = random.randint(-4,4)*150
ball.velocity_y = random.randint(-4,4)*150
#Calls update function to set new ball position based on velocity
def update(dt):
ball.update(dt)
@window.event
def on_mouse_drag(x, y, dx, dy, button, modifiers):
ball.x = x
ball.y = y
ball.velocity_x = dx * 20
ball.velocity_y = dy * 20
@window.event
def on_draw():
window.clear()
ball.draw()
fps_display.draw()
def main():
pyglet.clock.schedule_interval(update, 1/120.0)
pyglet.app.run()
if __name__ == '__main__':
main()