GDI+非常缓慢,几乎完全是软件渲染,而GDI高度硬件加速。
GDI+是Graphics类在WinForms上使用的内容,它太慢了。
有人制作了一个.NET GDI库,这样我们就可以获得更快的速度吗?
[编辑] 许多人推荐OpenGL / DirectX。我要求客户端兼容性,特别是远程桌面。据我所知,远程桌面不能直接支持OGL / DirectX。 [/编辑]
GDI+非常缓慢,几乎完全是软件渲染,而GDI高度硬件加速。
GDI+是Graphics类在WinForms上使用的内容,它太慢了。
有人制作了一个.NET GDI库,这样我们就可以获得更快的速度吗?
[编辑] 许多人推荐OpenGL / DirectX。我要求客户端兼容性,特别是远程桌面。据我所知,远程桌面不能直接支持OGL / DirectX。 [/编辑]
GDI+中的文本渲染速度比GDI慢。微软在.NET 1.1之后意识到了这一点。
这就是为什么.NET 2.0包含了一个新的TextRenderer
类,它封装了GDI DrawText。它有两个静态方法:
在.NET 2.0中,所有的WinForm控件都被转换为使用TextRenderer
,而不是:
(前提是你关闭了UseCompatibleTextRendering
)
在GDI+中绘制位图也很慢,这就是为什么要使用CachedBitmap
。它绘制非常快。
CachedBitmap对象以针对特定设备进行优化的格式存储位图。要显示缓存的位图,请调用Graphics::DrawCachedBitmap方法。
graphics.DrawCachedBitmap(bitmap, 0, 0);
您可以尝试转向WPF技术。
我这样做是因为WinForms绘制速度慢。
这个转换非常困难,尤其对于像我这样老派的程序员。
但是在启动速度和RAM方面,WinForms无可匹敌。
WPF启动缓慢且占用大量RAM。