0

十分にテストされた動作中のアプリケーションの directx パフォーマンスを改善しようとしています。プロファイル ツールを使用して、スプライト パラメーターに null が渡された Microsoft.DirectX.Direct3D.Font.DrawText(Sprite sprite, string text, int x, int y, int color) の呼び出しが約 30% の原因であることを突き止めました。アプリケーションの CPU 使用率。スプライトを作成し、それを DrawText のすべての呼び出しに渡すと、CPU 使用率がほぼなくなります。唯一の問題は、フォントが非常に小さくなり、読みにくくなることです。

null を Microsoft.DirectX.Direct3D.Font.DrawText(Sprite sprite, string text, int x, int y, int color) に渡すのと同じ方法でテキストをレンダリングするスプライトを誰でも作成できますか? 私が持っているものの代わりに 2D テキストを使用する方法があることは知っていますが、この動作中のアプリに大きな変更を加えることは避けたいと考えています。

4

1 に答える 1

1

と の間に描画呼び出しを配置する必要がSprite.Begin()ありSprite.End()ます。Begin()呼び出しは適切なレンダリング状態 (変換など) を適用し、呼び出しEnd()は前の状態を復元します。もちろん、このブロック内にはスプライト以外は描画しないでください。

于 2013-02-14T21:31:22.140 に答える