SlideShare a Scribd company logo
1 of 47
Производительность и энергопотребление мобильных приложений Владимир Колесников Microsoft @vladkol,  vladkol@microsoft.com
Производительность и энергопотребление ,[object Object]
Потоковая модель
Многозадачность
Состояние
Потребители,[object Object]
Архитектура с высоты птичьего полёта Cloud Integration Services App Model UI Model Software Architecture Hardware Foundation
Cloud Integration Services App Model UI Model Software Architecture Hardware Foundation
Железо Capacitive touch 4 or more contact points 800  Sensors A-GPS, Accelerometer, Compass, Light, Proximity, Gyro Camera 5 mega pixels or more Multimedia Common detailed specs, Codec  acceleration Memory 256MB RAM or more, 8GB Flash or more GPU DirectX 9 acceleration CPU Qualcomm  MSM7x30, MSM8x55  800Mhz or higher Hardware buttons | Back, Start, Search 480
Cloud Integration Services App Model UI Model Software Architecture Hardware Foundation
Архитектура подсистемы приложений Applications Your App UI and logic Frameworks HTML5/JavaScript Silverlight and XNA User data Structured data CLR App Model UI Model Cloud Integration App management Licensing Chamber isolation Software updatesData sharing Shell frame  Session manager Direct3D Compositor Xbox LIVE Bing Location Push notifications Windows Live ID Kernel Hardware BSP Security Networking Storage A-GPS	Accelerometer	Gyro         Compass	   Light	   Proximity Media	Wi-Fi		Radio	Graphics  Hardware Foundation
Платформа приложений - Framework Windows Phone Frameworks Launchers & Choosers Windows Phone Controls Camera Device Integration MultiTasking Structured Data PhoneApplicationPage PushNotification WebBrowserControl Sensors PhoneApplicationFrame Silverlight Presentation and Media XNA Frameworks for Games Controls Drawing IsolatedStorage Drawing GamerServices Silverlight Integration Silverlight 4.0 Media Graphics Navigation Shapes Markup Audio Media Content Input Application Object Common Base Class Library Globalization Reflection IO Resources Text Location Runtime Diagnostics Net Sockets Configuration Collections ComponentModel Security Threading ServiceModel Linq
Cloud Integration Services App Model UI Model Software Architecture Hardware Foundation
Как это работает
Модель среды исполнения App Domain XNA Game Object Silverlight Application Object AGENT Frameworks Silverlight XNA HTML5/JavaScript Хост-процесс для приложений CLR App Model Host App Model UI Model Cloud Integration «Песочница» для каждого приложения A-GPS   Accelerometer   Gyro           Compass     Light         Proximity Media   Wi-Fi	  Radio          Graphics Xbox LIVE Bing Location Push notifications Windows Live ID App management Licensing Chamber isolation Software updates Shell frame  Session manager Direct3D Compositor Каждое приложение работает в изолированной среде Kernel Hardware BSP Security Networking Storage Весь код – managed, что позволяет легко верифицировать – первый заслон для аттак Hardware Foundation Framework отвечает за взаимодействияс app-моделью, UI-моделью и «телефоном»
Metro и контентно-ориентированная модель
Контентно-ориентированная модель: проблемы Your Web Service Custom Web Service Existing Web Services Location Service Microsoft Services phone storage hardware Notification Service
Как это работает app storage Web Service sync agent power monitor resource manager task scheduler connection manager
Структурированное хранилище (БД) и ввод/вывод app folder hardware
Структурированное хранилище в Mango Web Service app agent RO LINQ RW app folder hardware
Приложения и изоляция данных телефона
Mango: запросы к данным телефона RO LINQ RW Data Sharing Surface app folder phone storage process boundary
User Experience и многозадачность
Perceptionis reality Photo by andrewarchy
Что такое мультизадачность Красивый UI Используйте телефон по максимуму Не заставляйте меня ждать - +
Подходы к многозадачности «Честная» и прожорливая Работаем, пока можем Система сложных правил выгрузки приложений Desktop, Windows Mobile, Android Мнимая и экономная Приложение выгружается при деактивации UI Ключевой фактор – сохранение состояния Ранние iPhone, Windows Phone 7
Подходы к многозадачности Умная Похожа на мнимую Фоновые агенты iPhone 4, Windows Phone codename “Mango” Возможны уведомления из агентов в приложения
Мультизадачность в Windows Phone Мультизадачность Быстрое переключение Быстрое восстановление
Загружено иливосстановлено Приложение в памяти, ресурсы «отключены», потоки приостановлены Tombstoned Автоматическое сохранение состояния Жизненный цикл
Мультизадачность: варианты
Что могут Background Agents Нельзя Можно ,[object Object]
Toast
Местоположение
Сеть
Файлы
БД
Аудио (через спец. агентов)
…
Показывать UI
XNA
Микрофон и камера
Сенсоры,[object Object]
Сохраняем UX удобным Плавность 60 кадров в секунду Качественное воспроизведение сложного медиа Hardware-акселерация Минимизация деградации производительности со временем Изоляция и меры по экономии батареи Управление состоянием Память и процессор
Важно: система знает, как устроен UI Страница Визуальное состояние Данные страницы и приложения, навигация Состояние данных Навигационный стек, данные страницы и приложения сохраняются для быстрого восстановления
Потоковая модель на десктопах layout input rasterize binding animations OS interop User Interface Thread parsing networking dispatch dispatch Background Thread
Текущая потоковая модель Windows Phone composite onto back buffer primitive animations Compositor Thread touch rasterize binding OS interop layout User Interface Thread parsing networking dispatch dispatch Background Thread
Windows Phone codename “Mango” touch composite onto back buffer primitive animations Compositor Thread rasterize binding OS interop layout User Interface Thread parsing networking dispatch dispatch Background Thread

