analyse et optimisation des performances des applications windows phone 7.5
Post on 07-Jul-2015
183 Views
Preview:
DESCRIPTION
TRANSCRIPT
palais des
congrès
Paris
7, 8 et 9
février 2012
7 février 2012
Charlotte Gaidon & Jérémy AllesTHALES Services Grenoble
Analyse et optimisation
des performances des
applications Windows
Phone
Charlotte Gaidon
Formatrice WPF / SL
charlotte.gaidon@gmail.com
Jérémy Alles
MVP Client App Dev / WPF Disciples
jeremy.alles@gmail.com
@jalpf
www.japf.fr
THALES
Cœur de métier : applications industrielles
Agence de 200 collaborateurs à Grenoble
Pôle d’expertise sur les technologies Microsoft
Présentation
@nutchad
Vous voulez développer une appli Windows Phone ? Inscrivez-vous !
Profitez d’un programme d’accompagnement pour développeurs, à la carte et sans engagement
– Un guide vous contacte et vous accompagne personnellement
– Il met à votre disposition des ressources : accès gratuits* Marketplace, prêts/dons* de téléphone…
– Il vous propose du coaching technique et design
– Il vous aide à rendre visible votre application en ligne et à des événements
*Dans la limite des quantités disponibles
La certification…
5 20 90s
bit.ly/techdays12_certif
Temps de démarrage Temps de réactivité Mémoire max
s Mo
Agenda
Application de test
Device vs Emulateur
Nos amis les threads
Outils
Compteurs de performance
Profiler de Visual Studio
Bonnes pratiques
BitmapCache & Compositor
Visibility vs Opacity
Médias
Perception & Réalité
Conclusion
www.2day-wp7.com
DEMO
Device vs Emulateur
Emulateur vs Device
4,2
1.63.1
7.26.4 6.3
10.2
7.3
9.4
Lancement Sauvegarde Affichage
Emulateur Lumia 800 Omnia 7
Nos amis les threads
Silverlight
animationsinput
dispatch parsingnetworking dispatch
OS interoplayoutrasterize binding
Background Thread
User Interface Thread
Windows Phone
User Interface Thread
Background Thread
Compositor Thread
dispatch parsingnetworking dispatch
rasterize binding
primitive animations
touch OS interoplayout
composite onto back buffer
7.07.5
Mango
Touch Thread
animations
Outils
Compteurs de performance
Surface counter
UI thread frame rate
Texture memory usage
Composition thread frame
rate
Screen fill rate counter
Intermediate surface counter
Mémoire vidéo utilisée
pour les textures
30 45 60
15 30 60
0 2 3
Surfaces passées au
GPUSurfaces intermédiaires
créées pour la
composition
DEMO
Compteurs de performance
DEMO
Suivi consommation mémoire en temps-
réel
bit.ly/techdays12_memoire
Nouvel outil apporté par Mango
Entièrement intégré à Visual Studio
Cibles
Frame rate
CPU
Mémoire
Médias
GC
Profiler de Visual Studio 2010
public void DoWork() { for (int i = 0; i < 100; i++){ // calcul...
}
var result = ComputeResult(); }
incl
usi
ve
excl
usi
ve
DEMO
Analyse de la mémoire avec le profiler
Penser à se désabonner des events
Attention aux délégués anonymes
Le GC bloque le thread UI
Bilan profiler mémoire
DEMO
Analyse de la performance avec le
profiler
Arbre Visuel
Avant : total = 29 / profondeur = 8
Après : total = 16 / profondeur = 4
Bilan profiler (1)
Binding & Visibility
Ne pas surcharger le thread graphique
Bilan profiler (2)
Bonnes pratiques
Contrôle «PivotIndicator »
1 rectangle dont on anime la position
BitmapCache / Compositor
DEMO
BitmapCache + Compositor
Visibility (Collapsed Visible)
compromis temps / mémoire
Opacity (0 1)
à combiner avec BitmapCache
Cacher par opacité ?
bit.ly/techdays12_hiding
DEMO
Visibility vs Opacity
Format : jpg ou png ?
Bonne résolution !
XAML vs image…
CreateOptions="BackgroundCreation"
BuildAction = Content
Bien gérer les images
DEMO
« Please wait... »
Toujours montrer de l’activité à l’utilisateur
(Performance)ProgressBar
SplashScreen animé
Tilt effect
Transition entre les pages
…
Performance & Perception
Limiter la taille des assemblies
Créer les visuels quand on a besoin
Virtualisation UI
Optimiser vos données
Virtualisation DATA
Optimisation LongListSelector
Vidéo fun
Mais aussi… (1)
bit.ly/techdays12_LLS
bit.ly/techdays12_smokebyWP
On adore C# Async
Et encore… (2)
Conclusion
Tester sur un device en conditions réelles
Utiliser les outils et les spécificités de la plateforme
« Less is more »
Merci
Pierre Cauchois (Microsoft)
Jeff Wilcox (Microsoft)
Rahim Zaknoun (Nokia)
Conclusion
Chaque semaine, les
DevCampsALM, Azure, Windows Phone, HTML5, OpenDatahttp://msdn.microsoft.com/fr-fr/devcamp
Téléchargement, ressources
et toolkits : RdV sur MSDNhttp://msdn.microsoft.com/fr-fr/
Les offres à connaître90 jours d’essai gratuit de Windows
Azure
www.windowsazure.fr
Jusqu’à 35% de réduction sur Visual
Studio Pro, avec l’abonnement MSDN
www.visualstudio.fr
Pour aller plus loin
10
février
2012
Live
Meeting
Open Data - Développer des applications riches avec le
protocole Open Data
16
février
2012
Live
Meeting
Azure series - Développer des applications sociales sur
la plateforme Windows Azure
17
février
2012
Live
Meeting
Comprendre le canvas avec Galactic et la librairie
three.js
21
février
2012
Live
Meeting
La production automatisée de code avec CodeFluent
Entities
2 mars
2012
Live
Meeting
Comprendre et mettre en oeuvre le toolkit Azure pour
Windows Phone 7, iOS et Android
6 mars
2012
Live
MeetingNuget et ALM
9 mars
2012
Live
MeetingKinect - Bien gérer la vie de son capteur
13 mars
2012
Live
MeetingSharepoint series - Automatisation des tests
14 mars
2012
Live
Meeting
TFS Health Check - vérifier la bonne santé de votre
plateforme de développement
15 mars
2012
Live
Meeting
Azure series - Développer pour les téléphones, les
tablettes et le cloud avec Visual Studio 2010
16 mars
2012
Live
Meeting
Applications METRO design - Désossage en règle d'un
template METRO javascript
20 mars
2012
Live
Meeting
Retour d'expérience LightSwitch, Optimisation de
l'accès aux données, Intégration Silverlight
23 mars
2012
Live
Meeting
OAuth - la clé de l'utilisation des réseaux sociaux dans
votre application
Prochaines sessions des Dev Camps
Charlotte Gaidon
charlotte.gaidon@gmail.com
@nutchad
Jérémy Alles
jeremy.alles@gmail.com
@jalpf
www.japf.fr
Bientôt disponible : www.2day-wp7.fr
Merci ! Questions ?
top related