2010-07-12 17 views
2

J'ai implémenté le zoom et le panoramique dans mon application WPF en utilisant un RenderTranform combinant mise à l'échelle et traductions.Problème de performance lors de l'application d'un RenderTransform à un Viewport3d dans WPF

Tout est peachy avec des bitmaps, du texte, des chemins graphiques, des formes et plus. Dès que je mets un viewport3d dans l'arbre visuel et que je fais un zoom sur l'image, les performances tombent à des niveaux terribles (non interactifs!).

Des suggestions?

J'ai déjà lu cette page http://msdn.microsoft.com/en-us/library/bb613553.aspx et j'ai suivi toutes les recommandations applicables à mon application. Cela m'a permis de zoomer un peu plus en profondeur dans la vue mais pas assez ...

Répondre

2

J'ai résolu le problème en utilisant la mise en cache.

je dû placer le Viewport3D dans une toile et utilisez le code suivant:

CacheMode = new BitmapCache() 
{ EnableClearType = true, RenderAtScale = 1, SnapsToDevicePixels = true }, 

Faire la même chose sur la fenêtre elle-même ne fonctionne pas ...

+0

Utiliser 'BitmapCache' amélioré mes performances en appliquant 'RenderTransform' de manière drastique. Fonctionne également sur Windows Phone. –