More Related Content

Viewers also liked

Dmitry Zavalishin. Successful it-project - where can it fail
Dmitry Zavalishin. Successful it-project - where can it failDmitry Zavalishin. Successful it-project - where can it fail
Dmitry Zavalishin. Successful it-project - where can it failAndrew Mayorov
 
Синяя Борода. История одного проекта.
Синяя Борода. История одного проекта.Синяя Борода. История одного проекта.
Синяя Борода. История одного проекта.Andrew Mayorov
 
Как сделать интернет-сайт на SharePoint и не передумать на полпути
Как сделать интернет-сайт на SharePoint и не передумать на полпутиКак сделать интернет-сайт на SharePoint и не передумать на полпути
Как сделать интернет-сайт на SharePoint и не передумать на полпутиAndrew Mayorov
 
Roman Zdebskiy - Client vs. Browser
Roman Zdebskiy - Client vs. BrowserRoman Zdebskiy - Client vs. Browser
Roman Zdebskiy - Client vs. BrowserAndrew Mayorov
 
Проектирование архитектуры приложений
Проектирование архитектуры приложенийПроектирование архитектуры приложений
Проектирование архитектуры приложенийAndrew Mayorov
 
Vsevolod Leonov "Delphi XE2. Visual tools for cross-platform development"
Vsevolod Leonov "Delphi XE2. Visual tools for cross-platform development"Vsevolod Leonov "Delphi XE2. Visual tools for cross-platform development"
Vsevolod Leonov "Delphi XE2. Visual tools for cross-platform development"Andrew Mayorov
 
Roman Zdebskiy - Windows Azure
Roman Zdebskiy - Windows AzureRoman Zdebskiy - Windows Azure
Roman Zdebskiy - Windows AzureAndrew Mayorov
 
Alexander Burt - Inside of 2D-graphics
Alexander Burt - Inside of 2D-graphicsAlexander Burt - Inside of 2D-graphics
Alexander Burt - Inside of 2D-graphicsAndrew Mayorov
 
Построение индекса по иерархии записей в реляционной БД
Построение индекса по иерархии записей в реляционной БДПостроение индекса по иерархии записей в реляционной БД
Построение индекса по иерархии записей в реляционной БДAndrew Mayorov
 
ObjectXPathNavigator - как и зачем?
ObjectXPathNavigator - как и зачем?ObjectXPathNavigator - как и зачем?
ObjectXPathNavigator - как и зачем?Andrew Mayorov
 
Banana Shelf Life Testing
Banana Shelf Life TestingBanana Shelf Life Testing
Banana Shelf Life Testingshubhamchandra
 
