有没有一种在屏幕上绘制字符的快速方法?

Zon*_*ong 2 c#

我用 Java 开发了一个以 Matrix 为主题的应用程序,并正在尝试移植到 C#。但是,我发现后者的DrawString方法在绘制大量单个字符时的性能要差得多。因此,我希望存在以下两种可能性之一:

  1. 有一种绘制大量单个字符的替代方法,速度要快得多。

  2. 有一种方法可以绘制固定间距的字符串来达到相同的效果。这似乎不太可能。

有谁知道完成1或2的任何方法?

附加信息:

  • 我需要能够每秒绘制大约20000 个字符 30 次

  • 字符可以具有相同的字体和大小,但颜色应该能够改变。

  • 字符集是有限的(字母、数字和标点符号)。

  • 字符的位置沿着 2D 网格,并且不重叠。

Ase*_*tam 5

我不知道有什么极快的替代方法,但是使用 GDI( TextRenderer ) 而不是 GDI+(DrawString) 会得到更好的结果。最多快 5-6 倍。

GDI 与 GDI+ 文本渲染性能

另一篇有用的文章 -使用 GDI+ 快速渲染 - 做什么和不做什么!