【发布时间】:2010-09-09 10:33:35
【问题描述】:
我们需要优化 C# Windows Forms 应用程序的文本渲染,该应用程序在不规则网格中显示大量小字符串。任何时候都可能有超过 5000 个可见的单元格,每秒更新 4 次。各个单元格的字体系列和大小是一致的,尽管颜色可能因单元格而异,粗体/斜体/纯色也会有所不同。
我在网上看到了关于 TextRenderer.DrawText 与 Graphics.DrawString 是最快/最佳的相互矛盾的信息,这在 Win32 级别上减少到 GDI 与 GDI+ 比较。
我在 Windows XP 和 Windows Vista 上也看到了截然不同的结果,但我的主要目标是 Windows XP。有望取得重大进展的文章 在WinFX 和DirectX 10 下在这里没有帮助:-)
这里最好的方法是什么?我不怕引入一个小的 C++/CLI 层并优化设备上下文处理以提高性能,但我想要一些关于采取哪个方向的明确建议。
编辑: 感谢您的初步回复。我将尝试结合使用背景位图渲染和 GDI 等效调用。
【问题讨论】:
标签: c# windows performance