テレワークならECナビ Yahoo 楽天 LINEがデータ消費ゼロで月額500円〜!
無料ホームページ 無料のクレジットカード 海外格安航空券 海外旅行保険が無料! 海外ホテル


log

2010.02.10 C++:フルスクリーン切り替えに対応してみました

少しひさしぶりなC++制作。

とりあえず、行列計算をなるべくヘルパー関数を使用して
計算しないように変更したり、後はせっかくデバイスロストに対応したので
ウィンドウモードとフルスクリーンモードの切り替えに対応するように
してみました。今までウィンドウモードでデバッグしていたのですが、
今回はじめてフルスクリーンモードで試してみると…。なぜか時々
スクリーン上にウィンドウのタイトルバーらしきものがちらついて
表示されている。。デバイスパラメータの設定ミス?

そういえば、以前は30fpsだったのが40fpsまででるようになりました。
5体計算させるだけならCPU計算でもそこそこいけそうですね。

comment

たけなか 2010.02.10-10:23 Edit

どうやらFPSをタイトルバーで表示させていたのが原因でした。

タイトルバーの状態を更新させると、どうしても描画しようとして
ちらつくみたいですね。それと、ウィンドウモードよりフルスクリーン時の方が
心なしか処理が重い(目測なので何ともいえませんが、おそらく40→30fps
くらいに下がっている)と感じたのでネットで少し調べてみたところ、
どうやらDX7まではフルスクリーンの方が早くて、DX8以降では
ウィンドウモードの方が早いらしいということを発見しました。
なので、市販のPCゲームをデバッグする場合はより低環境でも
耐えられるかテストするためにフルスクリーンでデバッグすることが
多いのだそうです。少し意外でした。

いくつかの書籍ではフルスクリーンの方が早いと書いてありますが
どうやらDX7の情報を引きずっているみたいですね。
それとも環境によって結構違ってくるんでしょうか。。

芸能なんかではこういった現象、いわゆるパラダイム・シフトはよくありますが、
PCにおいても環境が違えば今まで定説のようにいわれてきた
考え方でも180度変わることがあるんだなぁと、改めてそう思いました。