c#本身是否使用GPU来处理图形?



我想以最快的方式绘制大量使用的图形。如果我使用标准的c#图形回调(.graphics.drawline),我做得对吗?还是使用不同的库?

图片。DrawLine是一个GDI+调用。如果你用的是Windows窗体,用系统绘图。绘图类,你使用GDI+,它不是硬件加速的。为了获得硬件加速,你需要使用WPF代替WinForms或使用Direct3D/Direct2D绘图。后两个(Direct3D/Direct2D)是基于com的,所以你需要一个。net包装器。微软用Managed DirectX和XNA包装了。net的Direct3D。这两种(我相信)现在都不推荐了。也有第三方的DirectX库包装器是最新的。

编辑:我刚从@HansPassant的评论中得知GDI+是2D加速的。我认为这只适用于GDI(而不是GDI+),因为GDI+可以处理像抗锯齿这样的事情,而这是2D硬件无法做到的。但显然我错了。

最新更新