我想以最快的方式绘制频繁使用的图形。如果我使用标准 C# 图形回调 (es.graphics.drawline),我这样做对吗?或者我应该使用不同的库?
图形.DrawLine https://msdn.microsoft.com/en-us/library/system.drawing.graphics.drawline%28v=vs.110%29.aspx是 GDI+ 调用。如果您使用 Windows 窗体并使用 System.Drawing 类进行绘图,则您使用的是 GDI+,它不是硬件加速的。要获得硬件加速,您需要使用 WPF 代替 WinForms 或使用 Direct3D/Direct2D 进行绘制。后两者(Direct3D/Direct2D)是基于 COM 的,因此您需要一个 .NET 包装器。 Microsoft 使用 Managed DirectX 包装了 Direct3D for .NET,随后使用了 XNA。两者(我相信)现在都已弃用。还有用于更新的 DirectX 库。
Edit:我刚刚从 @HansPassant 的评论中得知 GDI+ 是 2D 加速的。我认为这只适用于 GDI(而不是 GDI+),因为 GDI+ 可以处理诸如抗锯齿之类的事情(据我所知)2D 硬件无法做到。但显然我错了。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)