XAML performance fundamentals (3-157)

Session animée par Kiran Kumar

On commence par une petite piqure de rappel sur ce que signifie la performance

  • Fluidité
  • Rapidité
  • Impression des utilisateurs

Ensuite on parle de ce qu’il faut savoir

  • Connaître le runtime
  • Connaître son budget (CPU ou temps de développement)
  • Utilisation de pattern (MVVM)

Rappel/présentation sur l’architecture de XAML et les différents threads qui le compose.

Description du cycle de vie d’une frame XAML.

Description du démarrage d’une application en XAML et de ce qui cause des ralentissements.

S’ensuit une démonstration de comment on peu diagnostiquer ce genre de soucis de démarrage et de parsing de xaml (utilisation de wprui et wpa avec un profil spécialisé pour l’analyse du XAML)

Rappels sur les animations dépendantes et indépendantes et que les animations dépendantes ralentissent sont soumises au CPU et non au GPU.

Nouvelles api de diagnostics : DebugSettings.EnableFrameRateCounter, DebugSetting.EnableRedrawRegions, DebugSettings.IsOverdrawHeatMapEnabled

Description du fonctionnement des animations de panning et pastes d’améliorations pour l’affichage des contenus virtualisés.

Présentation d’une nouvelle api GridView.ContainerContentChanging qui permet d’éviter le coût du databinding en donnant la main à l’utilisateur pour qu’il remplisse les éléments du GridView.

Démo diagnostic des problèmes d’animations et de panning.

On parle ensuite des médias et de la manière d’optimiser leurs performance.

Présentation des améliorations :

  • Démarrage plus rapide
  • Templates par défuts meilleurs
  • Support du XAML binaire
  • Databinding plus rapide
  • Utilisation mémoire inférieure
  • Grouping Panning 2x plus rapide
  • Nouvelle api pour les panels
  • Etc…

Comme l’année dernière Kiran Kumar a fait une belle session rentrant bien dans les détails du moteur de XAML et montrant les nouveautés du Windows Performance Analyser

John Thiriet

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s