1

是否有可能使用 GDI 将字符串绘制到使用 StringBuilder 而不是字符串的图像上?没有接受 StringBuilder 的 Graphics.DrawString() 重载。但在某些情况下,常规字符串会显着增加 GC 时间(根据 CLR Profiler,在我的情况下为 52%)。

注意:我不想使用从 4.0 开始支持 StringBuilders 的 XNA 框架。

4

1 回答 1

0

我不相信不使用一些替代图形库是可能的。

由于 .NET 4.0,内部StringBuilder使用String(即使使用反射也无法提取String对象)。

你是对的,调用myStringBuilder.ToString()会导致性能下降;它本质上是在每次调用它时复制你的字符串。但是在调用的代码中Graphics.DrawString(),我只是不认为这是一个瓶颈。

于 2013-02-10T09:07:20.293 回答