Научная статья на тему 'ОПТИМИЗАЦИЯ ГРАФИКИ В МОБИЛЬНЫХ ПРИЛОЖЕНИЯХ НА ПРИМЕРЕ ИНСТРУМЕНТА «INTEL GRAPHICS PERFORMANCE ANALYZER (GPA)»'

ОПТИМИЗАЦИЯ ГРАФИКИ В МОБИЛЬНЫХ ПРИЛОЖЕНИЯХ НА ПРИМЕРЕ ИНСТРУМЕНТА «INTEL GRAPHICS PERFORMANCE ANALYZER (GPA)» Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
9
1
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
графика / оптимизация / мобильные приложения / Интел GPA / библиотеки / производительность / эффективность / Андроид / graphics / optimization / mobile applications / Intel GPA / libraries / performance / efficiency / Android

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Пахомов Д.Р.

Статья посвящена инструменту Intel Graphics Performance Analyzer (GPA), который помогает разработчикам мобильных приложений автоматизировать и оптимизировать их работу наиболее эффективно. GPA состоит из программных средств, которые позволяют анализировать производительность, определять уязвимые места и оптимизировать работу приложений в целом. Инструмент поддерживает анализ производительности приложений как для Windows так и для Android. Статья также рассматривает возможности удаленной отладки, которая обеспечивает точность измерений, улучшенный графический интерфейс и возможность совместного использования оборудования несколькими разработчиками. Кроме того, статья описывает интерфейс Intel GPA System Analyzer и рассматривает важность шейдеров в анализе графики.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

OPTIMIZATION OF GRAPHICS IN MOBILE APPLICATIONS USING EXAMPLE OF INTEL GRAPHICS PERFORMANCE ANALYZER (GPA) TOOL

Article is devoted to the Intel Graphics Performance Analyzer (GPA) tool, which helps mobile application developers automate and optimize their work most effectively. GPA consists of software tools that allow you to analyze performance, identify vulnerabilities and optimize the operation of applications. The tool supports application performance analysis for both Windows and Android. The article also examines the possibilities of remote debugging, which ensures the accuracy of measurements, an improved graphical interface and the possibility of sharing equipment by several developers.

Текст научной работы на тему «ОПТИМИЗАЦИЯ ГРАФИКИ В МОБИЛЬНЫХ ПРИЛОЖЕНИЯХ НА ПРИМЕРЕ ИНСТРУМЕНТА «INTEL GRAPHICS PERFORMANCE ANALYZER (GPA)»»

УДК 004

Пахомов Д.Р.

студент 2 курса магистратуры кафедры информатики и информационных технологий Московский политехнический университет (г. Москва, Россия)

ОПТИМИЗАЦИЯ ГРАФИКИ В МОБИЛЬНЫХ ПРИЛОЖЕНИЯХ НА ПРИМЕРЕ ИНСТРУМЕНТА «INTEL GRAPHICS PERFORMANCE ANALYZER (GPA)»

Аннотация: статья посвящена инструменту Intel Graphics Performance Analyzer (GPA), который помогает разработчикам мобильных приложений автоматизировать и оптимизировать их работу наиболее эффективно. GPA состоит из программных средств, которые позволяют анализировать производительность, определять уязвимые места и оптимизировать работу приложений в целом. Инструмент поддерживает анализ производительности приложений как для Windows так и для Android. Статья также рассматривает возможности удаленной отладки, которая обеспечивает точность измерений, улучшенный графический интерфейс и возможность совместного использования оборудования несколькими разработчиками. Кроме того, статья описывает интерфейс Intel GPA System Analyzer и рассматривает важность шейдеров в анализе графики.

Ключевые слова: графика, оптимизация, мобильные приложения, Интел GPA, библиотеки, производительность, эффективность, Андроид.

По мере развития технологий создания мобильных приложений, разработчикам все чаще требуется прибегать к использованию программ, библиотек и утилит, которые могли бы помочь автоматизировать и оптимизировать конечный продукт наиболее эффективно.

Для того чтобы отслеживать производительность мобильного приложения по мере его создания компанией Intel был создан такой инструмент как Intel Graphics Performance Analyzer (GPA).

