【发布时间】:2016-04-10 09:59:00
【问题描述】:
我需要在 2D 位图上绘制很多小椭圆(c. 60 000)。根据我的经验,GDI+ 或 NGraphics 被证明对于这类任务非常慢。我希望能够达到至少 10 fps,这似乎并没有太大的野心,但我不知道如何。
由于视频游戏非常有效地完成这类事情,我很容易认为这是硬件加速的问题。但是我在另一个问题中看到 GDI+ 应该是 2D 加速的,所以也许还有其他我没有得到的东西。
我的问题不是关于闪烁或双缓冲。这实际上是一个纯粹的速度问题:在位图上绘制简单形状(像素、线条、椭圆)的最快方法是什么。
【问题讨论】:
-
你说的是每秒 60k * 10 帧 = 600k 椭圆吗?尝试使用 WPF,它将利用 DirectX..
-
是的,我说的是每秒 60 万个椭圆。这就是为什么我认为我需要使用 GPU 来完成这项任务,所以 DirectX 是一个好主意。谢谢
-
wpf 无法做到这一点,因为开销太大。它是直接加速的,但 cpu 仍然可以完成大部分工作。
标签: c# graphics gdi+ gdi hardware-acceleration