(Eng) How Social Media Worked In #24godyny project (Updated)
(Eng) How Social Media Worked In #24godyny project (Updated)(Eng) How Social Media Worked In #24godyny project (Updated)
(Eng) How Social Media Worked In #24godyny project (Updated)Internews Ukraine
 
об удобстве иерархических структур данных
об удобстве иерархических структур данныхоб удобстве иерархических структур данных
об удобстве иерархических структур данныхAndrew Mayorov
 

Viewers also liked (16)

Dmitry Zavalishin. Successful it-project - where can it fail
Dmitry Zavalishin. Successful it-project - where can it failDmitry Zavalishin. Successful it-project - where can it fail
Dmitry Zavalishin. Successful it-project - where can it fail
 
Sign Me Up
Sign Me UpSign Me Up
Sign Me Up
 
Синяя Борода. История одного проекта.
Синяя Борода. История одного проекта.Синяя Борода. История одного проекта.
Синяя Борода. История одного проекта.
 
Как сделать интернет-сайт на SharePoint и не передумать на полпути
Как сделать интернет-сайт на SharePoint и не передумать на полпутиКак сделать интернет-сайт на SharePoint и не передумать на полпути
Как сделать интернет-сайт на SharePoint и не передумать на полпути
 
Roman Zdebskiy - Client vs. Browser
Roman Zdebskiy - Client vs. BrowserRoman Zdebskiy - Client vs. Browser
Roman Zdebskiy - Client vs. Browser
 
Проектирование архитектуры приложений
Проектирование архитектуры приложенийПроектирование архитектуры приложений
Проектирование архитектуры приложений
 
Vsevolod Leonov "Delphi XE2. Visual tools for cross-platform development"
Vsevolod Leonov "Delphi XE2. Visual tools for cross-platform development"Vsevolod Leonov "Delphi XE2. Visual tools for cross-platform development"
Vsevolod Leonov "Delphi XE2. Visual tools for cross-platform development"
 
Roman Zdebskiy - Windows Azure
Roman Zdebskiy - Windows AzureRoman Zdebskiy - Windows Azure
Roman Zdebskiy - Windows Azure
 
Alexander Burt - Inside of 2D-graphics
Alexander Burt - Inside of 2D-graphicsAlexander Burt - Inside of 2D-graphics
Alexander Burt - Inside of 2D-graphics
 
Построение индекса по иерархии записей в реляционной БД
Построение индекса по иерархии записей в реляционной БДПостроение индекса по иерархии записей в реляционной БД
Построение индекса по иерархии записей в реляционной БД
 
Xslt
XsltXslt
Xslt
 
ObjectXPathNavigator - как и зачем?
ObjectXPathNavigator - как и зачем?ObjectXPathNavigator - как и зачем?
ObjectXPathNavigator - как и зачем?
 
Asad C.V
Asad C.VAsad C.V
Asad C.V
 
Banana Shelf Life Testing
Banana Shelf Life TestingBanana Shelf Life Testing
Banana Shelf Life Testing
 
(Eng) How Social Media Worked In #24godyny project (Updated)
(Eng) How Social Media Worked In #24godyny project (Updated)(Eng) How Social Media Worked In #24godyny project (Updated)
(Eng) How Social Media Worked In #24godyny project (Updated)
 
об удобстве иерархических структур данных
об удобстве иерархических структур данныхоб удобстве иерархических структур данных
об удобстве иерархических структур данных
 

Similar to Производительность и энергопотребление мобильных приложений на примере Windows Phone 7

Владимир Колесников «Windows Phone 7: самое главное для разработчика»
Владимир Колесников «Windows Phone 7: самое главное для разработчика»Владимир Колесников «Windows Phone 7: самое главное для разработчика»
Владимир Колесников «Windows Phone 7: самое главное для разработчика»e-Legion
 
Знакомство с Windows Phone
 Знакомство с Windows Phone  Знакомство с Windows Phone
Знакомство с Windows Phone Volha Banadyseva
 
1С-Битрикс - Производительность
1С-Битрикс - Производительность1С-Битрикс - Производительность
1С-Битрикс - ПроизводительностьAlexander Demidov
 
