Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Lubbert Gegner Geändert vor über 10 Jahren
1
Veranstalter: Building & Connecting Know-how 16.-17. Februar 2011, München Partner: Windows Phone 7: Silverlight != Silverlight
2
Zur Person Weblog: http://blogs.compactframework.de/Peter.Nowak http://wp7buch.wordpress.com Twitter: @PeNoWiMo Mail: Peter.Nowak@hotmail.de
3
Agenda Wieso ist Silverlight != Silverlight? – Technische Hintergründe – Unterschiede zum großen Silverlight – Performance vs Architektur Tipps und Tricks für performantere Anwendungen
4
WP7: SL != SL It isn't 'Silverlight Lite', it isn't 'Silverlight Different', it's Silverlight. Scott Guthrie, MS Vice President, MIX 2010 Aus technischer Sicht falsch!!!
5
Silverlight für WP7 Silverlight für WP7 basiert auf Silverlight 3 – Silverlight 3 + x Silverlight.NET Framework Silverlight für WP7.NET Compact Framework 3.7
6
Das bietet Silverlight 3 nicht Gestenorientierte Steuerelemente Auswahl der Eingabemethoden / SIP-Support für TextBox Zugriff auf Gerätefunktionen – Chooser und Launcher Application Bar Cross-Domain Zugriff Out of the box Einen Renderthread!
7
Hardware Stetige, schnelle Netzwerkverbindung Starke CPU Unlimitierter Speicher Begrenzter Akku Akkuschonende CPU Limitierte / keine, langsame Netzwerkverbindung Begrenzte Darstellungsoberfläche
8
Weitere Probleme Verwöhnte Entwickler – Frameworks – Starke Hardware Over Engineering (http://it-republik.de/dotnet/artikel/Patternitis-3534.html)http://it-republik.de/dotnet/artikel/Patternitis-3534.html – Besp.: Benötige ich MVVM und Dependency Injection?
9
Lösungsmöglichkeiten Best Practices – Vorgehensmodell – Silverlight UI und Animationen Weitere Optimierungen Frameworks die Helfen
10
Vorgehensmodell Fragekatalog: – Ist das was ich tue das schnellstmögliche? – Kann ich es auf Größe / Geschwindigkeit hin optimieren? – Brauche ich dieses Pattern / dieses Framework wirklich? – Wird diese Animation wirklich benötigt?
11
Best Practices Laden von Daten verzögern Daten cachen, wo möglich – Bessere Geschwindigkeit – Ggfs. kein Netzwerk vorhanden Nur Daten darstellen, die benötigt werden – Ggfs Paging einsetzen für ListBoxen – Alternativ DetailsPage benutzen
12
UI Thread vs Render Thread UI Thread: Operationen werden auf der CPU ausgeführt CPU Arbeit verbraucht mehr Strom Aufgaben: Benutzereingaben Parsen von XAML Zeichnen visueller Elemente bei Instanziierung … Render Thread: Wird auf der GPU ausgeführt Stromsparender Aufgaben: Transparenz Skalierung Rotation Verschiebung Projektion
13
Grafiken PNG vs. JPEG vs. BMP – JPG schnelle als PNG beim Laden durch den fehlenden Alphakanal – BMP generell zu groß Grafiken nach Möglichkeit direkt in der Zielgröße verwenden Vektor- vs. Bitmapgrafik – Größe vs Geschwindigkeit – Skalierung Cachen von Netzwerkgrafiken
14
Steuerelemente ListBox Optimierungen – DeferredLoadListBox & LowProfileImageLoader http://bit.ly/ajnDchhttp://bit.ly/ajnDch ProgressBar Optimierungen – PerformanceProgressBar von Jeff Wilcox http://www.jeff.wilcox.name/2010/08/performan ceprogressbar/ http://www.jeff.wilcox.name/2010/08/performan ceprogressbar/ Verlagert die Arbeit vom UI Thread in den Render Thread
15
Steuerelemente Pivot ist performanter als Panorama Visibility vs. Opacity – Opacity ist schneller, verbraucht jedoch mehr Speicher DataTemplates sollten feste Größen besitzen Templateerweiterungen vermeiden, wo möglich
16
Datenreduktion Je weniger Daten verarbeitet werden, desto höher ist die Geschwindigkeit – Netzwerk – Verarbeitungsgeschwindigkeit schneller XML JSONBinaryDataContract
17
Datenreduktion Untersuchungen von Jevgeni Tšaikin http://www.eugenedotnet.com/2010/12/windows-phone-7-serialization- comparison http://www.eugenedotnet.com/2010/12/windows-phone-7-serialization- comparison
18
Datenreduktion
19
Kombination mit ZIP möglich Nachteile: – Interoperabilität sinkt – Lesbarkeit wird verringert
20
Assemblygröße Content- vs Ressource-Dateien – Content lädt schneller – Anwendungen laden schneller Assemblies ggfs. splitten, wenn diese zu groß werden – Satellitenassemblies werden nur bei Bedarf nachgeladen
21
Weitere Tipps & Tricks Konstruktor vs. Loaded-Ereignis – Verlagern von Code in das Loaded-Ereignis, wo sinnvoll – Alernativ LayoutUpdated-Ereignis Quellcode schneller als XAML – XAML muss erst geparst werden! Datenbindung langsamer als direktes zuweisen DispatcherTimer nur, wenn nötig Page Stacking vermeiden
22
Zusammenfassung Silverlight / Silverlight für WP7 sind unterschiedlich Hardwareplattform erfordert ein Umdenken Performance != Komfort für den Entwickler Optimierung – Planung – Steuerelemente – Datenreduktion – Tipps & Tricks
23
Veranstalter: Building & Connecting Know-how 16.-17. Februar 2011, München Partner: FRAGEN?
24
Wir sehen uns wieder! Konferenz speziell zu C++ 05. – 06. Mai 2011, direkt am Chiemsee cpp.ADC2011.decpp.ADC2011.de Trainings und Events der ppedv Mehr als 100 verschiedene Trainings auf Microsoft-Technologien spezialisiert 11 Standorte in D & AT Maßgeschneiderte Trainings direkt bei Ihnen vor Ort! www.ppedv.de
25
Veranstalter: Building & Connecting Know-how 16.-17. Februar 2011, München Partner: Hat Ihnen mein Vortrag gefallen? Ich freue mich auf Ihr Feedback!
26
Veranstalter: Building & Connecting Know-how 16.-17. Februar 2011, München Partner: Vielen Dank! Peter Nowak
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.