在這裏處理的情況:具有非常低的動畫幀速率
我有一個系列的主要成分列表框很多意見。列表框,其中一些內含大量數據,一些非常少。 目前,我有一個附加行爲,基本上只是檢測何時將新內容加載到容器中以查看這些視圖(a ContentPresenter
)並觸發一個簡單的XAML故事板,該容器將容器向左或向右偏移200px ,並且將不透明度降低到0%(在0ms),然後超過100ms,將不透明度恢復到100%,並將偏移量減小到0px,從而產生「滑入視圖」效果。現在
,這個問題:
這個動畫的幀率變化從平穩過渡到緊張的可怕的任何地方,以1幀,直到完成徹底的只是落後。 這幾乎肯定是由於它必須加載新視圖,渲染所有內容,甚至更進一步;在它們中加載數據的列表需要更多的渲染時間,然而在發生所有這些情況時,它試圖對其位置變化進行動畫處理,這似乎嚴重影響了動畫的性能。
它讓我震驚,由於在屏幕上移動一些像素簡單的東西是如此的圖形密集型爲WPF處理
我的問題:
是否有任何一種基本的最佳做法來處理WPF中的密集動畫以改善其性能或任何ki對於那些加起來可以提升性能的東西發生微小變化? 或者是WPF在動畫製作中非常糟糕,我們只需要處理它。
你是否在'ListView's中啓用了'Virtualization''?如果不想查看'VirtualizingStackPanel'。 – XAMlMAX
是的,他們都有,所以我的猜測是某些列表框項目的數據模型有時足夠複雜,即使只有幾個顯示足以減慢速度 – Logan
確保虛擬化在您的「ListView」上工作,我以前遇到過問題。你使用'ItemsSource'的普通Binding還是使用'CollectionViewSource'?你是否也可以發佈一個包含虛擬化的ListView的'XAML'? – XAMlMAX