top of page

Оптимизация приложений при помощи утилит в комплекте Intel INDE Media Pack

 

Итак, не будем особо разглагольствовать и начнем.

Инструментарий, указанный выше - набор утилит в помощь разработчикам программного обеспечения. В его состав входит множество полезных штуковин, но я расскажу о той, которая здорово помогла оптимизировать наше приложение - System Analyzer. 

 

System Analyzer

Очень удобная утилита с простым и понятным интерфейсом. На официальном сайте есть куча полезной информации по установке и настройке набора, но я постараюсь быстро и понятно объяснить, как установить, настроить и пользоваться конкретной утилитой. 

 

Для начала приведу её интерфейс и покажу, что она может дать разработчику (клацните на скрин для увеличения):

Блок слева - параметры, доступные для мониторинга и несколько настроек для вмешательства в реальном времени в процесс обработки приложения.

 

Большой блок справа - шкалы состояний. Именно они показывают график загрузок/вольтажа/потребления и тому подобных метрик.

 

Для того, чтобы данные графики отобразились - просто тянем из левого блока в правый нужный параметр и, вуаля!

 

Под графиками находятся также конкретные значения параметров в данный момент времени. 

Утилита достаточно проста в использовании, работает в режиме реального времени, просто подключаемся к устройству, запускаем приложение и мониторим.

 

С настройкой немного сложнее. 

 

1. Для начала регистрируемся на сайте и качаем пакет (около 2 гигабайт)

https://software.intel.com/ru-ru/intel-inde

 

2. Затем ставим пакет с необходимыми настройками, эклиспс, студия либо андроид СДК. При выборе конкретного параметра, пакет установит дополнительные файлы (NDK, Eclipse и тд). В моем случае, Android SDK у меня уже был и я просто нажал "пропустить настройку"

3. Следующий шаг - установка ADB драйвера от Intel. Качаем и устанавливаем, без него скорее всего не запустится

https://software.intel.com/en-us/android/articles/intel-usb-driver-for-android-devices

 

4. Далее, нам необходимо настроить путь до инструментария, предоставленного в Android SDK - запускаем System Analyzer и жмем Ctrl+F1, появляется окно, в нем прописываем путь до platform-tools в составе Android SDK:

 

5. После всех вышеперечисленных действий в утилите должно появится поключенное устройство (вы ведь подключили его к компьютеру? ;)). Выбираем его и жмем Connect. Внимание! У меня возникли проблемы с подключением, причем несколько раз - различные ошибки, без паники! В данном случае:

а) Просто перезагружаем компьютер и устройство;

б) Если до сих пор не будет подключаться, открываем командную строку;

в) идем в папку, указанную вами в предыдущем пункте (переход на нужный диск - буква диска, двоеточие, энтер (D:), переход в целевую папку cd !!!ПУТЬ БЕЗ БУКВЫ ДИСКА!!!!)

г) отключаем девайс, вводим в командной строке: adb kill-server

д) подключаем девайс, вводим: adb devices и вновь подключаемся через утилиту

 

 

 

 

5.

 

 

6. Выбираем наше приложение. Внимание! Скорее всего, приложение будет периодически подвисать, не пугайтесь - это работа профиллера, нагрузка на устройство увеличивается. К примеру, я при первом запуске ждал 4 минуты.

Заключение

Установка и настройка пакета утилит оказалась очень простой (больше боялся и собирался, чем делал), а результатом стало повышение производительности и уменьшение потребления оперативной памяти. К примеру, во время загрузки карт, потребление памяти подскакивало с 300 мб до 500, из-за чего у слабые девайсы вылетали и не могли загрузить карту. Стандартный профайлер Unity не осиливал загрузку сцены и писал, что "кадр пропущен и я, дескать, даже не знаю что там было". Оптимизирвовав загрузку и понизив затраты памяти, мы избавились от плавающей баги и угодили пользователям. 

 

Примечание: утилиты из данного набора можно использовать с любыми приложениями, единственное условие - при сборке необходимо указать, что оно собирается для тестирования (Debug mode). Поскольку наша игра создана при помощи Unity -  мы просто выставили в настройке сборки галки "Development Build" и "Script Debugging".

bottom of page