少しひさしぶりなC++制作。
とりあえず、行列計算をなるべくヘルパー関数を使用して
計算しないように変更したり、後はせっかくデバイスロストに対応したので
ウィンドウモードとフルスクリーンモードの切り替えに対応するように
してみました。今までウィンドウモードでデバッグしていたのですが、
今回はじめてフルスクリーンモードで試してみると…。なぜか時々
スクリーン上にウィンドウのタイトルバーらしきものがちらついて
表示されている。。デバイスパラメータの設定ミス?
そういえば、以前は30fpsだったのが40fpsまででるようになりました。
5体計算させるだけならCPU計算でもそこそこいけそうですね。
たけなか 2010.02.10-10:23 Edit
どうやらFPSをタイトルバーで表示させていたのが原因でした。
タイトルバーの状態を更新させると、どうしても描画しようとして
ちらつくみたいですね。それと、ウィンドウモードよりフルスクリーン時の方が
心なしか処理が重い(目測なので何ともいえませんが、おそらく40→30fps
くらいに下がっている)と感じたのでネットで少し調べてみたところ、
どうやらDX7まではフルスクリーンの方が早くて、DX8以降では
ウィンドウモードの方が早いらしいということを発見しました。
なので、市販のPCゲームをデバッグする場合はより低環境でも
耐えられるかテストするためにフルスクリーンでデバッグすることが
多いのだそうです。少し意外でした。
いくつかの書籍ではフルスクリーンの方が早いと書いてありますが
どうやらDX7の情報を引きずっているみたいですね。
それとも環境によって結構違ってくるんでしょうか。。
芸能なんかではこういった現象、いわゆるパラダイム・シフトはよくありますが、
PCにおいても環境が違えば今まで定説のようにいわれてきた
考え方でも180度変わることがあるんだなぁと、改めてそう思いました。