首页 / 知识
关于 c#:Fastest API 用于在 Windows 窗体中呈现文本?
2023-04-15 21:00:00

Fastest API for rendering text in Windows Forms?我们需要优化 C# Windows 窗体应用程序的文本渲染,该应用程序在不规则网格中显示大量小字符串。任何时候都可能有超过 5000 个可见的单元格,每秒更新 4 次。各个单元格的字体系列和大小是一致的,但颜色可能因单元格而异,粗体/斜体/纯色也是如此。 我在网上看到关于 我在 Windows XP 和 Windows Vista 上也看到了截然不同的结果,但我的主要目标是 Windows XP。有望取得重大进展的文章 这里最好的方法是什么?我不怕引入一个小的 C /CLI 层并优化设备上下文处理以挤出更多性能,但我想要一些关于采取哪个方向的明确建议。 编辑: 一位 Microsoft 开发人员在他的博客上发布了 GDI 与 GDI 文本渲染性能的文章,该文章回答了原始速度问题:在他的系统上,GDI DrawText 的速度比 GDI DrawString 快大约 6 倍。 如果你想成为一个真正的速度恶魔,TextOut 比 DrawText 快,但你必须自己处理剪辑和自动换行。 ExtTextOut 支持剪辑。 GDI渲染(TextRenderer)会更符合Windows其他部分使用GDI; GDI 试图独立于设备,因此一些间距和加粗是不一致的。有关呈现不一致的示例,请参阅 SQL Server 2005 外围应用配置工具。 即使使用 GDI,5000 文本渲染也很慢,尤其是在您需要滚动时。创建一个单独的渲染线程,每 200 毫秒通知 UI 线程,并对当前结果进行 bitblt。它提供了流畅的用户体验。 在我的 Windows 7 64 位系统上,TextOut 甚至比 DrawString 慢一点! TextRenderer.DrawText 比 DrawString 慢得多。 创建一个 C /CLI 互操作类以在本机代码中进行绘图将导致疯狂快速的绘图。我们已经见证并衡量了这一点。 如果您不愿意这样做,我们发现 graphics.DrawString 只比 TextRenderer.DrawText 快一点。 一般来说,GDI 在绘图方面比 GDI 更快。我从事的项目必须绘制数千行和文本字符串,并且从 GDI 切换到 GDI 显着提高了性能。那是使用 Windows XP,所以我无法评论 Vista。我还建议对绘图使用双缓冲来提高性能。创建一个兼容的离屏位图并在每次需要绘制时重复使用。 根据最近的经验,最快的文本输出是通过带有 |
最新内容
相关内容
linux常用命令文本?
linux常用命令文本?,工作,命令,网络,地址,系统,管理,标准,信息,目录,文件,Linux用户以及权限相关常用命令总结sudo和su类似,有一些附加的属性,管linux文本查询命令?
linux文本查询命令?,标准,命令,文件,工具,数据,信息,位置,系统,内容,文本,Linux下Grep命令的详细使用方法?1、查找root目录下包含Linux的文件,linux在线命令文本?
linux在线命令文本?,系统,工作,信息,在线,地址,命令,基础,标准,工具,目录,Linux常用命令linux系统常用操作命令如下:ls:全拼list,功能是列出目录linux编写文本命令?
linux编写文本命令?,工作,系统,命令,第一,信息,发行,代码,名字,文件,终端,linux中编辑文件命令linux常用命令有pwd命令、cd命令、ls命令、catlinux压缩文本的命令?
linux压缩文本的命令?,系统,图片,命令,设备,工具,位置,软件,管理,文件,目录,如何在Linux上使用tar命令解压和压缩文件1、解压 tar.bz2/bzip 归linux压缩文本的命令?
linux压缩文本的命令?,系统,图片,命令,设备,工具,位置,软件,管理,文件,目录,如何在Linux上使用tar命令解压和压缩文件1、解压 tar.bz2/bzip 归linux输入文本命令?
linux输入文本命令?,系统,位置,电脑,工作,首开,命令,终端,模式,指令,字符,如何在Linux系统中使用终端打开和编辑文本文档1、打开终端。点击菜linux替换文本命令?
linux替换文本命令?,信息,系统,命令,内容,文件,文本,字符串,字符集,单词,字符,Linux系统中tr命令删除和替换文本字符的基本用法1、以升序展开linux替换文本的命令?
linux替换文本的命令?,系统,地址,工作,信息,命令,标准,数据,内容,文件,字符串,linux中批量查找替换文本内容例子1、Linux下批量替换多个文件中linux编辑文本命令行?
linux编辑文本命令行?,工作,系统,信息,状态,地址,命令,管理,标准,目录,文件,Linux文本操作常用命令linux常用命令有pwd命令、cd命令、ls命令、linux查看文本的命令?
linux查看文本的命令?,系统,工作,标准,信息,命令,管理,数据,文件,目录,时间,Linux文件相关命令命令一:cat cat命令应该是在Linux中查看文件内容linux文本中插入命令?
linux文本中插入命令?,工作,地址,系统,命令,信息,第一,工具,地方,密码,情况,Linux下常用文本处理命令简单说明使用file命令可以知道某个文件究