使用GDI绘制散点图太慢了

时间:2015-12-08 03:09:25

标签: c# gdi sharpdx slimdx

我正在GDI的帮助下绘制散点图。 但是,当有很多行时,绘制大约需要两秒钟。 我研究了使用SlimDX和SharpDX并使用他们的2D。 它只减少了一半的时间。有没有更好的工具可以用来加速绘图?我只是使用g.DrawLine。我还听说有一个工具可以让我在内存上绘制一个分散并将其放在屏幕上。如果您有想法,我们将不胜感激。谢谢。

1 个答案:

答案 0 :(得分:2)

  

[是]有哪些更好的工具可以用来加速绘图?

首先,使用g.DrawLines代替g.DrawLine。这意味着从用户代码到图形代码有一个转换,而不是每行一个转换。

其次,在图形对象中选择一个位图,绘制成图形对象,然后将位图写入显示。有关在位图上绘制线条的示例,请参阅how to draw a line on a image?。这意味着线条被绘制一次,然后刷新显示是一个快速Bit Blit

使用DirectX端口(例如SharpDX和SlimDX)是可能的,但可能过度杀伤,除非您正在处理极其复杂的散点图。这些(通常)更适合3D矢量或基于2D Bit Blit的图形。