1

文字列の代わりにStringBuilderを使用して、GDIを使用して画像に文字列を描画することはどういうわけか可能ですか?StringBuilderを受け入れるGraphics.DrawString()オーバーロードはありません。ただし、通常の文字列を使用すると、GC時間が大幅に増加する場合があります(私の場合、CLRプロファイラーによると52%)。

注:4.0以降、StringBuildersをサポートするXNAFrameworkを使用したくありません。

4

1 に答える 1

0

代替のグラフィックライブラリを使用せずにそれが可能だとは思いません。

.NET 4.0以降、内部でクラスを使用StringBuilderしません(リフレクションを使用しても、オブジェクトを抽出することはできません)。StringString

myStringBuilder.ToString()呼び出しによってパフォーマンスが低下するのは正しいことです。基本的に、呼び出されるたびに文字列のコピーを作成します。しかし、を呼び出すコードではGraphics.DrawString()、それがボトルネックであるとは思えません。

于 2013-02-10T09:07:20.293 に答える