CBe*_*ent 8 c# wpf gdi+ slimdx
我是一个团队的一员,该团队创建了一个工具来查看C#/ WPF中非常大且互连的图形并与之交互.查看图形并与图形交互是通过一个自定义控件完成的,该控件接受一组DrawingVisual并在画布上显示它们.图中的节点可能具有使用我们的编辑器创建的自定义形状.当前的控制工作非常好,并且与我们的程序相当,但在考虑更大的图形(20,000多个节点和大量连接)时,存在对性能的合理担忧.
经过一些研究后,似乎有两种方法:
鉴于这两种极为不同的方法,哪种方法最好考虑:
你会使用哪种方法?为什么?
编辑:
看起来类似的问题被问到但没有回答.
我使用GDI作为我的制图应用程序.虽然GDI +比DirectX慢,但我发现有很多东西和技巧可以用来加快速度.在绘制数据之前,大量的CPU用于准备数据,因此GDI不应该是那里唯一的瓶颈.
需要注意的事项(这些通用也适用于其他图形引擎):
Pen
,Brush
等创建这些原语是昂贵的.Graphics
对象设置可以降低质量.用户停止平移后,以高质量绘制场景.另一件事:我没有使用过SlimDX,但我确实尝试过Direct2D(我指的是Microsoft.WindowsAPICodePack.DirectX.Direct2D1
).在我的情况下,性能比GDI +快得多,但我在渲染位图方面遇到了一些问题,而且没有时间找到合适的解决方案.
让我尝试列出每种方法的优缺点 - 这也许会让您对使用哪种方法有所了解。
GDI 优点
GDI 缺点
SlimDX 优点
SlimDX 缺点
也许还有更多我忘记放在这里,但也许这些对初学者有用?
-A。
归档时间: |
|
查看次数: |
13059 次 |
最近记录: |