1

我目前正在开展一个项目,以显示 Gerber 文件的 2d 图形表示。该函数从列表中绘制每个元素,在我当前的测试文件中可能有大约 50,000 个形状。

我在系统绘图命名空间中使用绘图函数的初始方法,我认为它使用 GDI+,并渲染到屏幕外位图,但被证明太慢,特别是在每次用户放大或移动图像时都必须重新绘制位图时。

然后我希望在 slim dx 库中使用直接 2d,但这实际上速度较慢,这似乎不正确(任何人都可以对此提供任何见解吗???我制作了一个测试文件,在随机位置绘制 1000000 个椭圆形状进行测试,并且可以/如果我有时间可以上传)

我只是在寻找下一步的想法。我想知道是否应该考虑使用direct3d11 而不是direct2d。有人推荐XNA,但我想更多的是游戏设计。

任何想法都将受到欢迎...

缺口

4

1 回答 1

0

您应该做的第一件事是仅绘制可见对象。不要尝试绘制屏幕之外的任何内容。这将限制需要绘制的形状数量。

如果形状列表不经常更改,您可以在位图中绘制它们,然后仅缩放/缩放/平移位图。这样,您就不需要每次都绘制形状。

另一种技术是通过使用双缓冲使用户体验更流畅,而不是真正更快。http://msdn.microsoft.com/en-us/library/b367a457.aspx

GDI+ 应该足够快。

于 2012-08-21T18:51:28.433 回答