Ако обичате да поддържате раздела за най-новите технологии, сигурно сте чували за Вулкан. API на Вулкан е най-новото и най-доброто от графичните API, обявени от групата на Khronos, които са хората зад сегашния индустриален стандарт OpenGL. Името на проекта Vulkan беше официално обявено на Конференцията на разработчиците на игри през 2015 г., а първата версия на API стартира през февруари 2016 г. Новият API е насочен към превръщането на игралните графики в следващото ниво, така че ако се интересувате от подробности, ние сме тук, за да ви го дам.
Обсъждаме какво е Vulkan API, как се различава от предшественика му OpenGL и как Vulkan API може да промени начина, по който игрите и другите приложения, интензивно графики, се разработват в близко бъдеще. Прочетете повече за това вълнуващо развитие в света на визуализацията и графиката.
Какво е Vulkan API?
Преди няколко години AMD показа Mantle, който предлага API, който е бил насочен към 3D игри и въпреки че е обещал да бъде по-бързо решение за рендиране на графики, AMD уби проекта. След това AMD даде на компонентите на Mantle API на Khronos Group да разработи стандартен API за рендиране. Е, резултатът е новият Vulcan API.
API на Вулкан е нисък API за визуализация, който може по-добре да използва многоядрените процесори, които са навсякъде в наши дни, и също така ще осигурява програми с по-директен достъп до процесора и графичния процесор на системата. Също така е и агностик на операционната система. Това означава, че приложенията, които използват Vulkan API ще бъдат лесно преносими.
Тъй като ние сме запалените геймъри и ентусиасти на игри, решихме да погледнем в бъдещето как ще се развиват игрите скоро и как (ако изобщо) ще подобри нашето игрално изживяване.
Характеристика
API на Вулкан има доста функции, които го правят различен и по-добър от своя предшественик OpenGL:
1. API на Вулкан се опитва да балансира натоварването на обработката по равно между всяко ядро в многоядрена среда. Това означава, че всяко ядро на процесора се използва, като по този начин се постига максимална ефективност .
- Това ще направи много забележима разлика в визуализирането на графики, които изискват много обаждания за изтегляне.
- С наследствени API-и, по-често, отколкото не, CPU е пречка. Въпреки това, Вулкан поставя многоядрените процесори на такава добра употреба, че е по-вероятно да се открие пречка в GPU.
2. Vulcan API ще предлага директен достъп до графичния процесор, който ще гарантира, че ще се избегнат ненужни разходи за достъп до видеокартата за повиквания и други GPU устройства.
- Това означава, че по-тежките игри вече няма да бъдат толкова интензивни, колкото са в момента. Също така, водачите ще играят по-малка роля в осигуряването на достъп до видеокартата, което прави прехвърлянето на информация много по-бързо.
3. API също е проектиран да бъде напълно крос платформа .
- Няма повече разклоняващи се API за мобилни телефони, настолни компютри и конзоли. Vulkan API ще бъде еднакъв във всяко устройство с съвместим графичен процесор.
4. Докато OpenGL държи скритата памет и синхронизация на видеокартата, Vulkan излага това и дава на разработчиците още по-добър контрол над видеокартата и как се използва.
- Vulkan позволява на разработчиците да контролират форматирането на графичния процесор, управлява паметта и извършва синхронизация.
- Въпреки това, той все още крие достатъчно информация, за да поддържа съвместимост между платформите .
5. Вулкан използва междинния език SPIR-V за паралелни изчисления и графики. SPIR-V, подобно на неговите предшественици, SPIR1.2 и SPIR2.0, е разработен от групата Khronos, с тази разлика, че SPIR-V не използва LLVM. SPIR-V позволява на Vulkan да има общ компилатор на всяка платформа. Разработчиците също не се нуждаят от доставка на ядро, код на шейдъра и прилагането на драйвера е опростено.
Как Вулкан може да ни помогне като крайни потребители
API на Вулкан, когато е реализиран в пълния си потенциал от разработчиците, може да подобри игралното изживяване на крайния потребител (това сте вие и аз!). Помислете за графики на конзолно ниво на мобилни устройства, може би дори графични графики за висок клас флагмани с компетентни процесори!
1. Тъй като повечето мобилни SoCs са и многоядрени, Vulkan ще използва процесорите в максимална степен, правейки игрите по-гладки (по-високи FPS).
2. Също така, тъй като Vulkan осигурява лесен достъп до графичния процесор на устройството, това означава, че игрите вече ще могат да намалят времето, необходимо, за да получите достъп до ресурсите на графичния процесор до голяма степен. Още веднъж, това се превръща в по-добра графика при по-високи кадъра в секунда чрез максимално използване на възможностите на видеокартата .
3. Докато възможностите за кръстосани платформи, които правят преносимостта на игрите по-лесно, не могат директно да ви засягат като краен потребител, това означава, че любимите ви игри и приложения с интензивно графично приложение биха могли да бъдат достъпни на почти всяка платформа . Възможностите са безкрайни и ограничени само от нашето въображение.
4. Игрите също така ще могат да осигурят по-гладко представяне, като гарантират, че видеокартата плаща по-голямо внимание (чете: разпределя повече памет и дава предимство) на неща, които са незабавно видими за потребителя, което прави играта по-имунизирана от забавянията и падането на рамката.,
Опции за програмисти
Въпреки че ниско ниво на приложния програмен интерфейс (API) за графики е несъмнено добра идея, това не е очевидна привлекателност за всеки разработчик, особено за новите. Програмирането на по-ниско, по-близко до хардуерно ниво изисква доста повече умения от програмирането на по-високо ниво, което е по-абстрахирано. Това по никакъв начин не е шокиращо. Това е доста очевидно и точно затова разработчиците ще имат три различни варианта за това как да използват Vulkan за своите проекти за развитие.
1. Използвайте директно Vulkan API
- Това ще осигури достъп до хардуера на най-ниско ниво и очевидно няма да бъде избор за всички. Това ниво обаче може да се използва за създаване на инструменти за бенчмаркинг за други приложения, разработени с помощта на Vulkan.
2. Използвайте библиотеки
- Вероятно най-подходящата опция за разработчици, които преминават от OpenGL към Vulkan.
- Повечето библиотеки ще бъдат с отворен код, така че разработчиците, които имат опит в разработката с помощта на OpenGL, могат да се опитат и да прехвърлят OpenGL приложенията си към Vulkan API с относителна лекота, вместо да се налага да правят цялостен ремонт или да започват от нулата.
3. Използвайте Игри Двигатели Оптимизирани с Вулкан
- Сигурни сме, че това е мястото, където повечето от разработчиците ще влязат. Игровите двигатели са проектирани и разработени от утвърдени, опитни, индустриални тежка категория и могат да бъдат използвани лесно от разработчиците (както опитни, така и начинаещи) за създаване на игри, които използват предимствата предлагани от Vulkan API.
- Разработчици като Epic Games (Unreal Engine) и Unity (Unity Engine) вече обявиха поддръжката на Vulkan в предстоящите си двигатели и много други обявиха планове да следват.
ВИЖ СЪЩО: Разбиране на APFS: Новата файлова система на Apple
Вълнувай!
В случай, че статията не ви убеди… развълнувайте се! Сега! Вулкан обещава да бъде един вид новаторско развитие в графичните API, което ще подобри живота ни в игрите. Вече съществуват видеоклипове за сравнения между представянето на Vulkan и OpenGL, а резултатите са - съвсем просто - невероятни. Ако тези видеоклипове са някаква индикация, пригответе се да изпитате невероятно качество на графиката навсякъде, включително вашите мобилни телефони, всичко това, благодарение на пристигането на Vulcan API!
И така, какво мислите за Вулкан? Смятате ли, че това ще бъде голямо подобрение спрямо сегашния стандарт OpenGL? Кажете ни в раздела за коментари по-долу.