ВВЕДЕНИЕ 6
ГЛАВА 1. Исследование особенностей оптимизации графических приложений
на мобильных устройствах 9
1.1 Постановка задач оптимизации 9
1.2 Анализ методов рендеринга на мобильных устройствах 10
1.3 Выводы к главе 1 15
ГЛАВА 2. Классификация методов и средств оптимизации графических
приложений на мобильных устройствах 16
2.1 Классификация методов оптимизации 16
2.1.1 Классификация методов оптимизации по аппаратной архитектуре 16
2.1.2 Классификация по объекту оптимизации 16
2.2 Средства профилирования и отладки графических приложений 18
2.2.1 Xcode Instruments 19
2.2.2 RenderDoc 20
2.2.3 Unity Profiler 21
2.3. Выводы к главе 2 21
ГЛАВА 3. Анализ методов оптимизаций графических приложений и
формирование стратегии оптимизации 22
3.1 Методы оптимизации ресурсов 22
3.1.1 Компрессия текстур 22
3.1.2 Комбинирование текстурных карт 27
3.1.3 Применение векторной графики как альтернатива текстурам 31
3.2 Методы оптимизации шейдерных программ и нагрузки GPU 34
3.2.1 Типы данных, квалификаторы точности 34
3.2.2 MIP-текстурирование 36
3.3 Методы оптимизации сцены 39
3.3.1 Уровни детализации объектов (LOD) 39
3.3.2 Композиция буфера глубины 41
3.3.3 Текстурные атласы 43
3.4 Методы оптимизации освещения 45
3.4.1 Карты освещения 45
3.5 Стратегия оптимизации графических приложений на мобильных
устройствах 48
3.5.1 Общие советы по оптимизации 50
3.5.2 Применение стратегии оптимизации графических приложений 51
3.6 Выводы к главе 3 52
ЗАКЛЮЧЕНИЕ 53
СПИСОК СОКРАЩЕНИЙ 54
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 55
ПРИЛОЖЕНИЕ
В последние годы широкий рост получила мобильная вычислительная техника. Повсеместное распространение мобильных устройств, таких как смартфоны и планшеты, повлекло за собой расширение сектора программного обеспечения для этих устройств.
Одним из самых популярных видов программного обеспечения используемый на мобильных устройствах - является программное обеспечение мультимедийного характера. В основе такого программного обеспечения лежит применение компьютерной графики.
На текущем уровне развития мобильных устройств, производительность мобильных устройств не может сравнится с производительностью персональных компьютеров.
Мобильные устройства балансируют между вычислительной мощностью, сроком службы батареи и стоимостью. Это означает, что следующие ресурсы ограничены в мобильных платформ по сравнению с настольными платформами:
- Вычислительная мощность;
- Объем памяти;
- Пропускная способность памяти;
- Потребление энергии;
- Физический размер.
Персональные компьютеры не имеют этих ограничений, так что разработчики могут использовать гораздо больше вычислительных ресурсов. В следствии этих ограничений, остро встает вопрос оптимизации программного обеспечения с учетом специфики функционирования мобильных устройств.
Актуальность проблемы
Актуальность диссертационной работы обусловлена высокой востребованностью программного обеспечения с использованием компьютерной графики на мобильных устройствах. А так же с ограничениями накладываемыми такими устройствами на состав программного обеспечения.
Объектом диссертационного исследования является программное обеспечение использующее компьютерную графику на мобильных устройствах.
Предмет исследований - методы и средства оптимизации компьютерной графики на мобильных устройствах.
Цель диссертационного исследования состоит в разработке стратегии оптимизации приложений использующих компьютерную графику на мобильных устройствах, основываясь на существующих методах и средствах оптимизации компьютерной графики.
Задачи диссертационной работы
Задачи данной работы заключаются в:
• Классификации существующих методов оптимизации;
• Выполнении сравнительного анализа существующих методов оптимизации компьютерной графики;
• Формировании стратегии оптимизации на основе данных анализа методов оптимизации.
В работе рассматривается проблема создания программного обеспечения использующего компьютерную графику на мобильных устройствах. На сегодняшний день спрос на программное обеспечение подобного рода чрезвычайно высок, однако уровень существующих технологий накладывает ограничения на вычислительные возможности мобильных устройств. Проблемы оптимизации компьютерной графики на мобильных устройствах широко исследуются различными авторами в частности Э. Бирсом, Т. Ариано, А.Лима, К.Пулли и многими другими [2-5].
Основная идея работы состоит в разработке стратегии оптимизации программного обеспечения использующего компьютерную графику на мобильных устройствах, основанную на существующих методах оптимизации.
Новизна работы состоит в том, чтобы предложить общую стратегию оптимизации графических приложений для мобильных устройств, с учетом существующих технологий, средств и методов оптимизации компьютерной графики. Кроме того новым является сравнительный анализ существующих методов оптимизации компьютерной графики на мобильных устройствах.
Основное содержание работы:
Во введении обоснована актуальность темы диссертационной работы, дана постановка цели и задач, а также краткое описание содержания диссертации.
В первой главе проанализирована предметная область диссертационной работы. Выполнена постановка задачи оптимизации графических приложений.
Во второй главе произведена классификация методов оптимизации графических приложений и проанализированы средства профилирования приложений для мобильных устройств.
В третьей главе выполнен анализ методов оптимизации графических приложений для мобильных устройств и сформирована стратегия оптимизации таких приложений.
В заключении перечислены результаты диссертационной работы, показаны дальнейшие направления исследования, сформулированы основные выводы.
В данной работе был проведен анализ современных подходов к оптимизации графических приложений для мобильных устройств. Была рассмотрена архитектура графического конвейера применяемого на мобильных GPU. Так же были исследованы различные методы оптимизации компьютерной графики для мобильных устройств, произведена оценка эффективности этих методов на современных мобильных устройствах. И была выполнена классификация методов оптимизации.
Статистические данные полученные в ходе исследований характеристик методов оптимизаций позволили составить общую стратегию оптимизации графических приложений для мобильных устройств. Эффективность стратегии оптимизации была проверена на реальном проекте для мобильных устройств.
1. Дюдя А.С. Оптимизация GUI с применением текстурных атласов // EurasiaScience. - Москва, 2017. - С. 115 - 116.
2. Ginsburg D., Purnomo B., Shreiner D., Munshi A. OpenGL ES 3.0 Programming Guide 2nd ed., - 2014. - 322 c.
3. Pulli K., Aarnio T., Roimela K., Vaarala J. Designing graphics programming interfaces for mobile devices // IEEE Computer Graphics and Applications. - нояб. - дек. 2005. - С. 66 - 75, doi:10.1109/MCG.2005.129.
4. Alex de Souza Campelo Lima, Edson Alves da Costa. Experimental Approach of the Asymptotic Computational Complexity of Shaders for Mobile Devices with OpenGL ES // 2014 Brazilian Symposium on Computer Games and Digital Entertainment - нояб. 2014. - С. 173-182. doi:10.1109/SBGAMES.2014.9.
5. Chun-Fa Chang , Shyh-Haur Ger. Enhancing 3D Graphics on Mobile Devices by Image-Based Rendering // Advances in Multimedia Information Processing — PCM 2002. - C. 1105-1111. doi:10.1007/3-540-36228-2_137;
6. Вольф Д. OpenGL 4. Язык шейдеров. Книга рецептов. : Пер. с англ. - А. Киселев, «ДМК Пресс», 2015. - 368 с.
7. Rideout P. iPhone 3D Programming: Developing Graphical Applications with OpenGL ES, Publisher: O'Reilly Media, 2010. - 440 с.
8. OpenGL ES Application Optimization Guide, ARM, 2013. - 176 c.
9. A. Beers Rendering from Compressed Textures // Computer Graphics, Proc. 1996. - C 373-378.
10. Jacson S. Unity3D UI Essential., - TR Press, 2015. - 280 с.
11. McDermott W. Creating 3D Game Art for the iPhone with Unity: Featuring modo and Blender pipelines., - Focal Press, 2010. - 272 с.
12. Hughes J., Dam A., McGuire M., Computer Graphics: Principles and Practice (3rd Edition) 3rd Edition., Addison-Wesley Professional, 2013. - 1264 с.
13. Malizia A. Mobile 3D Graphics, Springer, 2006. - 162 с.
14. Guha S. Computer Graphics Through OpenGL: From Theory to Experiments, Second Edition., - Focal Press, 2014, - 951 с.
15. Lengyel E. Mathematics for 3D Game Programming and Computer Graphics, Third Edition., - Cengage Learning PTR, 2011, - 576 с.
16. Marschner S. Fundamentals of Computer Graphics., - A K Peters/CRC Press, 2015, - 748 с.
17. Xcode Instruments [Электронный ресурс] // Документация по Xcode Instruments. - Режим доступа: https://developer.apple.com/library/content/documentation/DeveloperTools/Conceptu al/InstrumentsUserGuide/
18. My Nano World [Электронный ресурс] // Оптимизируемый проект. - Режим доступа: https://play.google.com/store/apps/details?id=com.nanorealitygames.mynanoworld& hl=ru
19. OpenGL Registry [Электронный ресурс] // Документация по OpenGL и OpenGL ES. - Режим доступа: https://www.khronos.org/registry/OpenGL/index_gl.php
20. Shadertoy [Электронный ресурс] // База данных шейдеров. - Режим доступа: https://www.shadertoy.com/
21. OpenGL for MacOS [Электронный ресурс] // Документация по OpenGL для MacOS и iOS. - Режим доступа: https://developer.apple.com/opengl/