前回と同じゲームで、新たな問題に遭遇しました。マウスを動かすと、FPSは約60から500以上に増加します。あなたが何を考えているかはわかります。on_draw()
私はすでにオーバーライドを行ったので、それは各イベント(私は思う)が解雇されたためではありませんpyglet.app.EventLoop.idle
:
class EventLoop:
def idle(self):
pyglet.clock.tick(poll=True)
return pyglet.clock.get_sleep_time(sleep_idle=True)
pyglet.app.EventLoop = EventLoop()
flip()
また、描画関数でウィンドウを呼び出します。役に立たないマウスモーションイベントはすべてCPUを大量に消費するため、煩わしいものです。私はそれについて何ができますか?
編集
window.invalid = False
描画機能とwindow.invalid = True
更新機能を追加しましたが、これにより他のマウス操作でのCPU使用率が低下するようです。
編集2
描画機能は代表的なon_draw()
機能です。
編集3
さらに調査したところ、これらのイベントはすべて、私が思っていたほど多くのCPUを使用していないようです。それでも、これがPygletの動作方法であるのか、それとも避けるべきものであるのかを知ることは良いことです。