Windows Phone 8.1 Development Platform
Windows Phone 8.1 Development PlatformWindows Phone 8.1 Development Platform
Windows Phone 8.1 Development PlatformMykhail Galushko
 
Pronet bmc pro activenet monitoring. Современная система мониторинга и упра...
Pronet   bmc pro activenet monitoring. Современная система мониторинга и упра...Pronet   bmc pro activenet monitoring. Современная система мониторинга и упра...
Pronet bmc pro activenet monitoring. Современная система мониторинга и упра...Natasha Zaverukha
 
КРИ 2014: Расширение возможностей вашей игры с помощью Microsoft Azure
КРИ 2014: Расширение возможностей вашей игры с помощью Microsoft AzureКРИ 2014: Расширение возможностей вашей игры с помощью Microsoft Azure
КРИ 2014: Расширение возможностей вашей игры с помощью Microsoft AzureMicrosoft
 
iWAN: Мониторинг, контроль и оптимизация работы приложений для распределенных...
iWAN: Мониторинг, контроль и оптимизация работы приложений для распределенных...iWAN: Мониторинг, контроль и оптимизация работы приложений для распределенных...
iWAN: Мониторинг, контроль и оптимизация работы приложений для распределенных...Cisco Russia
 
Микросервисы в .NET Core
Микросервисы в .NET CoreМикросервисы в .NET Core
Микросервисы в .NET CoreAndrew Gubskiy
 
Desktop app based on node js and html5
Desktop app based on node js and html5Desktop app based on node js and html5
Desktop app based on node js and html5Provectus
 
AiCare - самоорганизующийся сервис управления
AiCare - самоорганизующийся сервис управленияAiCare - самоорганизующийся сервис управления
AiCare - самоорганизующийся сервис управленияКварта Технологии
 
DUMP-2013 Serverside - Архитектура Битрикс24 в Amazon Web Services – изнутри ...
DUMP-2013 Serverside - Архитектура Битрикс24 в Amazon Web Services – изнутри ...DUMP-2013 Serverside - Архитектура Битрикс24 в Amazon Web Services – изнутри ...
DUMP-2013 Serverside - Архитектура Битрикс24 в Amazon Web Services – изнутри ...it-people
 
Построение ИТ инфраструктуры организации на платформе Майкрософт 23.07.2010
Построение ИТ инфраструктуры организации на платформе Майкрософт 23.07.2010Построение ИТ инфраструктуры организации на платформе Майкрософт 23.07.2010
Построение ИТ инфраструктуры организации на платформе Майкрософт 23.07.2010ebuc
 
разработка Metro style приложений
разработка Metro style приложенийразработка Metro style приложений
разработка Metro style приложенийОлег Винников
 
Интерактивные и динамические цифровые вывески: Новые решения в линейке DMS
Интерактивные и динамические цифровые вывески:Новые решения в линейке DMSИнтерактивные и динамические цифровые вывески:Новые решения в линейке DMS
Интерактивные и динамические цифровые вывески: Новые решения в линейке DMSCisco Russia
 
DS Activity Monitor
DS Activity MonitorDS Activity Monitor
DS Activity Monitormekhos
 
Проектируем облачный веб-сервис "по-взрослому" (Сергей Рыжиков)
Проектируем облачный веб-сервис "по-взрослому" (Сергей Рыжиков)Проектируем облачный веб-сервис "по-взрослому" (Сергей Рыжиков)
Проектируем облачный веб-сервис "по-взрослому" (Сергей Рыжиков)Ontico
 
EMC XtremIO: Зверь выходит на охоту
EMC XtremIO: Зверь выходит на охотуEMC XtremIO: Зверь выходит на охоту
EMC XtremIO: Зверь выходит на охотуКРОК
 

Similar to Производительность и энергопотребление мобильных приложений на примере Windows Phone 7 (20)

Владимир Колесников «Windows Phone 7: самое главное для разработчика»
Владимир Колесников «Windows Phone 7: самое главное для разработчика»Владимир Колесников «Windows Phone 7: самое главное для разработчика»
Владимир Колесников «Windows Phone 7: самое главное для разработчика»
 
Знакомство с Windows Phone
 Знакомство с Windows Phone  Знакомство с Windows Phone
