コーディングの遅さ

どうもお久しぶりです。9月後半はほとんどプログラミングしていました。作りたいゲームは固まっているんですが、ゲームシステム自体に致命的な部分が多くてそれを修正しているうちに・・・


夏休みが終わっちまったー・゜・(つД`)・゜・


しかし、ずっとプログラミングしていたはずなのになかなか進んでないんですよね。これまで書いたソースの量を全部チェックしてみてもせいぜい120KB。1行に40文字だとしてもたかだか3000行。まぁ、問題は量じゃないんですが、ゲーム本体部分がほとんどできていないのでなかなか厳しいです。


まぁ、致命的な部分は今回の実装でほとんどなくなったはずなのでこれからはずんずんゲーム本体部分に力を入れていけるでしょう。一番大きな問題だった描画によるCPUの無駄遣いもなくなりました。今までは背景画像とタイトル画像を表示するだけで、たったそれだけで2.4GHz(Pen4)のCPUパワーを50%も使っていたんですorz


1.7GHz(Celeron)な友人に使ってもらったらFPS60のはずが40しか出ないというありえないことになっていました(泣)


「必要な場合に必要な部分だけ描画しる」と、Celeronな友人に軽く突っ込まれまして2日かけてあれこれ頑張ってみた結果


50%→8%


とりあえずこれくらいなら使えそうですね。
ふぅー。めでたいめでたい。


あ、そうそう。できたと思ったところでReleaseビルドとDebugビルドで動きが違うので調べてみたら変なところで引っかかってました。

const RECT* pRect = GetRect();

//Releaseだとうまくいくけど、Debugだとおかしなことに
Draw(CPoint(pRect->left,pRect->top),CRect(*pRect++));

//どっちもうまくいく
Draw(CPoint(pRect->left,pRect->top),CRect(*pRect));
pRect++;

//これもどっちもうまくいく
int left = pRect->left;
int top  = pRect->top;
Draw(CPoint(left,top),CRect(*pRect++));

後ろに置いた「++」はその式文が評価されたあとに実行されると思ってたんだけど、違うのかなぁ。演算子の優先順位にも問題ないはずだけど・・・とりあえず直ったので放置プレイ。