저는 Pyglet에 익숙하지 않고 화면 주위에서 공을 움직이는 작은 프로그램을 작성했습니다. 지금은 60fps의 꾸준한 프레임 속도를 설정하는 데 어려움을 겪고 있습니다. Pyglet이 내 모니터의 재생 빈도 60Hz와 동기화되는 동안 Pyglet은 내 재생 빈도의 절반 (예 : 60Hz, 30fps)으로 내 fps를 설정합니다. 이 문제를 일으키는 내 코드에 문제가 있습니까?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()
'schedule_interval' 대신'pyglet.clock.schedule (update)'를 사용하면 개선 된 점이 있습니까? –
차이가없는 것 같습니다. – FlowofSoul
질문 당시, 1.1.1에는 프레임 레이트 관련 몇 가지 문제가 있었기 때문에 실행중인 Pyglet의 버전은 무엇입니까? – Torxed