Vulkan API: что это такое и для чего он нужен в смартфоне
Статьи и Лайфхаки
Причем не только у пользователей десктопов, но и в среде поклонников мобильных платформ.
В нашей статье мы вкратце проясним, что это такое вообще, для чего нужно, и почему без него не получится играть.
Что такое API
Мы все пользуемся этой непонятной штуковиной изо дня в день, причем большинство об этом даже не подозревает.
И правильно: ведь один из признаков хорошего программного продукта – отсутствие потребности разбираться, «как оно там работает».
В общем случае суть понятия API довольно-таки проста: это интерфейс или набор протоколов и спецификаций, позволяющий одной программе общаться с другой. Желательно,
В этом случае программа, для работы с которой создается API, выступает в роли некоего «черного ящика»: программисту не надо знать, как там что устроено, ему достаточно набора управляющих команд, на которые последует четко прописанная реакция.
Если говорить о компьютерной графике, то этот интерфейс позволяет «рисовать» на дисплее устройства с минимальными затратами времени программиста.
Все уже продумано и подготовлено, и чтобы получить результат, ему достаточно написать несколько строк кода, вместо «простыней».
Проблемы кроссплатформенности
Тот самый DirectX, о котором говорилось в начале статьи, при своем создании затачивался под вполне конкретную аппаратную и программную платформу. Если конкретнее – под Windows и x86.
Как результат – уже под Linux использовавшие ее игры шли только при посредстве
Однако к концу десятых такая ситуация была уже неприемлема, и Microsoft пришлось позаботиться о кроссплатформенности. В отличие от «мелкомягкого» API, Vulkan изначально создавался Khronos Group как кроссплатформенный интерфейс.
Этот консорциум еще ранее получил контроль над основным конкурентом DirectX, OpenGL, но развитие трехмерной графики требовало новых решений, свободных от «наследия» прежних лет, продиктованного необходимостью в совместимости.
Где используется Vulkan
На сегодняшний день версии данного API существуют практически для любой актуальной десктопной или мобильной платформы:
- Linux.
- Android.
- Microsoft Windows.
- Fuchsia.
- MacOS, IOS.
- Nintendo Switch.
- Tizen.
Помимо операционных систем, поддержка интерфейса имеется в большинстве современных движков, применяемых для создания игр, таких, как Unreal Engine, Unity, Quake Engine и десятка прочих.
Для пользователей старого «железа» стала неприятным сюрпризом необходимость в аппаратной поддержке новой технологии. Старые видеокарты были просто неспособны использовать Vulkan ни при каких условиях.
Как результат – многие новинки игр, даже при вроде бы приличной производительности системы, попросту не запускались. А некоторые из них стали «проблемными», начиная с определенных версий, как, например, No Man's Sky.
А что в смартфонах?
В точности такая же картина, как и на десктопах: поддержка нового API заложена не только в самом Android, но и на аппаратном уровне. Графические процессоры чипсетов получили поддержку Vulkan начиная с 2016 года.
Поэтому к настоящему моменту все новые модели смартфонов совместимы с данным интерфейсом, так же как и с другими предназначенными для 3D графики API: OpenGL, OpenCL и DirectX.
Актуальной версией на момент написания статьи является 1.1.
Особо стоит отметить Apple, которая, как обычно, «особенная»: купертинцы активно продвигают в среде создателей мобильных игр собственную API под названием Metal.
Она появилась на год раньше Vulkan, поскольку уже тогда было ясно, что старые интерфейсы исчерпали свои возможности. Результаты использования новинки просто поражали: портированные старые игры получали увеличение производительности по сравнению с OpenGL до 10 раз!
Однако очевидно, что в современных условиях для подобного случая проприетарность – это путь в никуда.
В заключение
С точки зрения пользователя Vulkan не представляет никаких возможностей для непосредственного взаимодействия.
Либо он по умолчанию имеется, и даже знать о его присутствии не обязательно – либо (в случае старых девайсов), его нет, и ничего с этим не поделаешь.
Достаточно знать возможности своего устройства и требования игры, которую на нем предполагается запустить – и этого более чем достаточно.
Подписывайтесь на нас в Telegram и ВКонтакте.
Прочитало: 70 452 человек