Android Q будет поддерживать серверную часть Vulkan для ANGLE, чтобы упростить разработку 2D-игр

Теперь мы знаем, что Android Q будет поддерживать серверную часть Vulkan для ANGLE, что упростит разработку 2D-игр. Читайте дальше, чтобы узнать больше о том, что это значит.

Вулкан API поддержка Android была анонсирована с Android Nougat еще на Google I/O 2016. Чтобы освежить ваш разум, этот API помогает разработчикам получить больший контроль над аппаратным обеспечением низкого уровня. Такой доступ помогает им лучше использовать преимущества вычислительной и графической мощности соответствующих устройств, а также оптимизировать игры для максимально плавной работы. Неудивительно, что правильное распределение памяти и управление потоками важны для любых энергоемких задач, таких как запуск игры. Это то, что уже давно делают популярные консоли, такие как Xbox One и PlayStation 4, — предоставляя разработчикам низкоуровневый контроль над оборудованием внутри устройств.

Также интересно то, что Vulkan — это кроссплатформенный открытый стандарт, предназначенный для графических приложений на разных платформах. Ранее в этом году,

мы нашли подсказку что Android Q может отображать элементы пользовательского интерфейса через Vulkan API. Это будет шагом, направленным на дальнейшее улучшение плавности работы системы. Теперь мы получили информацию о том, что Android Q обязательно будет поддерживать ANGLE, чтобы упростить разработку 2D-игр.

Что такое УГОЛ?

ANGLE — это аббревиатура, обозначающая «Почти собственный графический движок». Появление WebGL привело к необходимости стандартизированного решения поддержки средства рендеринга. Драйверы OpenGL уже давно не очень стабильны на платформе Windows. Итак, ANGLE вывела все на совершенно новый уровень, переведя код OpenGL в Direct3D, API, изначально поддерживаемый в Windows. Основная цель ANGLE — сделать OpenGL переносимым и доступным для всех путем перевода содержимого WebGL и OpenGL ES в аппаратно поддерживаемый API, доступный на платформе. Используя тот же принцип, ANGLE преобразует код OpenGL в код Vulkan на Android, поскольку первый является официально поддерживаемым аппаратным API в операционной системе. Вероятно, вы используете ANGLE каждый день, даже не осознавая этого. ANGLE встроен в веб-браузеры Google Chrome и Mozilla Firefox для настольных компьютеров. Он используется для рендеринга любого графического содержимого внутри этих браузеров в Windows.

OpenGL ES против Вулкана

Группа Khronos прилагает все усилия, чтобы сделать ANGLE основным средством визуализации OpenGL на Vulkan. Многие из вас, возможно, не видят необходимости избавляться от OpenGL в пользу Vulkan, но определенно есть возможности для улучшения. На данный момент OpenGL API считается устаревшей технологией. Первоначально он был выпущен в 1992 году, то есть 26 лет назад. 26 лет, возможно, не так уж много значат для некоторых из вас, но это астрономическая цифра, когда дело касается развития технологий. В 2016 году миру был представлен Vulkan — графический API нового уровня. Но новее не означает автоматически лучше, верно? Позвольте мне объяснить, почему Vulkan намного лучше, чем OpenGL/OpenGL ES.

Если вы когда-либо имели дело с OpenGL ES, вы знаете, что это огромный. API имеет более 300 расширений и его совсем непросто использовать. Vulkan выводит все на совершенно новый уровень, предлагая гораздо меньший API и прямой контроль над графикой. Это также проще реализовать. Хотя Vulkan работает на более низком уровне, чем OpenGL ES, это означает больше возможностей для управления. В Vulkan управление потоками и памятью полностью оставлено на усмотрение разработчика игры, поэтому вы можете использовать ресурсы адекватно. Кроме того, между мобильной и настольной версиями Vulkan очень небольшая разница, что значительно упрощает портирование игр. Короче говоря, Vulkan — это драйвер низкого уровня, который позволяет раскрыть весь потенциал видеокарты, присутствующей на конкретном устройстве.

Почему УГОЛ?

Первым преимуществом ANGLE является то, что это платформа с открытым стандартом. Есть множество способов внести свой вклад в проект. Вы можете протестировать драйвер на своих устройствах, сообщить об ошибках, исправить ошибки, помочь разработчикам найти решения, отправить предложения, пожертвовать деньги на разработку и т. д. Все это повысит скорость разработки. Следующий большой плюс по сравнению с OpenGL ES — это портативность и кроссплатформенность. Характер ANGLE облегчает работу как разработчикам платформ, так и разработчиков игр. Поддерживать и внедрять ANGLE намного проще, чем предыдущие реализации. OpenGL настолько фрагментирован, что выслеживать ошибки и исправлять их на разных устройствах — головная боль для разработчиков. Централизация всех необходимых драйверов в ANGLE означает, что разработчикам будет легче их реализовать. Разработчик ANGLE Джейми Мэдилл подтвердил нам, что на платформе Android ANGLE будет регулярно получать обновления через Google Play Store. Обновление драйверов через встроенный сторонний магазин является хорошей идеей, поскольку пользователю не придется обновлять всю систему каждый раз при обновлении драйвера. Кроме того, разработчикам не придется возиться с кодом каждый раз, когда ANGLE что-то меняет. Вот видео о том, как ANGLE может помочь в разработке игр для Android.

Как видите, ANGLE имеет множество улучшений по сравнению с устаревшим OpenGL ES. Первый предварительный выпуск Android Q для разработчиков не за горами, поэтому мы можем подождать и посмотреть, как ANGLE будет работать на практике. В соответствии с этот коммит, пользователи смогут заставить все приложения работать с ANGLE в настройках разработчика. Поддержка рендерера есть уже объединено в ветку Android Pie, чтобы OEM-производители могли ее протестировать. Вы можете отслеживать развитие ANGLE на веб-сайте и в репозитории GitHub ниже.

Спасибо старшему члену XDA XxPixX за подсказку!

сайт АНГЛРепозиторий GitHub