WPF Canvas性能问题

时间:2012-12-17 21:27:16

标签: wpf performance canvas

首先请允许我提及我在WPF中查看过很多很多很多很多文章和论坛。我意识到这将接近另一篇文章的转发,但请耐心等待。

首先,我在WPF中创建一个2D CAD程序。最初我的想法是使用Shape对象并使用内置命中测试/等。这对于性能来说还不够好,因为我需要在屏幕上显示超过5000行/弧。

以下是我尝试过的不同内容:

  • 使用Shape对象并将它们作为子对象添加到画布

  • 覆盖Canvas的OnRender方法并使用DrawingContext

  • 直接创建VisualHost并使用DrawingVisuals,仅更新 当DrawingVisual对象发生变化时。

在每种情况下,我的命运几乎相同:在大约2000行时,运动开始拖延。具体来说,我可以选择一组线并告诉它们移动。它们会对鼠标移动做出反应(如在大多数CAD程序中)。等待这些物体赶上来有相当大的滞后。

我在这里不知所措。我已经阅读了我能找到的每篇文章,但仍未找到解决方案。我的下一个选择是回到GDI +来完成我需要的东西,但如果可能的话,我正在寻找WPF解决方案。

提前感谢您提供的任何帮助。

0 个答案:

没有答案