Vulkan (API)

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
Вулкан (Vulkan)
Vulkan.svg
Тип

API

Автор

Khronos Group

Разработчик

Khronos Group

Операционная система

Linux, Android Nougat, ReactOS, Windows

Первый выпуск

16 февраля 2016 г.

Последняя версия

1.0.51 (4 июня 2017)[1]

Состояние

Актуальное

Лицензия

Пользовательское соглашение

Сайт

khronos.org/vulkan/

Vulkan — кроссплатформенный API для 2D- и 3D-графики, впервые представленный Khronos Group в рамках конференции GDC 2015[2][3].

Vulkan API изначально был известен как «новое поколение OpenGL» или просто «glNext», но после анонса компания отказалась от этих названий в пользу названия Vulkan[4]. Как и OpenGL, Vulkan позволяет с высокой производительностью отображать в реальном времени различные приложения с 3D-графикой, такие как игры или интерактивные книги на всех платформах, а также обеспечивает более высокую производительность и меньшую нагрузку на процессор, аналогично Direct3D 12 и Mantle. Vulkan основан на технологиях AMD в Mantle[5][6][7][8][9].

Обзор[править | править вики-текст]

Vulkan предназначен для обеспечения различных преимуществ по сравнению с другими API, включая его предшественника OpenGL. Vulkan предлагает более низкие накладные расходы, более непосредственный контроль над GPU, и с меньшей нагрузкой на CPU. Vulkan имеет предполагаемые преимущества:

  • OpenGL использует язык высокого уровня для написания шейдеров GLSL. Это заставляет каждого производителя OpenGL драйвера реализовать свой собственный компилятор для GLSL, который выполняется во время выполнения приложения, чтобы перевести шейдерные программы в исполняемый код для целевой платформы. Vulkan вместо этого обеспечивает промежуточный двоичный формат под названием SPIR-V (Standard Portable Intermediate Representation), аналогичный двоичному формату в который компилируются HLSL шейдеры на платформе DirectX. Это снимает бремя с поставщиков драйверов, позволяя производить компиляцию шейдеров на этапе разработки. Также позволяет разработчикам приложений писать шейдеры на других языках, кроме GLSL.
  • Кроссплатформенный API поддерживается на мобильных устройствах и высокопроизводительных видеокартах.
  • Улучшенная поддержка современных систем, использующих многопоточность.
  • Снижение нагрузки на ЦП в ситуациях, когда процессор является недостаточно производительным, что позволяет достичь более высокой пропускной способности для GPU-вычислений и визуализации.

История[править | править вики-текст]

Летом 2014 года Khronos Group начала проект по созданию следующего поколения графического API. В 2014 году на SIGGRAPH проект был публично анонсирован с призывом к участию.

Согласно ведомству США по патентам и товарным знакам, фирменный знак «Vulkan» был зарегистрирован 19 февраля 2015 года[10].

Vulkan был официально назван и анонсирован на Game Developers Conference 2015, хотя спекуляции и слухи вокруг нового API существовали заранее. Один из вариантов названий был «glNext»[11].

3 марта 2015 года Valve анонсировала Source 2, игровой движок с поддержкой графического API Vulkan[12][13].

В начале 2015 года LunarG (финансируется Valve) разработан и представлен драйвер Linux для Intel, который позволил Vulkan иметь совместимость с интегрированной графической системой HD 4000 серии, которая, несмотря на открытый драйвер Mesa, не полностью совместима с OpenGL 4.0[14][15]. Существует еще возможность[16] поддержки Sandy Bridge, так как он поддерживает Direct3D 11.

10 августа 2015 года Google объявила о будущей версии Android с поддержкой Vulkan[17].

18 декабря 2015 года Khronos Group объявила о том, что спецификация версии Vulkan 1.0 практически завершена и будет выпущена, когда будут доступны совместимые драйверы.

16 февраля 2016 года выпущена публичная спецификация версии Vulkan 1.0[18] и экспериментальные драйверы для видеокарт AMD и Nvidia.

Использование Vulkan[править | править вики-текст]

Игры[править | править вики-текст]

  • The Talos Principle – первая игра от хорватской компании Croteam, использующая данную технологию на практике.[19]
  • Dota 2 – 23 марта 2016 года была добавлена экспериментальная поддержка Vulkan и попала в релиз в мае 2016.[20]
  • Doom – 11 июля 2016 года Id Software выпустили патч для игры Doom (2016), в котором отрисовка графики и расчёт физических взаимодействий были переделаны с OpenGL на Vulkan.[21][22][23]
  • vkQuake – порт игры Quake на Vulkan выпущен в июле 2016.[24][25]
  • Need for Speed: No Limits, Vainglory и Heroes of Incredible Tales - в июне 2016 года Samsung объявила о поддержке портирования игр с OpenGL ES на Vulkan для смартфона Samsung Galaxy S7.[26]
  • Mad Max (игра, 2015) – 30 марта 2017 года в бета-тест вышла версия игры для Linux, использующая Vulkan. При этом количество кадров в секунду значительно увеличилось, местами более, чем в два раза.[27]
  • Olympus Rising – Поддержка добавлена 20 августа 2016.
  • Rust – Поддержка добавлена 13 января 2017.
  • Destinations – Поддержка добавлена 22 февраля 2017.
  • Wolfenstein II: The New Colossus – объявлена поддержка Vulkan.[28]
  • Побег из Таркова – объявлена поддержка Vulkan.[29]

