在winapi中编写文本编辑器时替代gdi

时间:2013-07-14 13:12:57

标签: windows winapi text editor gdi

当有人想要时,是否有一些替代GDI的方法 写好工作,快速文本编辑器 WINAPI?我想要一些有用的东西 对于旧的Windows版本,例如XP。 我听说GDI很慢,也许有些东西 在撰写文本编辑器时更适合GDI? 也许有人知道这个目的是什么 正在使用错误的好文本编辑器?

1 个答案:

答案 0 :(得分:1)

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

您可以选择Uniscribe(USP10.DLL)。但是我不确定是否 是否依赖于GDI。它或多或少取代TextOut()和类似的GDI函数来支持正确不同的脚本系统,包括从右到左阅读,从左到右和从右到左的混合(如阿拉伯语与嵌入欧洲人名等。)

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