Intel GPA состоит из программных средств, которые позволяют анализировать производительность, определять уязвимые места и оптимизировать работу приложений в целом. Также следует отметить, что инструментарий является довольно понятным и интуитивно направляемым, имеет несложный графический интерфейс. Данный факт предоставляет разработчикам возможность, не имея должного опыта в оптимизации и отладке графических приложений, довольно быстро приступать к работе и непосредственно самой оптимизации графической составляющей мобильных приложений.

Intel GPA поддерживает анализ производительности приложений как для Windows так и для Android. Стоит отметить, что версия для Windows (DirectX) присутствует на рынке довольно-таки давно, чего не скажешь о версии для Android, которая предназначена для приложений, использующих OpenGL, она появилась сравнительно недавно.

Intel GPA включает в себя программу мониторинга реального времени Intel System Analyzer, и программы анализа и отладки перехваченных графических фреймов - Intel Frame Analyzer. Немаловажно, что данные компоненты не используют перекомпиляции или какого-либо предварительного инструментирования графического приложения, ведь все обязательные вмешательства происходят в процессе запуска. Инструмент Intel Platform Analyzer визуализирует профиль выполнений CPU- и GPU- задач, при этом, в отличие от System Analyzer и Frame Analyzer он может требовать корректировки и изменения имеющегося программного кода мобильного приложения.

GPU (Graphics Processing Unit - графический процессор) и CPU (Central Processing Unit - центральный процессор) в рамках каждого кадра выполняют огромное множество различных операций графического конвейера. При таком стиле работы, безусловно, вся суть производительности будет зависеть от выявления наиболее медленных участков. Как раз поэтому и были придуманы и

разработаны удобные средства отладки, которые помогают разобраться в сотнях вызовов функций, происходящих за минимальную единицу времени.

С точки зрения установки Intel GPA, есть два способа:

1. С сайта Intel INDE, где есть возможность скачать менеджер пакетов, среди которого необходимо выбрать GPA System Analyzer,

2. С домашней страницы Intel GPA, где необходимо выбрать пакет для имеющейся операционной системы.

Имеющиеся компоненты Intel GPA построены на основе сетевой удаленной отладки. Это означает, что на целевой машине, где планируется запускать приложение, обязательно наличие специального приложения-агента -Intel GPA Server. Клиентские приложения Intel System Analyzer и Intel Frame Analyzer запускаются на удаленной машине и связываются с сервером по сетевому протоколу TCP/IP.

Среди главных преимуществ удаленной отладки можно отметить следующее:

• Точность измерений. Клиентское графическое приложение, зачастую сильно требовательно к ресурсам памяти, из-за чего присутствует такой фактор как замедление профилируемого приложения. Благодаря удаленной отладке профайлер по факту не находится непосредственно на самом устройстве, а находится на удаленном хосте и потому не искажает работу самого приложения,

• Графический интерфейс профайлера и улучшенная эргономика. Из-за совмещения профайлера и полноэкранного графического приложения возникают сильные ограничения компоновки и эргономики пользовательского интерфейса. В Intel GPA намеренно профайлер существует на удаленном терминале для корректного и удобного использования при визуализации и в управлении,

• Наличие возможности совместного использования оборудования несколькими разработчиками.

Что касается интерфейса Intel GPA System Analyzer, то он выглядит примерно следующим образом (рис. 1):

£ Intel® GPA System Analyzer

Monitor my. Gdx Invadaru

a-cpu

Aggregated CPU Load CPU 00 Load -CPU 01 Load CPU Load -CPU W Lnad

CPU 00 Frequency —CPU 01 Frequency CPU 02 Frequency -CPU 03 Frequency Target App CPU Luad ■ Device 10 -Di&kRead Oh k Write -NetworkRX Network TX B r,PU

GPU Frequency TALaari

PB PiitnilFves/Second 51A1E OVERRIDES • DlsabieAll 1x1 Sciiso/ Reel Disab)? Alpha Blending Dibble Draw Calls Disable Z-Tert Show wireframe Simple Fragment Shader Texture Txl

* HyperThreadlng

I ч ns l-^si

Рисунок 1. Интерфейс Intel GPA System Analyzer.

В левой части окна (Metrics) отображаются разнообразные метрики и опции рендеринга State Overrides. В правой части экрана непосредственно расположены сами графики, которые показываю метрики производительности. Для того чтобы отобразить график необходимого показателя производительности, его (строка с названием метрики) можно просто перетащить в область отображения графиков.

