Vulkan (API)

Поделись знанием:
Перейти к: навигация, поиск
Вулкан (Vulkan)
Тип

API

Автор

Khronos Group

Разработчик

Khronos Group

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

Linux, Windows, Android Nougat, ReactOS

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

16 февраля 2016 г.

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

1.0.32 (25 октября 2016)

Состояние

Актуальное

Лицензия

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

К:Википедия:Статьи без изображений (тип: не указан)К:Программное обеспечение, разработанное в 2016 году

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

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





Обзор

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 года[9].

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

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

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

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

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

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

Использование Vulkan

Игры

В день выхода Vulkan экспериментальная поддержка API была одновременно добавлена в игру The Talos Principle от хорватской компании Croteam, став первой компьютерной игрой, на практике использующей данную технологию[18][19]. 23 марта 2016 года экспериментальная поддержка Vulkan была добавлена в Dota 2[20]. В июне того же года корпорация Samsung Electronics объявила о поддержке портирования игр Need for Speed: No Limits, Vainglory и Heroes of Incredible Tales с OpenGL ES на Vulkan для смартфона Samsung Galaxy S7[21]. В июле 2016 года Bethesda Softworks выпустила патч для игры Doom (2016), в котором отрисовка графики и расчёт физических взаимодействий были переделаны с OpenGL на Vulkan[22][23].

Совместимость

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

См. также

Напишите отзыв о статье "Vulkan (API)"

