【06/12/31】カッタvsAMR【粘着安置孤軍奮闘】 34
前スレ 211 が気になって、積んでたのをインスコして PIX で動作チェックしてみた。
……やらなきゃよかった。これ、本当に売り物かよ。
一番まずいのが、 EndScene の後に DrawIndexedPrimitiveUP を呼んでる箇所があるところ。
ここでカーソルを自前描画してるんで、カーソルが出ないとか、消えるとかいう症状の人は
ほぼ間違いなくこれが原因。
ていうか、これ環境によってはブルースクリーンとか発生してもおかしくない。
次にまずいのが、オブジェクトのまとめ描画とかを一切行っていないところ。
文字を一文字描画するために DrawIndexedPrimitiveUP を2回(本体と影)呼んでる。
たった 4 ポリゴン描画するのにどれだけコストをかける気ですか。
しかも、DrawIndexedPrimitiveUP を呼ぶ都度、 SetRenderState や SetTexture も1セット呼ばれてる。
このせいで、タイトル画面を1フレーム描画するのに IDirect3DDevice9 インターフェースの呼び出しが 400 回前後、
ADV シーンでは 1500 から 2000 回くらいまで膨れ上がってる。
弱めの PC にはイジメに近いんじゃないの、これ?
文字化け起きてる人の環境とか、この無駄な負荷のせいでテクスチャの転送が間に合ってないとかいうオチ?
ADって凄いね、ゲームですらないね