ハンドル欲しいMobile系、Direct3DやShaderなどについて書いています。気をつけなければいけない点が異なっています。思わぬボトルネックが発生します。向けのタイトルのサンプルで、非常に動作が重いものがありました。モデルデータのせいで処理が重いので、データを軽くして欲しいとの話でした。データのせいで使えるビデオカードにも制約が出てしまうとの指摘でした。フィールドを表示するシンプルな画面で、背景もキャラクタもごく普通のモデルデータです。出ていない状況でした。方で処理が落ちているのでしょう。見たところデータフォルダ内には細切れになったテクスチャが大量に入っていました。呼び出し回数によって速度が大幅に変わります。回数を減らすことからです。描画はできるだけまとめてばらばらのオブジェクトも一回で描画できるようにします。呼び出しの内部ではマテリアルやレンダーステートを切り替えられないので、マテリアルの数がそのまま描画回数の増加につながります。テクスチャはできるだけシートにまとめ、マテリアルパラメータは可能ならば頂点に埋め込みます。マテリアルやシェーダーの切り替えも負荷になるので、切り替えを最小限にするためには描画の前にソートしておく必要があります。ジオメトリインスタンシングを使うことができます。頂点ストリームにジオメトリやマテリアルを書き込んでおくことで、一度の描画呼び出しで大量のオブジェクトを描画可能です。描画時には必ずこのような描画を減らす工夫が必要だということです。サイクルを消費してしまいます。それほど負荷にならず、テクスチャの変更もほとんどサイクル数を消費しないものがあります。そのためつい同じような考えで描画パイプラインを設計してしまうと思わぬボトルネックに苦しむことになります。上に確保できるなど、より負荷を軽くするためのさまざまな工夫が施されているようです。無駄に待っている可能性があります。書き込みを行う場合はフレームバッファと同じように頂点バッファを複数持つ必要があります。化して、書き換えた頂点を発行するたびに使用するバッファを切り替えていきます。等の解析ツールを見れば一目瞭然でしょう。