FPS com metade do Pyglet da taxa de atualização do monitor

Eu sou novo em trabalhar com o Pyglet e escrevi um pequeno programa que move uma bola pela tela. No momento estou tendo dificuldade em estabelecer uma taxa de quadros constante de 60 fps. Enquanto o Pyglet deve sincronizar com a taxa de atualização do meu monitor de 60Hz, o Pyglet está definindo meus fps para metade da minha taxa de atualização (ex. Quando 60Hz, 30 fps). Há algo de errado no meu código que está causando isso?

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

questionAnswers(2)

yourAnswerToTheQuestion