Совместимость[править | править вики-текст]

Начальная спецификация утверждает, что Vulkan будет работать на оборудовании, которое в настоящее время поддерживает OpenGL ES 3.1 или OpenGL 4.x и выше[30]. В качестве поддержки Vulkan потребует новых графических драйверов, но это не обязательно означает, что все существующие устройства, которые поддерживают OpenGL ES 3.1 или OpenGL 4.X будут иметь доступные драйверы с поддержкой Vulkan.

См. также[править | править вики-текст]

Примечания[править | править вики-текст]

  1. Vulkan 1.0.50 - A Specification
  2. Vulkan : Graphics and compute Belong Together (PDF). Khronos.org (March 2015). Проверено 5 марта 2015.
  3. Vulkan - Graphics and compute belong together. Khronos.org. Проверено 5 марта 2015.
  4. glNext revealed as Vulkan graphics API
  5. Mantle is a Vulkan: AMD’s dead graphics API rises from the ashes in OpenGL’s successor | PCWorld
  6. AMD Gaming: One of Mantle's Futures: Vulkan | AMD Blogs. Community.amd.com. Проверено 5 марта 2015.
  7. Not dead yet: AMD’s Mantle powers new Vulkan API, VR efforts. ExtremeTech. Проверено 5 марта 2015.
  8. AMD's Mantle Lives On In Vulkan - Lays The Foundation For The Next OpenGL. Wccftech.com (20 июня 2014). Проверено 5 марта 2015.
  9. Kirsch, Nathan Is AMD Mantle Dead As We Have Known It? Vulcan API Uses Mantle Technology for OpenGL. Legit Reviews. Проверено 5 марта 2015.
  10. Trademark Status & Document Retrieval. tsdr.uspto.gov. Проверено 9 ноября 2015.
  11. glNext revealed as Vulkan graphics API. www.develop-online.net. Проверено 9 ноября 2015.
  12. Valve announces Source 2 engine, free for developers. Polygon. Проверено 9 ноября 2015.
  13. GDC 2015: Valve Announces Source 2 Engine - IGN. IGN. Проверено 9 ноября 2015.
  14. Valve Developed An Intel Linux Vulkan GPU Driver - Phoronix. www.phoronix.com. Проверено 9 ноября 2015.
  15. Learning More About The Intel Vulkan Driver, Linux Vulkan Plans - Phoronix. www.phoronix.com. Проверено 9 ноября 2015.
  16. Evan Odabashian on Twitter. Twitter. Проверено 9 ноября 2015.
  17. Reto Meier. Low-overhead rendering with Vulkan | Android Developers Blog. Low-overhead rendering with Vulkan | Android Developers Blog (10 августа 2015). Проверено 9 ноября 2015.
  18. Khronos Vulkan Registry. www.khronos.org. Проверено 16 февраля 2016.
  19. Quick Look: Vulkan Performance on The Talos Principle, Anandtech (17 February 2016). Проверено 19 февраля 2016.
  20. Dota 2 Update - May 23rd 2016. store.steampowered.com. Valve. Проверено 24 мая 2016.
  21. Vulkan Support Now Live - FAQ (англ.) (11 July 2016). Проверено 1 апреля 2017.
  22. DOOM стала первой игрой-блокбастером с поддержкой Vulkan API (рус.), OSZone (11 июля 2016). Проверено 11 июля 2016.
  23. DOOM – Vulkan Support Now Live. bethesda.net.
  24. Here is your first look at the first Quake being recreated in Unreal Engine 4 (fan project). Dark Side of Gaming (21 July 2016). Проверено 26 августа 2016.
  25. Quake 1 Ported To Run On Vulkan. Phoronix. Phoronix Media (25 July 2016). Проверено 26 августа 2016.
  26. See How Vulkan API and Galaxy S7 Create More Immersive Gaming Experiences (англ.), 2016-06-28. Проверено 1 апреля 2017.
  27. Mad Max meets Vulkan in a new fully public beta for Linux, benchmarks and OpenGL vs Vulkan comparisons (англ.), GamingOnLinux. Проверено 3 апреля 2017.
  28. Твит Tiago Sousa 12.06.2017
  29. Forum: Vulkan API Support?
  30. Vulkan Overview. The Khronos Group. Проверено 5 июля 2016.