2013-05-17 20 views
0

在一個WPF應用程序中,我將一個VisualHost與Children集合一起使用。這個子集包含大約10000-30000個DrawingVisuals。WPF:快速清理VisualHost與成千上萬的兒童

繪製這些DrawingVisual約需600 ms。這對我來說可行,但通過Clear()清除Children集合大約需要120 ms。在我看來,與繪製時間相比,它非常緩慢。

有沒有人知道如何加快清除Children集合?

回答

0

跳過將視覺效果添加到可視化樹中,然後在OnRender()中進行渲染?在這裏,您可能會發現可以幫助您調整性能的信息:http://msdn.microsoft.com/en-us/magazine/dd483292.aspx

+0

感謝您的提示,但我不是UIElements,它包含一個OnRender()方法來覆蓋。我使用StreamGeometries並將它們直接渲染到DrawingContext中。 – Knasterbax