FPS con Pyglet la mitad de la frecuencia de actualización del monitor

Soy nuevo en trabajar con Pyglet y he escrito un pequeño programa que mueve una bola por la pantalla. En este momento estoy teniendo dificultades para establecer una velocidad de fotogramas estable de 60 fps. Si bien se supone que Pyglet se sincronizará con la frecuencia de actualización de mi monitor de 60Hz, Pyglet está configurando mis fps a la mitad de mi frecuencia de actualización (por ejemplo, cuando 60Hz, 30 fps). ¿Hay algo mal en mi código que está causando esto?

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()

Respuestas a la pregunta(2)

Su respuesta a la pregunta