Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Veranstalter: Building & Connecting Know-how 16.-17. Februar 2011, München Partner: Windows Phone 7: Silverlight != Silverlight.

Ähnliche Präsentationen


Präsentation zum Thema: "Veranstalter: Building & Connecting Know-how 16.-17. Februar 2011, München Partner: Windows Phone 7: Silverlight != Silverlight."—  Präsentation transkript:

1 Veranstalter: Building & Connecting Know-how Februar 2011, München Partner: Windows Phone 7: Silverlight != Silverlight

2 Zur Person Weblog: Mail:

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 ProgressBar Optimierungen – PerformanceProgressBar von Jeff Wilcox ceprogressbar/ 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 comparison 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 Februar 2011, München Partner: FRAGEN?

24 Wir sehen uns wieder! Konferenz speziell zu C – 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!

25 Veranstalter: Building & Connecting Know-how Februar 2011, München Partner: Hat Ihnen mein Vortrag gefallen? Ich freue mich auf Ihr Feedback!

26 Veranstalter: Building & Connecting Know-how Februar 2011, München Partner: Vielen Dank! Peter Nowak


Herunterladen ppt "Veranstalter: Building & Connecting Know-how 16.-17. Februar 2011, München Partner: Windows Phone 7: Silverlight != Silverlight."

Ähnliche Präsentationen


Google-Anzeigen