50 votes

Comment accélérer les programmes WPF?

J'aime la programmation avec et pour Windows Cadre de Présentation. La plupart du temps j'écris un navigateur comme les applications à l'aide de WPF et XAML.

Mais ce qui me gêne vraiment c'est la lenteur de WPF. Une page simple avec seulement quelques contrôles de charge assez vite, mais dès qu'une page est un tout petit petit peu plus complexes, comme contenant beaucoup de champs de saisie de données, un ou deux onglet de contrôles, et d'autres choses, il devient douloureuse.

Le chargement de la page peut prendre plus d'une seconde. Secondes, en effet, surtout sur les pas si vite ordinateurs (lire: les clients des ordinateurs), il peut prendre les âges.

Même avec l'évolution des valeurs sur la page. Tout à propos de l'INTERFACE utilisateur WPF est en quelque sorte sluggy.

C'est si méchant! Ils me donnent ce beau cadre, mais faire en sorte désespérément lent donc je vais devoir m'excuser auprès de nos clients tout le temps!

Ma Question:

  1. Comment voulez-vous accélérer WPF?
  2. Comment avez-vous le profil d'étranglement?
  3. Comment faites-vous face à la lenteur?

Depuis ce qui semble être un problème universel avec WPF, je suis à la recherche de conseils généraux, utile dans de nombreuses situations et des problèmes.

Quelques autres questions connexes:

37voto

Todd White Points 4257
  1. Comment voulez-vous accélérer WPF?

    Souvent, après l'aide de l'un des outils de profilage, il est évident que ce qui est à l'origine de mon goulets d'étranglement.

    • Si la mémoire est la question, alors je la virtualisation de mes données.
    • Si le temps de rendu est la question, alors je la virtualisation de contrôles ou de simplifier les modèles de contrôle lorsque cela est possible.
    • Si le temps de traitement est la question que j'ai essayer d'améliorer mon algorithme ou déplacer ce travail à un thread d'arrière-plan et de montrer un throbber dans mon interface utilisateur, tandis que le travail se passe.

  2. Comment avez-vous le profil d'étranglement?

  3. Comment faites-vous face à la lenteur?

    Le profilage et le counseling.

6voto

rudigrobler Points 8883

Installez SP1 ... Les charges de performances très cool augmentent pour WPF !!!

Lire la suite ici

Voici un exemple de deux améliorations apportées à SP1: Défilement différé et recyclage des éléments d'interface utilisateur !!!

5voto

Chris Valentine Points 15990

Je ne peux pas ajouter de commentaires, c'est pourquoi je poste une nouvelle réponse à cette question: j'ai trouvé cette vidéo du pdc09 qui donne quelques idées sur la manière de profiler les applications wpf et parce que cela m'a beaucoup aidé, je souhaite partager le lien:

Optimisation et analyse avancées des performances des applications WPF

4voto

Casper Andersen Points 174

Dd vous essayez d’utiliser le WPF PerfTool au lieu de celui de VS?

2voto

jezell Points 2430

WPF est destiné aux ordinateurs équipés de cartes graphiques modernes. Vos clients disposent-ils de cartes graphiques modernes capables d’exécuter Aero? Si vos clients ont des cartes graphiques plus anciennes, WPF aura recours à un rendu logiciel extrêmement lent comparé aux graphiques à accélération matérielle.

Vous voudrez peut-être aussi profiler votre application pour vous assurer que c'est WPF qui est la partie la plus lente. Il est possible qu'il y ait autre chose qui constitue en réalité le goulot d'étranglement.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X