2 Performance et Optimisation des Applications Windows Phone 7 Mardi 8 Février 2011 Luc Vo Van Consultant.NET/UX Microsoft France Simon Ferquel Consultant.

Slides:



Advertisements
Présentations similaires
ORTHOGRAM PM 3 ou 4 Ecrire: « a » ou « à » Référentiel page 6
Advertisements

LES NOMBRES PREMIERS ET COMPOSÉS
[number 1-100].
Qualité du Premier Billot. 2 3 Défauts reliés à labattage.
1. Résumé 2 Présentation du créateur 3 Présentation du projet 4.
Page 1 Retour sur le e- tourisme. Page 2 Quelques chiffres…
1 Plus loin dans lutilisation de Windows Vista ©Yves Roger Cornil - 2 août
Les numéros
Cours MIAGE « Architectures Orientées Services » Henry Boccon-Gibod 1 Architectures Orientées Services Composants de Service Exemple pratique de développement.
Initiation et perfectionnement à lutilisation de la micro-informatique Publier des films sur DailyMotion (sur Mac et sur PC) ©Yves Roger Cornil
2 1. Vos droits en tant quusagers 3 1. Vos droits en tant quusagers (suite) 4.
1 7 Langues niveaux débutant à avancé. 2 Allemand.
PARTENARIAT ÉDUCATIF GRUNDTVIG PARTENARIAT ÉDUCATIF GRUNDTVIG REPERES COHESION CULTURELLE ET EXPANSION DES IDEES SUR LE TERRITOIRE EUROPEEN.
Mr: Lamloum Med LES NOMBRES PREMIERS ET COMPOSÉS Mr: Lamloum Med.
1 1 Séminaire « Lean en France » - 10 mai 2006 Le lean dans les services financiers : présentation dune communauté de pratiques.
1 Bienvenue! Ministère de lEmploi et de la Solidarité sociale Direction des ressources humaines La conduite dun projet de refonte dun intranet Pascale.
Microsoft Business Intelligence en action dans l'entreprise
Synchronisation et communication entre processus
Palais des congrès Paris 7, 8 et 9 février Mercredi 8 février juste avant daller manger Michel Rousseau – Consultant - Bewise Blend 4 pour les designers.
Projet Master 2 Nouvelles Technologies et Handicap
Gérard Gasganias Ingénieur Avant-Vente Microsoft France
1 Guide de lenseignant-concepteur Vincent Riff 27 mai 2003.
DEVELOPPEMENT DURABLE » « Penser global, agir local »
Les bons de formation Software Assurance
Projet poker 1/56. Introduction Présentation de léquipe Cadre du projet Enjeux Choix du sujet 2.
INDUSTRIE sa Tel : 0033(0) Fax : Projet: SKIP CAPSULES – v.1 Client: CARDIVAL HEALTH.
@SSR – Installation des applications eduscol.education.fr/securite - février 2007 © Ministère de l'Éducation nationale, de l'Enseignement supérieur et.
Connecteur Team Foundation Server Project Server
Visio 2010 : représentez et partagez encore plus simplement vos diagrammes et données
22 Intéropérabilité Silverlight & PHP Le 8 février 2010 GIACOPINO Cyril Directeur pôle technologie TEQUILARAPIDO.
DUMP GAUCHE INTERFERENCES AVEC BOITIERS IFS D.G. – Le – 1/56.
Tournoi de Flyball Bouin-Plumoison 2008 Tournoi de Flyball
Notre calendrier français MARS 2014
MAGIE Réalisé par Mons. RITTER J-P Le 24 octobre 2004.
Les Nombres 0 – 100 en français.
22 Web Platform Installer pour faciliter la mise en œuvre de votre plateforme Web 9 Février 2010 Alban OlierLaurent Bonnet
2 Silverlight et WPF en entreprise Mardi 8 Février 2011 Luc Vo Van Consultant.NET/UX Microsoft France Thomas Lebrun Consultant Access IT IdF.
SHA302 - Connectez vos données à SharePoint 2010 avec les Business Connectivity Services
Équipe 2626 Octobre 2011 Jean Lavoie ing. M.Sc.A.
Date.
Office 365 Administration et supervision du service
Office 365 Damien Caro Christian Fumey Cecilia Lentini
2 Développer, tester et déployer un site web avec WebMatrix (RIA101) Christine Dubois 9 février 2011.
22 PowerPivot révélé 09/02/2010 Alexis Sacksteder Directeur Technique Homsys Paris.
2 Introduction au SDK Windows Phone 7 Mardi 8 Février 2011 Pierre CAUCHOIS Relation avec les développeurs Microsoft Julien CORIOLAND Consultant / Formateur.
LA GESTION COLLABORATIVE DE PROJETS Grâce aux outils du Web /03/2011 Académie de Créteil - Nadine DUDRAGNE 1.
WPF 4 et MultiTouch Les doigts dans le code 8 février 2011
22 Intégrer Reporting Services SQL 2008 R2 à votre application 09/02/2010 Mathieu ROSPIDE – Winwise Julien TOURNADRE – Winwise.
2 Industrialisation des développements sur SQL Server avec Visual Studio 2010 Mardi 8 Février – 17h30 Karim Zegour – Winwise Michel Perfetti – MVP VS.
‘‘Open Data base Connectivity‘‘
Traitement de différentes préoccupations Le 28 octobre et 4 novembre 2010.
ECOLE DES HAUTES ETUDES COMMERCIALES MARKETING FONDAMENTAL
1/65 微距摄影 美丽的微距摄影 Encore une belle leçon de Macrophotographies venant du Soleil Levant Louis.
CALENDRIER-PLAYBOY 2020.
22 Atelier Expression Blend La collaboration Designer / Développeur Ambrosi Éric Client App. Dev. & Silverlight MVP Centre de formation Regart.net.
Outil de gestion des cartes grises
Les Chiffres Prêts?
Créez des applications Silverlight 3 David Rousset Relations Techniques avec les développeurs Microsoft France
22 Visual Studio Tools et Office 2010 Thomas LEBRUN Architecte Access It Sebastien BOVO Application Dev Consultant Microsoft France
1 Formation à l’usage éco-performant de votre pc 1 ère Partie.
Introduction à SolidWorks
Tirer le meilleur parti d’Office /10/ Vincent Bippus IT/OIS 07 octobre 2014.
Présentation Finale Spirit 07 / 03 / 2011 Groupe Vert 1 Equipe Verte.
Les parties du corps By Haru Mehra Le Frehindi 1Haru Mehra, DELF, DALF,CFP.
RDA 209 : WPF Toolkit et bonnes pratiques
Créez des applications Silverlight 3 David Rousset Relations Techniques avec les développeurs Microsoft France
2 Game = Screen(2) + Cloud(1); Mercredi 9 Février 2011 Fabien Tanquerel Consultant, DCube Anthony Guillaume Consultant,
The leading Workspace Performance solution
2 Alain METGE SOGETI
Transcription de la présentation:

