フレームレートの維持云々

SDL 1.2.10でOpenGL使用時のVSync待ちのon/offを切り替える機能がついたらしき。

SDL_GL_SetAttribute(SDL_GL_SWAP_CONTROL, 1);

とか。早速設定項目に盛り込んだ。



あと、VSyncを待たずに60FPSを維持するいい方法を発見。
http://spitfire.client.jp/program/fps.html#ss10
16.6666..*3が50になるのを利用して、更新のタイミングを「経過ミリ秒の3倍が前回更新時から50を超えた時」にする、というもの。目から鱗。
実際にやってみたところ、綺麗に60FPSを維持できた。
ティアリングまでは防止できないけど、更新間隔16msを決め打って62〜61FPSをふらつくよりはなんとなく気分的にいい。