我有一個全屏應用程序,我希望能夠放大某些區域。關於縮放大場景的WPF性能
我的代碼工作正常,但我注意到當我靠近時,放大動畫(在父畫布上動畫ScaleTransform.ScaleX
和ScaleTransform.ScaleY
屬性)開始稍微下移,幀速率受到影響。
我不使用任何BitmapEffects或任何東西,理想情況下,我希望我的場景變得比現在更復雜。
場景相當大,1980x1024,這是一個要求,不能改變。
目前的佈局是這樣的:
<Canvas x:name="LayoutRoot">
<Canvas x:Name="ContainerCanvas">
<local:MyControl x:Name="c1" />
<!-- numerous or ther controls and elements that compose the scene -->
</Canvas>
</Canvas>
是放大在短短的動畫ContainerCanvas,這在燕鷗,擴展其子,其給出預期效果的RenderTransform
代碼。
但是,我想知道是否需要將ContainerCanvas換成ViewBox或類似的東西?我從來沒有真正使用ViewBox/Viewport控件在WPF之前,他們甚至可以幫助我在這裏?
平滑縮放是客戶端的一個巨大需求,我必須得到解決。
所有的想法,歡迎
非常感謝
馬克
其實我們並沒有使用圖像,我們屏幕上的所有內容都是包含像矩形,橢圓等基於標準矢量的形狀的用戶控件......(但我不認爲應該有相當多的漸變填充效果成爲一個問題) – Mark 2010-03-12 00:52:58
好的。這個問題聽起來很相似。在一天結束的時候,它是一個帶有內容的容器的RenderTransform。你是否發現,如果你放大,縮小和放大第二個縮放比較平滑的區域? – 2010-03-12 01:05:43
尚未實現重新縮放:)我很快會通過並讓你知道,我的懷疑是,它會更順暢,雖然 – Mark 2010-03-12 01:13:59