0

当人们想在 winapi 下编写运行良好、快速的文本编辑器时,是否有其他 GDI 替代方案?我也想要一些适用于旧 Windows 版本的东西,例如 XP。我听说 GDI 很慢,也许在编写文本编辑器时有更适合 GDI 的东西?也许有人知道使用杂乱无章的漂亮文本编辑器的目的是什么?

4

1 回答 1

1

GDI 并不太快。但可能对于编辑来说,这应该足够了。它还取决于绘画算法的智能。例如,在编辑时,您应该只重新渲染受影响的行。ScrollWindow()即使在插入新行时,您也可以使用或滚动下面的大部分行ScrollWindowEx()

作为替代方案,您可以查看 Uniscribe (USP10.DLL)。但是我不确定它是否依赖于 GDI。它或多或少是替代TextOut()和类似的 GDI 功能,以支持适当的不同脚本系统,包括从右到左阅读、从左到右和从右到左的混合(例如嵌入欧洲人名的阿拉伯文等) .)

然后还有 DirectWrite,它应该与 Direct2D 一起使用。这应该会更快,因为 Direct2D 将大量工作卸载到显卡,而 GDI 主要吃 CPU 和系统内存。但请注意,这些 API 仅在 Windows 7 之后可用。

于 2013-07-14T13:40:04.920 回答