2009-11-06 68 views
0

我在ScrollViewer內部的一個大型Rectangle上有一個簡單的淡入淡出效果,當我將窗口大小增加到特定大小時,我注意到性能明顯下降。Wpf動畫性能突然下降

  1. 分辨率:1650x1256 - 仍然感覺活潑和流暢
  2. 分辨率(50和60之間的幀率):1820x1256 - 口吃,是幾乎無法使用
(7和15之間的幀率)

什麼驚喜我認爲,表現似乎不是線性下降,而是突然下降。

同樣使用Wpf Performance Tool不會顯示任何軟件渲染,而且當動畫運行時,我的CPU似乎並沒有太多的工作。

我想了解這個原因,任何提示將不勝感激。

回答

3

另一種可能是您的分辨率用盡了專用視頻內存,因此DirectX在每幀上在視頻內存和主系統內存之間傳輸大量數據。

有沒有什麼辦法可以嘗試使用不同的顯卡或具有更多內存的顯卡來查看問題是否改變?

此外,您的GPU是否有辦法配置多少系統RAM保留爲視頻內存?有些人會。

+0

經過進一步測試,似乎是這樣。除了更新視頻內存之外,我不認爲有任何解決方案。 – 2010-07-22 04:16:58

1

我的猜測是,您在這個時候GPU內存不足,所以DirectX會退回到軟件渲染。

當你說一個「視口」,你的意思是一個ViewPort3D,或者你的意思是一個Viewbox?如果它是一個Viewport3D,動畫真的需要3D處理嗎?如果沒有,您可以使用2D並使用轉換來模擬Flash應用程序必須執行的3D操作。

+0

對不起,我的意思是一個ScrollViewer - 我沒有使用任何3D功能;有沒有一種方法可以看到它是否下降到軟件渲染? – 2009-11-06 06:01:46

+0

將嘗試使用穿孔器,看看我能否找到任何東西。 – 2009-11-06 06:05:50

+0

據我所知,在Wpf性能工具中它不會回退到軟件渲染。 – 2009-11-06 06:12:06