Diabe tkwi w szczegach Tworzenie wysokowydajnych aplikacji dla
Diabeł tkwi w szczegółach Tworzenie wysokowydajnych aplikacji dla Windows Phone Michał Jankowski Kamil Kowalski Starszy Inżynier Oprogramowania Tieto Poland
O nas
Cel sesji § Po sesji będziesz wiedział na co należy zwracać uwagę, przy pisaniu wydajnych aplikacji na Windows Phone 7
Plan prezentacji Krótki wstęp teoretyczny Przykłady, przykłady Dyskusja
Teoria
ść odn o ć d Cen a Pły dzi nność ała nia aw Nie z glą noś nal kcj o Fun Wy a kcj ysf a Sat Kryteria oceny aplikacji
Najlepsze praktyki § Optymalizacja to (prawie) zawsze pewnego rodzaju kompromis – koncentrujemy się na jednym aspekcie: szybkość działania, zużycie pamięci, rozmiar; kosztem pozostałych. § Szybkość działania aplikacji sprawdzamy na telefonie – emulator WP jest szybszy niż telefon. § Badając wydajność aplikacji stosujemy metody statystyczne – jednokrotne sprawdzenie szybkość działania nie jest miarodajne. § Do pomiarów wydajności stosujemy klasę Stop. Watch. § Kod pod szczególnym nadzorem – reguła 90 / 10, czyli: § 90% czasu działania aplikacji zależy od 10% jej kodu § Cel to znaleźć te 10% kodu i je zoptymalizować
Scenariusz 1 Konwersja obrazu na odcienie szarości
Studium przypadku § Konwersja obrazu na odcienie szarości metodą bazującą na luminescencji: F(RGB -> Y) = 0, 2125*czerwony + 0, 7151*zielony + 0, 0721*niebieski § Sposób badania wydajności: § § § warunki początkowe takie same dla każdego pomiaru, 1000 pomiarów, średnia arytmetyczna, odchylenie standardowe, testowane na różnych urządzeniach: § Emulator 512 MB, Lumia 800, HTC PRO, HTC Mozart, HTC Titan, LG-C 900.
Scenariusz 1 Demo
Podsumowanie optymalizacji Programiści przyzwyczaili się do wydajności platformy desktopowej. W przypadku urządzeń mobilnych trzeba zmienić sposób myślenia. • • Proste zmiany mogą wielokrotnie przyspieszyć działanie aplikacji. generral Średnie czasy wykonywania: Czas [ms] generral • • • generral 1 2 Emu 3 Lumia 4 Pro 5 Tit Moz 6 LG 7 Emulator 512 MB Lumia 800 HTC PRO HTC Mozart HTC Titan LG-C 900 77, 51 ms 298, 35 ms 321, 18 ms 328, 56 ms 278, 73 ms 338, 04 ms -> -> -> 5, 65 ms 21, 97 ms 29, 63 ms 29, 86 ms 21, 01 ms 30, 10 ms
Scenariusz 2 Wyszukiwanie kontaktów
Studium przypadku § Wyszukiwanie kontaktów poprzez asynchroniczną metodę WP SDK Search. Async a następnie tworzenie modelu do wykorzystania w aplikacji § Sposób badania wydajności: § § § warunki początkowe takie same dla każdego pomiaru – ponad 3000 kontaktów, 20 pomiarów, średnia arytmetyczna, odchylenie standardowe, testowane na różnych urządzeniach: § Lumia 800, HTC PRO, HTC Mozart, HTC Titan, LG-E 900.
Scenariusz 2 Demo
Podsumowanie optymalizacji Redefinicja problemu pozwala na znalezienie alternatywnych rozwiązań. Kod dostosowany do wydajności platformy. • • Analiza zmienności danych może być podstawą do zmiany sposobu myślenia. generral Czas [ms] generral Średnie czasy wykonywania: generral • • • generral 1 2 Lumia Pro Tit 3 Moz LG Lumia 800 HTC PRO HTC Mozart HTC Titan LG-E 900 14 111, 76 ms 18 790, 90 ms 19 051, 95 ms 14 123, 95 ms 18 827, 45 ms -> -> -> 501, 1 ms 585, 3 ms 507, 4 ms 602, 6 ms 612, 5 ms
Podsumowanie
Warto zapamiętać § Program należy testować na jak największej ilości telefonów § W momencie wyboru elementu do optymalizacji należy zastosować statystyczne podejście § Wydajność aplikacji powinna być ważniejsza niż czytelność kodu § Czasami warto zastanowić się nad zmianą definicji problemu: § Zamiast Math. Sqrt(x*x+y*y) > 10 użyć x*x+y*y > 100
Dyskusja § Materiały będą dostępne na stronie: § http: //www. jankowskimichal. pl/2012/10/mts-2012 -materialy
Wypełnij ankietę i wygraj nagrody! Organizatorzy MTS czytają wszystkie ankiety. Wystarczy 5 minut Twojego czasu na wypełnienie ankiety! Dzięki nim masz realny wpływ na konferencję oraz merytorykę i prelegentów kolejnego MTS. Masz szansę wygrać m. in. wejściówkę na MTS 2013 (25 x) oraz inne nagrody. Gdzie i jak? § Ankiety dostępne są online – na stronie konferencji (konferencjamts. pl) § Można je wypełnić od dziś, aż do 11 listopada 2012
Strefa Ekspertów (ATE) § Strefa ATE dostępna jest w strefie Partnerów § Zapraszamy wszystkich zainteresowanych poszerzeniem wiedzy § Eksperci będą do Państwa dyspozycji § Będziemy tam: § 29. 10. 2012 12. 30 – 13. 30 § 30. 10. 2012 17. 00 – 18. 00
© 2012 Microsoft Corporation. Wszelkie prawa zastrzeżone. Microsoft, Windows oraz inne nazwy produktów są lub mogą być znakami towarowymi lub zastrzeżonymi znakami towarowymi firmy Microsoft w Stanach Zjednoczonych i innych krajach. Zamieszczone informacje mają charakter wyłącznie informacyjny. FIRMA MICROSOFT NIE UDZIELA ŻADNYCH GWARANCJI (WYRAŻONYCH WPROST LUB DOMYŚLNIE), W TYM TAKŻE USTAWOWEJ RĘKOJMI ZA WADY FIZYCZNE I PRAWNE, CO DO INFORMACJI ZAWARTYCH W TEJ PREZENTACJI.
- Slides: 22