ГРАФИЧЕСКИЕ ВОЗМОЖНОСТИ МОБИЛЬНЫХ УСТРОЙСТВ
Иванько Михаил Александрович
доцент кафедры информатики и информационных технологий, кандидат технических наук, доцент Московский государственный университет печати имени Ивана Федорова
127550 Россия, г. Москва, ул. Прянишникова, д. 2А alekfed@mail.ru
Крюкова Анна Геннадьевна
студентка Института «Принтмедиа и информационных технологий» Московский государственный университет печати имени Ивана Федорова
127550 Россия, г. Москва, ул. Прянишникова, д. 2А crewann@icloud.com
Аннотация: В статье рассматривается история развития компьютерных игр и их соотношение с образовательной системой.
Ключевые слова: графика мобильных устройств, библиотеки графических функций.
Невозможно не заметить, как далеко ушли графические возможности мобильных устройств. Можно вспомнить, как в начале 2012 г. вицепрезидент мобильного подразделения Activision Грег Канесса предсказывал ее развитие до уровня Xbox 360. Уже через год была представлена новая версия OpenGL ES, которая до сих пор является основой построения графического интерфейса некоторых устройств.
Что такое OpenGL ES? Если дословно, то это открыта графическая библиотека для встраиваемых систем — мобильных телефонов, карманных компьютеров, планшетов, игровых консолей. Другими словами, это спецификация, т.е. документ, описывающий набор функций и их точное поведение. Позднее сами производители создают реализации — библиотеки функций, соответствующих набору функций спецификации. Такая реализация призвана эффективно использовать возможности оборудования. Если аппаратура не позволяет реализовать какую-либо возможность, она должна быть эмулирована программно. Производители должны пройти тесты на соответствие, прежде чем реализация будет классифицирована как OpenGL-реализация. В итоге разработчикам программного обеспечения достаточно научиться использовать функции, описанные в спецификации, оставив эффективную реализацию последних разработчикам аппаратного обеспечения.
Для чего нужна подобная спецификация? Следует начать с того, что завершающей деталью и критерием оценивания компьютерной графики [6] является применение так называемых текстур. Другими словами, если мы говорим о качестве графики, подразумевается качество текстур.
Текстура — это рисунок, накладываемый на 3D-модель. Они имеют как 2D-параметр (цвет и яркость), так и 3D-параметры (отражение, прозрачность и т.д.). В случае с мобильными устройствами разработчики игр сталкиваются с некоторыми проблемами оптимизации. Занимая значительную часть оперативной памяти, текстуры вызывают высокую трату ресурсов, увеличивая энергопотребление. Следовательно, заряд батареи устройства для некоторых игр может продержаться до 4 часов, а с некоторыми — не более получаса. Ради оптимизации игры производители вынуждены чем-то жертвовать. Однако жертва должна быть мала, поэтому прибегают к различным методам сжатия текстур, которые будут оптимальны.
Здесь мы возвращаемся к теме аппаратного обеспечения. Графические ускорители имеют различные методы сжатия текстур (PVRTC, ASTC, ETC, ATITC и т.д.). К слову, OpenGL ES 3.0 имеет сжатие ETC. Ниже приведены изображения для сравнения качества сжатия ETC1 и ETC2, а также разница между оригинальным и сжатым изображением, усиленная в четыре раза для наглядности.
Теперь более подробно рассмотрим спецификацию OpenGL ES версии 3.2. Она была представлена в августе 2015 г. В ней отражены последние достижения современных встраиваемых графических процессоров (GPU). Также важно отметить возможность улучшения графики для мобильных, потребительских и автомобильных устройств, которую обеспечивает новая функциональность в рамках набора AndroidExtensionPack. Благодаря такому набору появляется возможность создавать игры, которые полноценно смогут составить конкуренцию играм для игровых консолей и персональных компьютеров. Нельзя оставить без внимания и поддержку нового вида сжатия текстур AdaptiveScalableTextureCompression, которое сводит к минимуму потребление памяти и затраты энергии при вводе — выводе обработки текстур. Также внедрены дополнительные способы вывода текстур. Кроме того, спецификация получила обновленные функции отладки и оригинальную систему защиты кода и безопасности выполнения, а также возможность выполнения графических операций с высокой точностью.
Пока OpenGL ES 3.2 представлена в бета-версии от компании NVIDIA, а также в графических процессорах некоторых устройств от Kepler и Maxwell.
Вместе с тем, сравнивая графические возможности двух смартфонов-конкурентов — iPhone 6 и Samsung Galaxy S6 — со значительной разницей в качестве победу одержит «яблоко».
Это вызвано переходом компанией Apple со спецификации OpenGL ES на собственную систему Metal в 2014 г. вместе с появлением новой iOS 8. Ее уникальность состоит в том, что теперь нет необходимости обращаться к посреднику — процессору, который принимал команды и только потом отправлял их в графический процессор. Проще говоря, разработчики получили возможность «общаться» с графической подсистемой, что увеличит эффективность его использования в разы без наращивания возможностей аппаратной части. В сравнении Metal с давно известным OpenGL ES, превосходство в исполнении ряда операций может достигать десятикратного в пользу Apple.
Появление данной системы представляет собой настоящий прорыв в работе с компьютерной графикой. Действует ли это на практике? Были проведены тесты для сравнения OpenGL ES 3.1 с Metal. Были использованы некоторые пары устройств от Apple, но использующих разные системы. Первым тестом был GFXBench 3.0 Driver Overhead, который постепенно рисует большое количество объектов, оценивая производительность системы по такому критерию. В представленной выше диаграмме можно наглядно убедиться в превосходстве быстродействия Metal. По более точным расчетам оно больше до 3,5–4 раз в зависимости от тестируемого устройства. К большому разочарованию, в тестах на быстродействие в играх коэффициент увеличения производительности не так велик.
Наибольший прирост составляет 11%, когда на других моделях им можно вовсе пренебречь.
В итоге можно отметить, что заявления Apple о десятикратном увеличении производительности отрисовки пока не находят своего воплощения в реальности и на деле намного скромнее.
Будем надеяться, что это всего лишь первые результаты, и в будущем производители игр смогут использовать все заявленные возможности по максимуму.
Литература
- 1. Обзор сжатия текстур ETC 2 на Android[Электронный ресурс]. — URL: Перейти (дата обращения 10.11.15)
- 2. ЛОбзор спецификации OpenGL ES[Электронный ресурс]. — URL: Перейти (дата обращения 10.11.15)
- 3. Сравнение качества графики на GalaxyS6 и iPhone 6 [Электронный ресурс]. — URL: Перейти (дата обращения 10.11.15)
- 4. Сравнение спецификаций [Электронный ресурс]. — URL: Перейти (дата обращения 10.11.15)
- 5. Попов Д.И., Воробьев Е.В. Компьютерная графика. — М.: Изд-во МГУП, 2009. — 70 с.