2 Performance et Optimisation des Applications Windows Phone 7 Mardi 8 Février 2011 Luc Vo Van Consultant.NET/UX Microsoft France Simon Ferquel Consultant Access IT IdF

3 33 Microsoft Services: Un accompagnement global de nos clients Architecture & Planning Planification Conseil et Projets Déploiement et adoption Support Optimisation et Opération Evaluation Planification Développement Déploiement Stabilisation Opérations Support Support Premier Enterprise Strategy Consulting Services Division Services France Consultants 125 Technical Account Managers 190 Ingénieurs Support 17 Responsables de Mission 41 Partenaires référencés Division Services France Consultants 125 Technical Account Managers 190 Ingénieurs Support 17 Responsables de Mission 41 Partenaires référencés Division Services Monde pays couverts employés partenaires 44 langues parlées par nos ingénieurs Division Services Monde pays couverts employés partenaires 44 langues parlées par nos ingénieurs

4 44 Criticité du projet Maturité de la technologie Partenaires Notre engagement auprès de nos partenaires est : De leur assurer un transfert d’expertise, De leur apporter notre support sur les dernières technologies, De leur donner accès aux meilleures pratiques de mise en œuvre et de support. Nos clients et partenaires sont particulièrement satisfaits par… Le niveau d’engagement des consultants : 94% La gestion de l’équipe de projet : 92% Les compétences techniques des consultants : 91% La relation avec les équipes du client : 90% Nos clients et partenaires sont particulièrement satisfaits par… Le niveau d’engagement des consultants : 94% La gestion de l’équipe de projet : 92% Les compétences techniques des consultants : 91% La relation avec les équipes du client : 90% Notre positionnement est d’intervenir sur les projets critiques et les technologies récentes

5 Access It IdF en quelques mots… Société de services, conseil / expertise, et formation, exclusivement sur les technologies Microsoft 20+ collaborateurs spécialisés sur les techno MS, dont 11 MVP Interventions en mode : Conseil, expertise, coaching et formation Réalisation, au forfait ou en Assistance Technique.NET Plateforme Applicative Framework et langages.Net, AZURE, Silverlight, WPF/Surface, VS/TFS, Windows Phone 7,… SQL Server (SSIS, SQL, SSAS, SSRS), PowerPivot, SharePoint & on-line, Office 365,….NETCollab. BI

6 Agenda Hardware Silverlight sur Windows Phone 7 Outils et compteurs Spécificités de la CLR Windows Phone 7 Optimisations d’applications Silverlight

7 Hardware Processeur 1GHz Snapdragon Instructions ARM Résolution 480x800 GPU intégré

8 Silverlight Rendering PhoneApplicationPage LayoutRoot (Grid) TitleGrid textBlockPageTitle textBlockListTitle Content Grid Your content

9 Silverlight Threading 1 Thread UI 1 Thread de composition Plusieurs threads de travail (worker) Threads « utilisateurs » Threads de décodage de médias

