最大化

 yanesdkでディスプレイ解像度変更を含むフルスクリーン化の方法がわからないので(多分本気で解像度替えるSystem系のメソッド叩くんだろうけど)、枠のないウィンドウをディスプレイいっぱいに広がるようにする。実装的にはきわめて単純。FormのプロパティちょっといじってIScreen.SetView(0,0,640,480)を叩くだけ。特に問題ない。
 しかしこういうのって処理速度に影響とか出ないんだろうか。640x480を1280x1024に伸ばしたら(縦が2倍じゃないからちょっと縦に長くなるけど)面積四倍以上になるわけじゃないですか。最近のGPUはそんなこと気にしませんか。そうですか。にしても、テスト用のコード、ほとんど何もしていない上に150x150の絵を一個だしてるだけなのに60fpsで安定しない。オブジェクトがどのぐらい動かせるかテストしないとなぁ。どうせ重いのはUpdateだけだろうから楽観はしてるけど。


 それよりも、ゲーム中にユーザーがマウスでウィンドウを動かせるようにするにはメッセージ処理をやらなきゃならないんですが、フレームを待つのにFPSTimer.WaitFrame()使うと多分Win32APIで言うところのSleepが呼ばれてスレッドが寝るんでメッセージ処理されない。ならば、と寝る前にメッセージ処理をぶち込むわけですが、DoEventsとか言うVB臭いメソッドを呼ぶ必要があるわけですよ。そんなのヤダヤダなのでマルチスレッド化を検討する。いろんなサイトを巡りながらコード書いてみたら、なんかものっそい簡単にできた。すごいなぁ、C#。いや、.NETか。