まずはタイマー

 結局、Irrlicht改造にすることにしました。まぁ、コードは綺麗なので手を入れる気にはなるし。
 というわけで、まずはFPSを安定させるためにタイマーを仕込むとこから。実装はyaneSDK3rdからぶっこ抜き(爆) 一応、Irrlichtにもタイマーはあるんだけどマルチプラットフォームだから(以下略) が、これだけは言いたい隠しパラメータを仕込んでじゃねー!
 タイマー実装h/cppに高精度カウンタフラグとマルチコアフラグ(たぶん、タイム取得APIの精度問題なのか、マルチコア時には何かやってるらしい)を発見した。あるならcreateDeviceした時に自動でCPU判定して自動設定とかにしてくれよw cppローカルのstatic変数だから外からさわれねーし。一応、Irrlichtプロジェクトを検索したがそいつらをいじれそうな公開関数などは無かったので完全に隠しパラメータw
 次はタイマーの隠しパラメータのを外から変更できるようにして、そもそもタイマーの実装が甘いので直して。WM_CLOSE処理するように改造だ。あと、ウインドウハンドルを取得できるようにもしてしまおう。乱数生成も線形合同法をちょっといくじった程度にしかみえないのも不安だし(そもそも種が固定値……ってのがオイオイ)なぁ。
 さあて、Irrlichtを完全にWindows化するでー。

追記:

 隠しパラメータ撤回……。タイマーの初期化時にちゃんと設定されてましたorz ただ、QueryPerformanceCounterを使ってるのはやり過ぎなような気もするが、まぁ、いいか。これならyaneSDKからぶっこ抜かなくても大丈夫だったか。普通にIrrlicht内に実装してしまおう