2009-12-06 99 views
4

我一直試圖圍繞1000條線添加到Canvas中進行動畫設置,並且對於動畫根本不可行的延伸速度非常緩慢。起初我以爲這可能是因爲所有的計算,但後來我嘗試了一個非常簡單的實驗。 我生成了大約1000條隨機線,我嘗試使用PointAnimations將它們移動到新的隨機座標。我已經基本上在我能找到的每個操作系統/硬件組合上運行這個程序,而且我甚至不能每秒獲得超過4幀。WPF呆滯的渲染/動畫性能?

源(以及一些詳細信息)可以在http://ali.shiravi.com/index.php/wpf-sluggish-rendering-performance/

找到

有沒有人有這個解決方案的任何?這是真的太難從WPF要求?

回答

2

下面是我如何處理這種情況。不要嘗試單獨移動可見線條,只是重新繪製整個集合,但將其繪製到位圖,然後將其塊轉移到可見窗口。

如果您直接重畫1000行到可見窗口,可能需要10-100毫秒,並且您可能會看到閃爍。但是,如果你繪製一個內存位圖,它可能需要大致相同的時間,但它不會明顯閃爍,因爲塊傳輸到屏幕非常快。