Примечания

  1. [www.khronos.org/assets/uploads/developers/library/overview/2015_vulkan_v1_Overview.pdf Vulkan : Graphics and compute Belong Together] (PDF). Khronos.org (March 2015). Проверено 5 марта 2015.
  2. [www.khronos.org/vulkan Vulkan - Graphics and compute belong together]. Khronos.org. Проверено 5 марта 2015.
  3. [www.develop-online.net/news/glnext-revealed-as-vulkan-graphics-api/0203867 glNext revealed as Vulkan graphics API | Latest news from the game development industry | Develop]
  4. [www.pcworld.com/article/2894036/mantle-is-a-vulkan-amds-dead-graphics-api-rises-from-the-ashes-as-opengls-successor.html Mantle is a Vulkan: AMD’s dead graphics API rises from the ashes in OpenGL’s successor | PCWorld]
  5. [community.amd.com/community/amd-blogs/amd-gaming/blog/2015/03/03/one-of-mantles-futures-vulkan AMD Gaming: One of Mantle's Futures: Vulkan | AMD Blogs]. Community.amd.com. Проверено 5 марта 2015.
  6. [www.extremetech.com/extreme/200286-not-dead-yet-amds-mantle-powers-new-vulkan-api-vr-efforts Not dead yet: AMD’s Mantle powers new Vulkan API, VR efforts]. ExtremeTech. Проверено 5 марта 2015.
  7. [wccftech.com/mantle-lives-vulkan-wip/ AMD's Mantle Lives On In Vulkan - Lays The Foundation For The Next OpenGL]. Wccftech.com (20 июня 2014). Проверено 5 марта 2015.
  8. Kirsch, Nathan [www.legitreviews.com/amd-mantle-dead-known-vulcan-api-uses-mantle-technology-opengl_159339 Is AMD Mantle Dead As We Have Known It? Vulcan API Uses Mantle Technology for OpenGL]. Legit Reviews. Проверено 5 марта 2015.
  9. [tsdr.uspto.gov/#caseNumber=86539994&caseType=SERIAL_NO&searchType=statusSearch Trademark Status & Document Retrieval]. tsdr.uspto.gov. Проверено 9 ноября 2015.
  10. [www.develop-online.net/news/glnext-revealed-as-vulkan-graphics-api/0203867 glNext revealed as Vulkan graphics API]. www.develop-online.net. Проверено 9 ноября 2015.
  11. [www.polygon.com/2015/3/3/8145273/valve-source-2-announcement-free-developers Valve announces Source 2 engine, free for developers]. Polygon. Проверено 9 ноября 2015.
  12. [www.ign.com/articles/2015/03/04/gdc-2015-valve-announces-source-2-engine GDC 2015: Valve Announces Source 2 Engine - IGN]. IGN. Проверено 9 ноября 2015.
  13. [www.phoronix.com/scan.php?page=news_item&px=valve-intel-vulkan-driver Valve Developed An Intel Linux Vulkan GPU Driver - Phoronix]. www.phoronix.com. Проверено 9 ноября 2015.
  14. [www.phoronix.com/scan.php?page=news_item&px=LunarG-Vulkan-AMA Learning More About The Intel Vulkan Driver, Linux Vulkan Plans - Phoronix]. www.phoronix.com. Проверено 9 ноября 2015.
  15. [twitter.com/eodabash/status/573178560283717632 Evan Odabashian on Twitter]. Twitter. Проверено 9 ноября 2015.
  16. Reto Meier. [android-developers.blogspot.com/2015/08/low-overhead-rendering-with-vulkan.html Low-overhead rendering with Vulkan | Android Developers Blog]. Low-overhead rendering with Vulkan | Android Developers Blog (10 августа 2015). Проверено 9 ноября 2015.
  17. [www.khronos.org/registry/vulkan/specs/1.0/pdf/vkspec.pdf Khronos Vulkan Registry]. www.khronos.org. Проверено 16 февраля 2016.
  18. [www.khronos.org/news/press/khronos-releases-vulkan-1-0-specification Khronos Releases Vulkan 1.0 Specification - Khronos Group Press Release]. The Khronos Group. Проверено 20 июня 2016.
  19. [blogs.nvidia.com/blog/2016/02/16/vulkan-graphics-api/ Vulkan API Is Here, Your GPU Is Ready] (en-US). The Official NVIDIA Blog (16 февраля 2016). Проверено 20 июня 2016.
  20. [store.steampowered.com/news/22000/ Dota 2 Update - May 23rd 2016] (англ.). Valve Corporation (23 May 2016). Проверено 5 июля 2016.
  21. [news.samsung.com/global/see-how-vulkan-api-and-galaxy-s7-create-more-immersive-gaming-experiences See How Vulkan API and Galaxy S7 Create More Immersive Gaming Experiences] (англ.), 2016-06-28. Проверено 11 июля 2016.
  22. [steamcommunity.com/games/379720/announcements/detail/874079593008589523 Vulkan Support Now Live - FAQ] (англ.) (11 July 2016). Проверено 11 июля 2016.
  23. [www.oszone.net/29635/DOOM_Stala_pervoi_igroi-blockbasterom_s_podderzhkoi_Vulkan_API DOOM стала первой игрой-блокбастером с поддержкой Vulkan API] (рус.), OSZone (11 июля 2016). Проверено 11 июля 2016.
  24. [www.khronos.org/assets/uploads/developers/library/overview/vulkan-overview.pdf Vulkan Overwiev]. The Khronos Group. Проверено 5 июля 2016.

Отрывок, характеризующий Vulkan (API)

Он, предназначенный провидением на печальную, несвободную роль палача народов, уверял себя, что цель его поступков была благо народов и что он мог руководить судьбами миллионов и путем власти делать благодеяния!
«Des 400000 hommes qui passerent la Vistule, – писал он дальше о русской войне, – la moitie etait Autrichiens, Prussiens, Saxons, Polonais, Bavarois, Wurtembergeois, Mecklembourgeois, Espagnols, Italiens, Napolitains. L'armee imperiale, proprement dite, etait pour un tiers composee de Hollandais, Belges, habitants des bords du Rhin, Piemontais, Suisses, Genevois, Toscans, Romains, habitants de la 32 e division militaire, Breme, Hambourg, etc.; elle comptait a peine 140000 hommes parlant francais. L'expedition do Russie couta moins de 50000 hommes a la France actuelle; l'armee russe dans la retraite de Wilna a Moscou, dans les differentes batailles, a perdu quatre fois plus que l'armee francaise; l'incendie de Moscou a coute la vie a 100000 Russes, morts de froid et de misere dans les bois; enfin dans sa marche de Moscou a l'Oder, l'armee russe fut aussi atteinte par, l'intemperie de la saison; elle ne comptait a son arrivee a Wilna que 50000 hommes, et a Kalisch moins de 18000».
[Из 400000 человек, которые перешли Вислу, половина была австрийцы, пруссаки, саксонцы, поляки, баварцы, виртембергцы, мекленбургцы, испанцы, итальянцы и неаполитанцы. Императорская армия, собственно сказать, была на треть составлена из голландцев, бельгийцев, жителей берегов Рейна, пьемонтцев, швейцарцев, женевцев, тосканцев, римлян, жителей 32 й военной дивизии, Бремена, Гамбурга и т.д.; в ней едва ли было 140000 человек, говорящих по французски. Русская экспедиция стоила собственно Франции менее 50000 человек; русская армия в отступлении из Вильны в Москву в различных сражениях потеряла в четыре раза более, чем французская армия; пожар Москвы стоил жизни 100000 русских, умерших от холода и нищеты в лесах; наконец во время своего перехода от Москвы к Одеру русская армия тоже пострадала от суровости времени года; по приходе в Вильну она состояла только из 50000 людей, а в Калише менее 18000.]
Он воображал себе, что по его воле произошла война с Россией, и ужас совершившегося не поражал его душу. Он смело принимал на себя всю ответственность события, и его помраченный ум видел оправдание в том, что в числе сотен тысяч погибших людей было меньше французов, чем гессенцев и баварцев.


Несколько десятков тысяч человек лежало мертвыми в разных положениях и мундирах на полях и лугах, принадлежавших господам Давыдовым и казенным крестьянам, на тех полях и лугах, на которых сотни лет одновременно сбирали урожаи и пасли скот крестьяне деревень Бородина, Горок, Шевардина и Семеновского. На перевязочных пунктах на десятину места трава и земля были пропитаны кровью. Толпы раненых и нераненых разных команд людей, с испуганными лицами, с одной стороны брели назад к Можайску, с другой стороны – назад к Валуеву. Другие толпы, измученные и голодные, ведомые начальниками, шли вперед. Третьи стояли на местах и продолжали стрелять.
Над всем полем, прежде столь весело красивым, с его блестками штыков и дымами в утреннем солнце, стояла теперь мгла сырости и дыма и пахло странной кислотой селитры и крови. Собрались тучки, и стал накрапывать дождик на убитых, на раненых, на испуганных, и на изнуренных, и на сомневающихся людей. Как будто он говорил: «Довольно, довольно, люди. Перестаньте… Опомнитесь. Что вы делаете?»
Измученным, без пищи и без отдыха, людям той и другой стороны начинало одинаково приходить сомнение о том, следует ли им еще истреблять друг друга, и на всех лицах было заметно колебанье, и в каждой душе одинаково поднимался вопрос: «Зачем, для кого мне убивать и быть убитому? Убивайте, кого хотите, делайте, что хотите, а я не хочу больше!» Мысль эта к вечеру одинаково созрела в душе каждого. Всякую минуту могли все эти люди ужаснуться того, что они делали, бросить всо и побежать куда попало.
Но хотя уже к концу сражения люди чувствовали весь ужас своего поступка, хотя они и рады бы были перестать, какая то непонятная, таинственная сила еще продолжала руководить ими, и, запотелые, в порохе и крови, оставшиеся по одному на три, артиллеристы, хотя и спотыкаясь и задыхаясь от усталости, приносили заряды, заряжали, наводили, прикладывали фитили; и ядра так же быстро и жестоко перелетали с обеих сторон и расплюскивали человеческое тело, и продолжало совершаться то страшное дело, которое совершается не по воле людей, а по воле того, кто руководит людьми и мирами.
Тот, кто посмотрел бы на расстроенные зады русской армии, сказал бы, что французам стоит сделать еще одно маленькое усилие, и русская армия исчезнет; и тот, кто посмотрел бы на зады французов, сказал бы, что русским стоит сделать еще одно маленькое усилие, и французы погибнут. Но ни французы, ни русские не делали этого усилия, и пламя сражения медленно догорало.
Русские не делали этого усилия, потому что не они атаковали французов. В начале сражения они только стояли по дороге в Москву, загораживая ее, и точно так же они продолжали стоять при конце сражения, как они стояли при начале его. Но ежели бы даже цель русских состояла бы в том, чтобы сбить французов, они не могли сделать это последнее усилие, потому что все войска русских были разбиты, не было ни одной части войск, не пострадавшей в сражении, и русские, оставаясь на своих местах, потеряли половину своего войска.
Французам, с воспоминанием всех прежних пятнадцатилетних побед, с уверенностью в непобедимости Наполеона, с сознанием того, что они завладели частью поля сраженья, что они потеряли только одну четверть людей и что у них еще есть двадцатитысячная нетронутая гвардия, легко было сделать это усилие. Французам, атаковавшим русскую армию с целью сбить ее с позиции, должно было сделать это усилие, потому что до тех пор, пока русские, точно так же как и до сражения, загораживали дорогу в Москву, цель французов не была достигнута и все их усилия и потери пропали даром. Но французы не сделали этого усилия. Некоторые историки говорят, что Наполеону стоило дать свою нетронутую старую гвардию для того, чтобы сражение было выиграно. Говорить о том, что бы было, если бы Наполеон дал свою гвардию, все равно что говорить о том, что бы было, если б осенью сделалась весна. Этого не могло быть. Не Наполеон не дал своей гвардии, потому что он не захотел этого, но этого нельзя было сделать. Все генералы, офицеры, солдаты французской армии знали, что этого нельзя было сделать, потому что упадший дух войска не позволял этого.
Не один Наполеон испытывал то похожее на сновиденье чувство, что страшный размах руки падает бессильно, но все генералы, все участвовавшие и не участвовавшие солдаты французской армии, после всех опытов прежних сражений (где после вдесятеро меньших усилий неприятель бежал), испытывали одинаковое чувство ужаса перед тем врагом, который, потеряв половину войска, стоял так же грозно в конце, как и в начале сражения. Нравственная сила французской, атакующей армии была истощена. Не та победа, которая определяется подхваченными кусками материи на палках, называемых знаменами, и тем пространством, на котором стояли и стоят войска, – а победа нравственная, та, которая убеждает противника в нравственном превосходстве своего врага и в своем бессилии, была одержана русскими под Бородиным. Французское нашествие, как разъяренный зверь, получивший в своем разбеге смертельную рану, чувствовало свою погибель; но оно не могло остановиться, так же как и не могло не отклониться вдвое слабейшее русское войско. После данного толчка французское войско еще могло докатиться до Москвы; но там, без новых усилий со стороны русского войска, оно должно было погибнуть, истекая кровью от смертельной, нанесенной при Бородине, раны. Прямым следствием Бородинского сражения было беспричинное бегство Наполеона из Москвы, возвращение по старой Смоленской дороге, погибель пятисоттысячного нашествия и погибель наполеоновской Франции, на которую в первый раз под Бородиным была наложена рука сильнейшего духом противника.