Знакомство с Windows Phone
 
1С-Битрикс - Производительность
1С-Битрикс - Производительность1С-Битрикс - Производительность
1С-Битрикс - Производительность
 
Windows Phone 8.1 Development Platform
Windows Phone 8.1 Development PlatformWindows Phone 8.1 Development Platform
Windows Phone 8.1 Development Platform
 
Pronet bmc pro activenet monitoring. Современная система мониторинга и упра...
Pronet   bmc pro activenet monitoring. Современная система мониторинга и упра...Pronet   bmc pro activenet monitoring. Современная система мониторинга и упра...
Pronet bmc pro activenet monitoring. Современная система мониторинга и упра...
 
КРИ 2014: Расширение возможностей вашей игры с помощью Microsoft Azure
КРИ 2014: Расширение возможностей вашей игры с помощью Microsoft AzureКРИ 2014: Расширение возможностей вашей игры с помощью Microsoft Azure
КРИ 2014: Расширение возможностей вашей игры с помощью Microsoft Azure
 
iWAN: Мониторинг, контроль и оптимизация работы приложений для распределенных...
iWAN: Мониторинг, контроль и оптимизация работы приложений для распределенных...iWAN: Мониторинг, контроль и оптимизация работы приложений для распределенных...
iWAN: Мониторинг, контроль и оптимизация работы приложений для распределенных...
 
Микросервисы в .NET Core
Микросервисы в .NET CoreМикросервисы в .NET Core
Микросервисы в .NET Core
 
Microsoft Virtualization(Plex)
Microsoft Virtualization(Plex)Microsoft Virtualization(Plex)
Microsoft Virtualization(Plex)
 
Desktop app based on node js and html5
Desktop app based on node js and html5Desktop app based on node js and html5
Desktop app based on node js and html5
 
AiCare - self-organizing device management service
AiCare - self-organizing device management serviceAiCare - self-organizing device management service
AiCare - self-organizing device management service
 
AiCare - самоорганизующийся сервис управления
AiCare - самоорганизующийся сервис управленияAiCare - самоорганизующийся сервис управления
AiCare - самоорганизующийся сервис управления
 
DUMP-2013 Serverside - Архитектура Битрикс24 в Amazon Web Services – изнутри ...
DUMP-2013 Serverside - Архитектура Битрикс24 в Amazon Web Services – изнутри ...DUMP-2013 Serverside - Архитектура Битрикс24 в Amazon Web Services – изнутри ...
DUMP-2013 Serverside - Архитектура Битрикс24 в Amazon Web Services – изнутри ...
 
Построение ИТ инфраструктуры организации на платформе Майкрософт 23.07.2010
Построение ИТ инфраструктуры организации на платформе Майкрософт 23.07.2010Построение ИТ инфраструктуры организации на платформе Майкрософт 23.07.2010
Построение ИТ инфраструктуры организации на платформе Майкрософт 23.07.2010
 
разработка Metro style приложений
разработка Metro style приложенийразработка Metro style приложений
разработка Metro style приложений
 
IBM Proventia IPS
IBM Proventia IPSIBM Proventia IPS
IBM Proventia IPS
 
Интерактивные и динамические цифровые вывески: Новые решения в линейке DMS
Интерактивные и динамические цифровые вывески:Новые решения в линейке DMSИнтерактивные и динамические цифровые вывески:Новые решения в линейке DMS
Интерактивные и динамические цифровые вывески: Новые решения в линейке DMS
 
DS Activity Monitor
DS Activity MonitorDS Activity Monitor
DS Activity Monitor
 
Проектируем облачный веб-сервис "по-взрослому" (Сергей Рыжиков)
Проектируем облачный веб-сервис "по-взрослому" (Сергей Рыжиков)Проектируем облачный веб-сервис "по-взрослому" (Сергей Рыжиков)
Проектируем облачный веб-сервис "по-взрослому" (Сергей Рыжиков)
 
EMC XtremIO: Зверь выходит на охоту
EMC XtremIO: Зверь выходит на охотуEMC XtremIO: Зверь выходит на охоту
EMC XtremIO: Зверь выходит на охоту
 

Производительность и энергопотребление мобильных приложений на примере Windows Phone 7