我们有一个老化的.NET Windows桌面海洋导航应用程序,它可以对S-57海洋矢量图(地图),船只,预测变量和各种导航对象(如路线)进行一些中等复杂的渲染。渲染很久以前就用System.Drawing.Graphics
实现了。
在某些情况下,绘图会变得非常慢。我们使用VS2013探查器和dotTrace探查器来优化代码中明显的热点。剩余时间用于Graphics.DrawLines
,Graphics.FillPolygon
等方法
长期来看,渲染需要重新实现或移植到硬件加速的图形API。
Direct2D或OpenGL是否存在与System.Drawing.Graphics
具有相同接口的任何类型的(MS或第三方)包装器。这是一个与Graphics
具有相同或几乎相同的公共接口的类,但是使用DirectX / OpenGL /其他而不是GDI +实现?
答案 0 :(得分:1)
我看了,但没有发现我们想要的任何东西。
我们发现的最近的加速库是Win2D。 https://github.com/Microsoft/Win2D
使用Win2D的主要警告是它主要在Windows 10上受支持。它是在Windows 8天内创建的,但即使这被认为是传统。