Производительность и энергопотребление мобильных...
-
Upload
andrew-mayorov -
Category
Technology
-
view
1.093 -
download
4
description
Transcript of Производительность и энергопотребление мобильных...
Производительность и энергопотребление мобильных приложений
Владимир КолесниковMicrosoft@vladkol, [email protected]
Windows Phone Microsoft Corporation
Производительность и энергопотребление• Общая архитектура системы• Потоковая модель• Многозадачность• Состояние• Потребители
Windows Phone Microsoft Corporation
Архитектура
Windows Phone Microsoft Corporation
Архитектура с высоты птичьего полёта
Software Architecture
App Model
Cloud Integration
Services
Hardware Foundation
UI Model
Windows Phone Microsoft Corporation
Software Architecture
App Model
Cloud Integration
Services
Hardware Foundation
UI Model
Windows Phone Microsoft Corporation
ЖелезоCapacitive touch4 or more contact pointsSensorsA-GPS, Accelerometer, Compass, Light, Proximity, GyroCamera5 mega pixels or more
MultimediaCommon detailed specs, Codec acceleration
Memory256MB RAM or more, 8GB Flash or more
GPUDirectX 9 acceleration
CPUQualcomm MSM7x30, MSM8x55 800Mhz or higher
80
0
480
Hardware buttons | Back, Start, Search
Windows Phone Microsoft Corporation
Software Architecture
App Model
Cloud Integration
Services
Hardware Foundation
UI Model
Windows Phone Microsoft Corporation
Hardware Foundation
Архитектура подсистемы приложений
Applications
App Model
App managementLicensingChamber isolationSoftware updatesData sharing
UI Model
Shell frame Session managerDirect3DCompositor
Kernel
SecurityNetworkingStorage
Cloud Integration
Xbox LIVEBingLocationPush notificationsWindows Live ID
Your App UI and logic
Hardware BSP
A-GPS Accelerometer Gyro Compass Light Proximity
Media Wi-Fi Radio Graphics
Frameworks
HTML5/JavaScript
CLR
Silverlight and XNA
Structured dataUser data
Windows Phone Microsoft Corporation
Платформа приложений - Framework
Common Base Class Library
Collections ComponentModel Configuration
Diagnostics
Reflection IO
Security Threading
Runtime Resources Globalization TextLocation Net
ServiceModel Linq
Application Object
Silverlight Presentation and Media XNA Frameworks for Games
Windows Phone Frameworks
NavigationShapes Markup Media
Controls DrawingIsolatedStorag
e
AudioMedia GraphicsInput
DrawingGamerService
s
Content
PhoneApplicationPage
PushNotification
WebBrowserControl
SensorsPhoneApplicationFra
me
CameraDevice
IntegrationLaunchers &
ChoosersWindows Phone
ControlsMultiTasking
Structured Data
Silverlight4.0
Silverlight Integration
Sockets
Windows Phone Microsoft Corporation
Как это работает
Windows Phone Microsoft Corporation
Модель среды исполнения
«Песочница» для каждого приложения
Хост-процесс для приложений
Каждое приложение работает в изолированной среде
Весь код – managed, что позволяет легко верифицировать – первый заслон для аттак
Framework отвечает за взаимодействия с app-моделью, UI-моделью и «телефоном»
App Domain
XNA Game Object
CLR
App Model Host
Silverlight XNA HTML5/JavaScript
Silverlight Application Object
Frameworks
Kernel Hardware BSP
App Model UI Model Cloud Integration
App managementLicensingChamber isolationSoftware updates
Shell frame Session managerDirect3DCompositor
Xbox LIVEBingLocationPush notificationsWindows Live ID
SecurityNetworkingStorage
Hardware Foundation
A-GPS Accelerometer Gyro Compass Light ProximityMedia Wi-Fi Radio Graphics
AGENT
Windows Phone Microsoft Corporation
Metro и контентно-ориентированная модель
Windows Phone Microsoft Corporation
hardware
phone storage
Контентно-ориентированная модель: проблемы
Your Web ServiceCustom Web Service
Existing Web Services
Microsoft Services
Notification Service
Location Service
Windows Phone Microsoft Corporation
Как это работаетapp
storage
sync agent
power monitor
resource manager
task scheduler
connection
manager
Web Service
Windows Phone Microsoft Corporation
Структурированное хранилище (БД) и ввод/вывод
SD Metric Target Card A
Card B
Card C
64KB seq. writes/sec
4 17 9 2
64KB seq. reads/sec
8 26 15 7
4KB write IOPs 20 87 3 57
4KB read IOPs 500 1054 1022 373
app folder hardware
Windows Phone Microsoft Corporation
Структурированное хранилище в Mango
app folder
RW RO
LINQ
app agent
Web Service
hardware
Windows Phone Microsoft Corporation
Приложения и изоляция данных телефона
Windows Phone Microsoft Corporation
Mango: запросы к данным телефона
app folder
RW RO
phone storageData Sharing
Surface
LINQ
process boundary
Windows Phone Microsoft Corporation
User Experience и многозадачность
Windows Phone Microsoft Corporation
Perception is reality
Photo by andrewarchy
Windows Phone Microsoft Corporation
Что такое мультизадачность Красивый UI Используйте
телефон по максимуму
Не заставляйте меня ждать
+-
Windows Phone Microsoft Corporation
Подходы к многозадачности «Честная» и прожорливая
Работаем, пока можем Система сложных правил выгрузки приложенийDesktop, Windows Mobile, Android
Мнимая и экономная Приложение выгружается при деактивации UI Ключевой фактор – сохранение состоянияРанние iPhone, Windows Phone 7
Windows Phone Microsoft Corporation
Подходы к многозадачности
Умная Похожа на мнимую Фоновые агентыiPhone 4, Windows Phone codename “Mango” Возможны уведомления из агентов в
приложения
Windows Phone Microsoft Corporation
Мультизадачность в Windows Phone
Мультизадачность
Быстрое переключение
Быстрое восстановление
Windows Phone Microsoft Corporation
Running
Deactivated
Dormant
Activated
Автоматическое сохранение состояния
Загружено или восстановлено
Приложение в памяти, ресурсы «отключены», потоки приостановленыTombstone
d
Жизненный цикл
Windows Phone Microsoft Corporation
Мультизадачность: вариантыЗадача РеализацияПереключение задач пользователем Fast App Switching
Уведомления и сигналы по расписанию
Background Notification
Загрузка фалов Background Transfer
Уведомления о событиях Push Notifications
Регулярные действия по расписаниюtoast/tile updates; data pre-caching; etc.
Periodic Background Agent
Проигрывание музыки Background Audio Player
Синхронизация данных Resource-Intensive Agent
GPS-tracking Run under the lock screen
Windows Phone Microsoft Corporation
Что могут Background AgentsМожно
Tiles Toast Местоположение Сеть Файлы БД Аудио (через спец.
агентов) …
Нельзя
Показывать UI XNA Микрофон и камера Сенсоры
Windows Phone Microsoft Corporation
Сохраняем UX удобным
Плавность 60 кадров в секунду
Качественное воспроизведение сложного медиа Hardware-акселерация
Минимизация деградации производительности со временем Изоляция и меры по экономии батареи
Управление состоянием Память и процессор
Windows Phone Microsoft Corporation
Важно: система знает, как устроен UI
Навигационный стек, данные страницы и приложения сохраняются для быстрого восстановления
СтраницаВизуальное
состояние
Данные страницы и
приложения, навигация
Состояние данных
Windows Phone Microsoft Corporation
Потоковая модель на десктопах
User Interface Thread
Background Threaddispatch
rasterize binding animations
parsingnetworking dispatch
input OS interoplayout
Windows Phone Microsoft Corporation
Текущая потоковая модель Windows Phone
User Interface Thread
Background Thread
Compositor Thread
dispatch parsingnetworking dispatch
rasterize binding
primitive animations
touch OS interoplayout
composite onto back buffer
Windows Phone Microsoft Corporation
Windows Phone codename “Mango”
User Interface Thread
Background Thread
Compositor Thread
dispatch parsingnetworking dispatch
rasterize binding
primitive animations touch
OS interoplayout
composite onto back buffer
Windows Phone Microsoft Corporation
Сохраняем UX удобным: CPU в WP7 Поток Приоритет Квант
Rendering Above Normal
6ms
UI Normal 4ms
Тип Периодичность
Animations Every 16ms
Video Every 33-41msData
bindingEvery 20-100ms
Touch Every 32-100msBackgrou
ndNormal 2ms Various N/A
Qualcomm Snapdragon: 1GHz
idleidle
Windows Phone Microsoft Corporation
Сохраняем UX удобным: CPU в MangoПоток Приоритет Квант
Rendering Above Normal
8ms
UI Normal 20ms
Тип Периодичность
Animations Every 16ms
Video Every 33-41ms
Touch Every 32-100ms
Data binding
Every 20-100ms
Background
Normal 4ms Various N/A
idle
Qualcomm Snapdragon: 800MHz-1GHz
Windows Phone Microsoft Corporation
Сохраняем UX удобным: память в WP7
Память
OS foreground
Минимум памяти: 256MB
idle
Рекомендуется 90MB
Навигационный стекФайловый кэшПериодика
Приложения
Windows Phone Microsoft Corporation
Сохраняем UX удобным: память в Mango
Память
OS spare foreground
Минимум памяти: 256MB
выгружаются по запросу
90MB минимум
Приложения
ПриложенияНавигационный стекФайловый кэшПериодика
Windows Phone Microsoft Corporation
Батарея
Windows Phone Microsoft Corporation
Сохраняем UX удобным: батарея
+-
Resource CPU Display
Audio
Video
3G data
Wi-Fi
GPS
Sensors
Power (mW)
>400
>150 300 800 750 600 350 varies
Windows Phone Microsoft Corporation
UI instance
Достигаем баланса через агентов
app logic
agent instance
app logic
Затраты
10% CPURAM: 5MBПониженное энергопотребление
Затраты
90% CPURAM: 90MB
Энергоемки
Одна «песочница»Отдельные хост-процессы
abstract class BackgroundAgent
{
virtual void Invoke(uri, parameters)
virtual void OnCancel()
void NotifyComplete()
void Abort()
}
Windows Phone Microsoft Corporation
Аудио-агенты
Zune media service
audio
Zune media service
audio
Zune media service
audio
Память
OS foregroundaudi
o
reserved
Windows Phone Microsoft Corporation
Generic-агенты
Zune media service
audio
periodic
Resource manager
Zune media service
audio
periodic
Resource manager
on AC
Zune media service
audio
Память
OS foregroundperiodi
cperiodi
c
on AC on AC
audio
Windows Phone Microsoft Corporation
«Дремлющие» приложения
Память
audioOS foreground
periodic
periodic
on AC on AC
dormant dormant
Zune media service
audio
periodic
Resource manager
on AC
Windows Phone Microsoft Corporation
Агенты передачи данных
Background transfers
Background transfers
Background transfers
memory
OS foregroundBackground transfers
Resource manager
Windows Phone Microsoft Corporation
Тестирование приложений[email protected] От вас:
Название и описание приложения Скриншоты Видео работы в эмуляторе
От нас Устройство на 1-2 недели Поддержка в публикации приложения
DevCon 11 – крупнейшая конференция по разработке ПОDevCon 11 – крупнейшая конференция по разработке ПО, проводимая Microsoft в России.
Основные темы конференции DevCon 11:• Облачные вычисления• Мобильная разработка• Веб-разработка• Разработка настольных приложений• Корпоративная разработка• Работа с данными• Будущее языков программирования• Построение Интернет-бизнеса
Лучшие докладчики Microsoft:• Нил Лесли • Тим О’Брайн• Евгений Чигиринский • Максим Гольдин • Дмитрий Артёмов
www.msdevcon.ru
26-27 мая 2011 года, Подмосковье
Телемост со Скоттом Гатри – Вице-президентом по
платформе разработки Microsoft и одним основателей .NET
Windows Phone Microsoft Corporation
Вопросы
Windows Phone Microsoft Corporation
© 2011 Microsoft Corporation.
All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation.
MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.