2011-01-14 24 views
7

我有問題,無論何時使用Windows Phone 7工具包中的頁面轉換,轉換非常緩慢,整個應用程序似乎已經陷入陷落。動畫是「口吃」。Windows Phone 7頁面轉換非常慢,使用工具包

是否有其他人遇到過這種情況? 我使用TransitionFrame類作爲RootFrame,並在頁面名爲.xaml我用這樣的代碼

<toolkit:TransitionService.NavigationInTransition> 
     <toolkit:NavigationInTransition> 
      <toolkit:NavigationInTransition.Backward> 
       <toolkit:TurnstileTransition Mode="BackwardIn"/> 
      </toolkit:NavigationInTransition.Backward> 
      <toolkit:NavigationInTransition.Forward> 
       <toolkit:SlideTransition Mode="SlideDownFadeOut" /> 
      </toolkit:NavigationInTransition.Forward> 
     </toolkit:NavigationInTransition> 
    </toolkit:TransitionService.NavigationInTransition> 
+0

這些口吃動畫也可以在PhoneToolkitSample中看到。當您多次點擊[查看選定的過渡]按鈕時,動畫不會每次運行同樣平滑。我想,這在設備上是一樣的......我會在明天測試。 – j00hi 2011-01-14 20:18:05

回答

9

我建議不要使用WP7 Toolkit Page Transition動畫。

如果激活性能計數器,您可以看到,只需將根框架更改爲WP7框架,填充率就會增加1.由於即使在最好的應用程序中填充率爲1.5+,建議的最大值也是2.5,我會說這很糟糕。

Telerik有一個WP7頁面轉換控件,您可能想要簽出。但說實話,我無法找到/編寫任何通用頁面轉換,從而提供良好的頁面翻轉效果。

+1

我現在嘗試直接在頁面的LayoutRoot容器(例如OnNavigatedTo方法)中應用工具包(TurnstileForwardIn等)中的Storyboard。現在動畫似乎運行非常順利!你認爲爲什麼這個工具包的性能很差?是否因爲該工具箱正在爲PhoneApplicationPage(或Frame?)製作動畫,並且在我編寫自己的動畫時,我可以使LayoutRoot容器動起來更快?還有一個問題:我如何激活這些性能計數器? – j00hi 2011-01-16 15:26:57

3

latest changeset包括一些過渡的性能改進。你可以試試看。

頁面上的內容也會影響性能。它包含很多嗎?或者任何可能由轉換觸發的事件/故事板?

+0

感謝您的鏈接。不幸的是,對於最新的變更集,它不會更好。我的網頁上沒有太多內容。基本上,只有一個ListBox在Loaded-eventhandler函數中用靜態數據填充。我在頁面上使用工具包和ControlTiltEffect - 就這些了。 – j00hi 2011-01-14 20:11:03

1

Silverlight工具包(8月11日)的新版本比舊版本更快!過渡動畫在點擊一個項目後立即開始。試試吧,最後你還必須更改其他庫(如Microsoft.Phone.Controls)在

C:\Program Files (x86)\Microsoft SDKs\Windows Phone\v7.1\Libraries\Silverlight 

發現工具包中可以找到:

C:\Program Files (x86)\Microsoft SDKs\Windows Phone\v7.1\Toolkit\Aug11 
1

Link也許會有幫助,

該框架使用背景刷顏色與每個 框架以及正在繪製的頁面一起繪製。

令人驚訝的是,它的背景顏色與背景背景相同,即 。如果選定的主題有 黑色背景,則在黑色背景上繪製黑色。或者,如果 主題具有淺色背景,則會在白色上繪製白色。

如果我們結合 TransitionFrame與事實,任何透明 不利於填充率的解決方案展現給我們做了不必要的工作這方面的知識。 我們只需要使TransitionFrame的背景透明

相關問題