10 Silverlight Threading Entrées (touch) Layout Measure et Arrange Code utilisateur Callbacks “par frame” Gestionaires d’évènements Converters… Animations non prises en charge par le GPU Animations de propriétés de type double RenderTransforms Opacity Perspective Transforms Clips rectangulaires Thread UIThread Composition

11 Silverlight Threading Thread UI Animations simples Thread de composition Composition et affichage

12 Démo Thread UI vs. Thread de composition

13 Emulateur Utilise le GPU du PC (DirectX 10 requis) Le CPU / GPU est souvent beaucoup plus puissant Utilise un seul coeur

14 Démo Différences entre émulateur et appareil

15 Outils et Compteurs

16 Compteur de Performance Application.Current.Host.Settings.EnableFrameRateCounter = true; 1.Thread de composition (fps) 2.Thread UI (fps) 3.Textures (kb) 4.# de surfaces 5.# de “IRT” 6.Fill Rate

17 FillRate Nombre de pixels inclus dans la totalité des textures passées au GPU BitmapCache augmente le Fill Rate En 800x480, fill rate == 1.0 Impact sur les performances lorsque le fill rate est trop important ( > 3 ) Fill rate < 2 jusqu’a 60 fps Fill rate > 4.5 jusqu’a 30 fps Fill rate > 6.5 jusqu’a 20 fps

18 Redraw Regions Application.Current.Host.Settings.EnableRedrawRegions = true;

19 Cache Visualizations Application.Current.Host.Settings.EnableCacheVisualization = true; Permet de voir le nombre de textures utilisées pour le rendu d’une zone de l’écran

20 Démo Utilisation des outils et résolution des problèmes

21 La CLR de Windows Phone 7 Basée sur celle du CF 3.5, estampillée 3.7 Dédiée aux appareils légers Séparation de la couche UI : XNA et Silverlight Même gestion de la mémoire et du JIT Assemblies réutilisables entre XNA et Silverlight

22 Garbage Collection

23 Garbage Collection Déclenché tous les 1 Mo alloué (non modifiable) En moyenne sur les appareils disponibles aujourd’hui, 1 Mo collecté = 10 ms. Dépend de la complexité du graphe Non générationnel, bloque le thread UI en Silverlight

24 byte[10000] Stack Garbage Collection

25 Garbage Collection Déclenché tous les 1 Mo alloué En moyenne sur les appareils disponibles aujourd’hui, 1 Mo collecté = 10 ms. Dépend de la complexité du graphe. Non générationnel, bloque le thread UI en Silverlight LINQ, voire le foreach, peuvent être gourmand, ne pas utiliser lors des manipulations à haute réactivité! Forcer = null sur les grosses structures peut hinter le GC

Utilisation mémoire

27 GC : XNA et Silverlight XNA basé sur un game loop Minimiser l’allocation dans Update et Draw, chacun est appelé 30 fois par seconde Attention à LINQ et aux foreach Bon exercice pour les développeurs Silverlight ! Silverlight basé sur de l’évènementiel Moins sensible au pauses liées au GC Profiter des interactions utilisateurs pour collecter Le feedback subtil améliore la performance perçue

28 Démo Mémoire et garbage collection

29 Just-in-Time compilation (JIT) Optimisé pour s’exécuter rapidement, plutôt que générer du code rapide JIT Sharing Les assemblies partagées ne sont jittées qu’une fois. Le code natif résultant peut être réutilisé directement

30 Silverlight Tips & Tricks

31 PerformanceProgressBar La ProgressBar en indeterminate par défaut est animée entièrement dans le thread UI  PerformanceProgressBar déporte l’animation sur le thread de composition Animation de chargement plus fluide (UX : important!) Peu ou pas de ralentissement sur les manipulations

32 LowProfileImageLoader Déporte le chargement et le décodage des images vers un worker thread Accessoirement, les JPEG sont décodés en hardware, mais les PNG en software. Exemples de candidats pour JPEG : fonds de Panorama, images dans ListBoxes… lowprofileimageloader-helps-the-windows-phone-7-ui-thread-stay-responsive- by-loading-images-in-the-background.aspx

33 Panorama et Pivot Panorama charge l’intégralité de ses PanoramaItems Pivot ne charge que l’élément en cours et le prochain Repousser le chargement des données ‘IsLoading’

34 Tombstoning Evitez ApplicationSettings pour le contenu complexe (qui sérialise en XML) BinarySerializer est la méthode de sérialisation la plus performante.

35 Démo Utilisation des contrôles optimisés

36 En synthèse Identifier les problèmes potentiels en amont Framerate, consommation mémoire, temps de chargement… Surveiller à chaque changement dans l’arbre visuel Framerate, Fill Rate, Dirty regions…

37 En synthèse Tester sur un appareil, TRES SOUVENT Incorporer les éléments de design le plus tôt possible Utiliser les contrôles et comportements optimisés

38 Des questions ? Blog de Simon Ferquel Readiculous! Blog de Luc Vo Van ap ShapeChase

39 MSDN et TechNet : l’essentiel des ressources techniques à portée de clic Portail administration et infrastructure pour informaticiens Portail de ressources technique pour développeurs