Стоит отметить такую удобную возможность как совмещение нескольких графиков в одной области для сравнительного анализа нескольких взаимосвязанных метрик (рис. 2).

11)0

w f i Л \ / \ _____J U f] I 1 50 -1 \J 0

ТА Load % USSE Vertex Load "Я Lrf) L.-0 цилэ/ 1.3» 0.011 12.8 11:65,1 H:0.413 H:44.4

Рисунок 2. Совмещение графиков нескольких метрик в одной области.

С точки зрения анализа графики, важным элементом является такое понятие как «шейдер». Он представляет собой программу, которая идентифицирует параметры изображения. Шейдеры выполняются на графическом процессоре и бывают трех типов:

• Вершинный шейдер. Он оперирует данными, которые соотнесены с вершинами многогранников. Сюда можно отнести такие метрики как координаты вершин в пространстве, вектор нормали, текстурные координаты и так далее.

• Геометрический шейдер. Данный шейдер отличается от вершинного, способностью обработать не только одну вершину, но и целый примитив. Таковым может выступать отрезок, треугольник или же в целом до шести вершин для треугольного примитива при обязательном наличии информации о смежных вершинах.

• Пиксельный шейдер. Он взаимодействует с пикселами изображения, которые имеют набор атрибутов, например, цвет, глубина, текстурные координаты. Пиксельный шейдер применяется на заключительном этапе графического конвейера для формирования фрагмента изображения.

В данном материале мы не затрагиваем огромное множество имеющихся метрик и атрибутов в компонентах Intel GPA, а лишь фокусируемся на описании работы имеющихся программных средств.

Также неотъемлемым компонентом для точного изучения структуры перехваченного фрейма (фрагмента) является Intel GPA Frame Analyzer. В качестве отображения информации о фрейме выступает концепция DirectX команд, выполняющих работу на GPU. В Intel GPA такие команды названы термином «Эрг» (Erg). Множество Эргов по сути являются функциями рисования (Draw Calls) библиотеки DirectX. Intel GPA Frame Analyzer предоставляет возможность воспроизвести все Эрги с точки зрения получения данных об их длительности и анализа их влияния на суммарное время фрейма (Frame Time).

Интерфейс Intel GPA Frame Analyzer представлен на рисунке 3:

Рисунок 3.Интерфейс Intel GPA Frame Analyzer.

В данном интерфейсе отображается гистограмма, которая показывает продолжительность того или иного Эрга, что в свою очередь позволяет проанализировать и конкретно определить конкретные фреймы, которые необходимо оптимизировать.

Таким образом, по течению материала мы познакомились с инструментом для оптимизации графики мобильных приложений на Android, в частности, Intel GPA, а также затронули глобальные аспекты анализа и

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

СПИСОК ЛИТЕРАТУРЫ:

1. Голованов Н. Геометрическое моделирование / Голованов Н. Н. - М: Издательство Физико-математической литературы, 2002. - 472 с;

2. Хашими С. Разработка приложений для Android./ C. Хашими, С. Коматинени, Д. Маклин. - СПб.: Питер, 2011. - 736 с.: ил;

3. Вольф Д. OpenGL 4. Язык шейдеров. Книга рецептов. : Пер. с англ. - А. Киселев, «ДМК Пресс», 2015. - 368 с;

4. Оптимизация графики с помощью Intel GPA // Intel® Graphics Performance Analyzers URL: https://intel.github.io/gpasdk-doc/src/samples.html#metrics-collection (дата обращения: 29/06/2023)

Pakhomov D.R.

Moscow Polytechnic University (Moscow, Russia)

OPTIMIZATION OF GRAPHICS IN MOBILE APPLICATIONS USING EXAMPLE OF INTEL GRAPHICS PERFORMANCE ANALYZER (GPA) TOOL

Abstract: article is devoted to the Intel Graphics Performance Analyzer (GPA) tool, which helps mobile application developers automate and optimize their work most effectively. GPA consists of software tools that allow you to analyze performance, identify vulnerabilities and optimize the operation of applications. The tool supports application performance analysis for both Windows and Android. The article also examines the possibilities of remote debugging, which ensures the accuracy of measurements, an improved graphical interface and the possibility of sharing equipment by several developers.

Keywords: graphics, optimization, mobile applications, Intel GPA, libraries, performance, efficiency, Android.

i Надоели баннеры? Вы всегда можете отключить рекламу.