[WPF] Performances

jdek Messages postés 22 Date d'inscription samedi 8 mars 2008 Statut Membre Dernière intervention 22 avril 2011 - 22 avril 2009 à 23:37
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 - 2 mai 2009 à 14:28
Bonsoir,
j'aimerais savoir s'il est possible, et si oui comment faire pour forcer la carte graphique à tourner en mode 3D lorsque j'exécute une application wpf qui utilise des animations (2D dans mon cas).
Ce que j'entends par mode 3D/2D d'une carte graphique, c'est la différence de fréquence de fonctionnement de la carte graphique, différence particulièrement importante sur les chipsets graphiques de pc portables (par exemple sur le mien : mode 2D : Core : 167 MHz, Mémoire : 100 MHz, mode 3D : Core : 600 MHz, Mémoire : 800 MHz. Donc vous imaginez la différence. J'ai pu l'observer en lançant un jeu 3D en même temps, ce qui rend les animations bien plus fluides (même avec le jeu ^^).

Je pense que si on utilise du rendu 3D sur la fenêtre wpf, windows demande à la carte graphique les performances max, mais pas lorsqu'il y a uniquement du rendu 2D.

J'espère que j'ai été clair.
Merci pour vos réponses

Jdek

3 réponses

nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
23 avril 2009 à 08:26
Salut,

J'ai pas d'idée, mais en WPF comme dans beaucoup de facon de programmer
il y a des best practices  et des astuces pour avoir des bonnes performances

regardes le blog de david catuhe http://www.catuhe.com/
Et ces sessions aux techdays 2008 et 2009

Une chose est sur il ne faut pas mixer wpf dans windows forms
car c'est ici le proc qui travaille et pas directx.

Apres tu as dans des outils de performances des objets WPF dans le SDK.

Il faut eviter les bitmaps effect (qui ne sont pas vectoriel)

La version 3.5 SP1 --> plus de performance sur WPF.

Espérant avoir guider un peu
mais j'ai pas d'info sur les fréquence de carte vidéo
0
jdek Messages postés 22 Date d'inscription samedi 8 mars 2008 Statut Membre Dernière intervention 22 avril 2011
1 mai 2009 à 23:56
Bonjour,

J'ai juste une remarque à faire à propos de ce problème de fluidité de l'animation : il ne se présente pas sur Vista ni sur Seven, alors que la fréquence de ma carte graphique est la même : celle du repos (Core : 167 MHz, Memory : 100 MHz). Le problème de fluidité est uniquement présent sur XP.
Pour être plus précis, l'animation consiste à redimensionner la fenêtre en appliquant une animation sur la propriété HeightProperty.  Ca donne un effet très sympathique, mais qui n'est peut être pas très apprécié par XP dans sa façon de gérer l'affichage de l'écran (je pense à un truc du style qu'il repaint une partie de l'écran proche de la fenêtre qui change de taille).  Peut être est ce la différence d'age entre XP et le WPF.
En tout cas, un bon point pour Vista (et Seven qui promet d'être un OS vraiment sympa) : il semble faire mieux fonctionner la technologie WPF.

Sinon pour te répondre, je n'utilise pas de bitmap effects, mais bien le framework 3.5 SP1, mais il est vrai qu'il serait intéressant de regarder la SDK pour optimiser les performances.  Mais pour ca il faudrait plutot que je prenne un vrai cours de WPF pour connaitre la meilleure façon de coder et de mieux comprendre la façon dont WPF utilise les ressources matérielles.
En tout cas merci pour ta réponse.
0
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
2 mai 2009 à 14:28
Oui,

La couche directx vista est plus optimisé pour faire du WPF que sur le XP.

http://blogs.msdn.com/tims/archive/2007/01/05/comparing-wpf-on-windows-vista-v-windows-xp.aspx
http://msdn.microsoft.com/fr-fr/library/cc656910.aspx

Il y a surement d'autres articles
mais déjà c'est deux articles peuvent ouvrir des pistes
0
Rejoignez-nous