Wenn Sie gerne die neuesten Technologien im Auge behalten, müssen Sie von Vulkan gehört haben. Die Vulkan-API ist die neueste und beste Grafik-API, die von der Khronos Group angekündigt wurde und die hinter dem aktuellen Industriestandard OpenGL steht. Der Projektname Vulkan wurde auf der Spieleentwicklerkonferenz 2015 offiziell bekannt gegeben, und die erste Version der API wurde im Februar 2016 veröffentlicht. Die neue API zielt darauf ab, Spielgrafiken auf die nächste Stufe zu heben Details, wir sind hier, um es Ihnen zu geben.
Wir diskutieren, was Vulkan API ist, wie es sich von seinem Vorgänger OpenGL unterscheidet und wie Vulkan API die Art und Weise verändern könnte, wie Spiele und andere grafikintensive Anwendungen in naher Zukunft entwickelt werden. Lesen Sie weiter, um mehr über diese aufregende Entwicklung in der Welt des Renderns und der Grafik zu erfahren.
Was ist die Vulkan API??
Vor ein paar Jahren zeigte AMD Mantle, eine Arendering-API, die auf 3D-Spiele ausgerichtet war, und obwohl es vielversprechend war, eine schnellere Lösung für das Rendern von Grafiken zu sein, hat AMD das Projekt abgebrochen. Anschließend gab AMD die Mantle-API-Komponenten an die Khronos Group weiter, um eine Standard-API für das Rendern zu entwickeln. Das Ergebnis ist die neue Vulcan-API.
Die Vulkan-API ist eine Rendering-API mit geringem Overhead, die die heutzutage allgegenwärtigen Multi-Core-CPUs besser nutzen kann und Programmen einen direkteren Zugriff auf die CPU und die GPU des Systems ermöglicht. Es ist auch OS-unabhängig. Dies bedeutet, dass Anwendungen, die die Vulkan-API verwenden, problemlos portierbar sind.
Da wir selbst begeisterte Gamer und Spiele-Enthusiasten sind, haben wir uns entschlossen, einen Blick in die Zukunft zu werfen, wie Spiele bald entwickelt werden und wie (wenn überhaupt) dies unser Spielerlebnis verbessern wird.
Eigenschaften
Die Vulkan-API verfügt über zahlreiche Funktionen, die sie anders und besser machen als ihr Vorgänger OpenGL:
1. Die Vulkan-API versucht, die Verarbeitungslasten in einer Multi-Core-Umgebung gleichmäßig auf jeden Kern zu verteilen. Dies bedeutet, dass daher jeder Kern im Prozessor verwendet wird Maximierung der Effizienz.
- Dies macht einen sehr spürbaren Unterschied beim Rendern von Grafiken, die viele Zeichenaufrufe erfordern.
- Bei älteren APIs ist die CPU häufig ein Engpass. Vulkan nutzt Multi-Core-CPUs jedoch so gut, dass es wahrscheinlicher ist, dass stattdessen ein Engpass in der GPU auftritt.
2. Die Vulcan API bietet direkter Zugriff auf die GPU, Dadurch wird sichergestellt, dass beim Zugriff auf die GPU für Draw Calls und andere GPU-Funktionen kein unnötiger Overhead entsteht.
- Dies bedeutet, dass schwerere Spiele jetzt nicht mehr so CPU-intensiv sind wie derzeit. Außerdem spielen Treiber eine geringere Rolle bei der Bereitstellung des Zugriffs auf die GPU, wodurch die Übertragung von Informationen erheblich beschleunigt wird.
3. Die API ist auch so konzipiert vollständig plattformübergreifend.
- Keine verzweigten APIs mehr für Handys, Desktops und Konsolen. Die Vulkan-API ist auf allen Geräten mit einer kompatiblen GPU gleich.
4. Während OpenGL die GPU-Speichernutzung und -Synchronisation verborgen hielt, macht Vulkan dies sichtbar und bietet den Entwicklern noch bessere Möglichkeiten Kontrolle über die GPU und wie es verwendet wird.
- Mit Vulkan können die Entwickler steuern, wie die GPU Texturen formatiert, den Speicher verwaltet und die Synchronisierung durchführt.
- Es werden jedoch immer noch genügend Informationen ausgeblendet, um sie zu verwalten plattformübergreifende Kompatibilität.
5. Vulkan benutzt die SPIR-V-Zwischensprache für paralleles Rechnen und Grafik. SPIR-V wurde wie seine Vorgänger SPIR1.2 und SPIR2.0 von der Khronos-Gruppe entwickelt, mit dem Unterschied, dass SPIR-V kein LLVM verwendet. Mit SPIR-V kann Vulkan auf jeder Plattform einen gemeinsamen Front-End-Compiler haben. Entwickler müssen auch keinen Kernel oder Shader-Code ausliefern, und die Treiberimplementierung wird vereinfacht.
Wie Vulkan uns als Endbenutzer helfen könnte
Wenn die Vulkan-API von Entwicklern in vollem Umfang implementiert wird, kann sie das Spielerlebnis des Endbenutzers (das sind Sie und ich!) Drastisch verbessern. Überlegen Grafiken auf Konsolenebene auf Mobilgeräten, Vielleicht sogar Desktop-Grafiken für High-End-Flaggschiffe mit kompetenten Prozessoren!
1. Da die meisten mobilen SoCs heutzutage auch Multi-Core-SoCs sind, wird Vulkan dies tun Verwenden Sie die Prozessoren maximal möglich, was die Spiele flüssiger macht (höhere FPS).
2. Da Vulkan einen geringen Overhead-Zugriff auf die GPU des Geräts bietet, bedeutet dies, dass Spiele die Zeit für den Zugriff auf GPU-Ressourcen erheblich reduzieren können. Dies führt wiederum zu einer besseren Grafik bei höheren Bildern pro Sekunde Maximale Nutzung der GPU-Funktionen.
3. Während plattformübergreifende Funktionen, die die Portabilität für Spiele vereinfachen, Sie als Endbenutzer möglicherweise nicht direkt betreffen, bedeutet dies, dass Ihr Favorit Spiele und grafikintensive Anwendungen sind möglicherweise auf fast jeder Plattform verfügbar dort draußen. Die Möglichkeiten sind endlos und nur durch unsere Vorstellungskraft begrenzt.
4. Spiele werden auch in der Lage sein, sicherzustellen glattere Leistung indem sichergestellt wird, dass die GPU den Dingen, die für den Benutzer sofort sichtbar sind, mehr Aufmerksamkeit schenkt (sprich: weist mehr Speicher zu und bevorzugt sie), wodurch das Spiel immuner gegen Verzögerungen und Frame-Drops wird.
Optionen für Entwickler
Eine Low-Level-API mit geringem Overhead für Grafiken ist zweifellos eine gute Idee, aber nicht für jeden Entwickler, insbesondere für die neuen, eine offensichtliche Attraktion. Das Programmieren auf einer niedrigeren, näher an der Hardware-Ebene liegenden Ebene erfordert einiges mehr Können als das Programmieren auf einer höheren Ebene, die abstrakter ist. Dies ist in keiner Weise ein Schock. Es ist ziemlich offensichtlich und genau deshalb haben Entwickler drei verschiedene Möglichkeiten, wie sie Vulkan für ihre Entwicklungsprojekte verwenden können.
1. Verwenden Sie die Vulkan-API direkt
- Dies bietet den Zugriff auf die Hardware auf der untersten Ebene und ist offensichtlich nicht für jeden eine Wahl. Diese Ebene kann jedoch verwendet werden, um Benchmarking-Tools für andere Anwendungen zu erstellen, die mit Vulkan entwickelt wurden.
2. Verwenden Sie Bibliotheken
- Möglicherweise die praktikabelste Option für Entwickler, die von OpenGL zu Vulkan wechseln.
- Die meisten Bibliotheken werden Open Source sein, sodass Entwickler, die Erfahrung in der Entwicklung mit OpenGL haben, versuchen können, ihre OpenGL-Anwendungen relativ einfach auf die Vulkan-API zu portieren, anstatt eine vollständige Überarbeitung durchführen oder von vorne beginnen zu müssen.
3. Verwenden Sie mit Vulkan optimierte Game Engines
- Wir sind sicher, dass hier die meisten Entwickler einsteigen werden. Game Engines werden von etablierten, erfahrenen Branchenschwergewichten entworfen und entwickelt und können von Entwicklern (sowohl erfahrenen als auch Anfängern) problemlos verwendet werden, um Spiele zu erstellen, die die Vorteile nutzen angeboten von der Vulkan API.
- Entwickler wie Epic Games (Unreal Engine) und Unity (Unity Engine) haben bereits die Unterstützung von Vulkan für ihre kommenden Engines angekündigt, und viele weitere haben Pläne angekündigt, zu folgen.
SIEHE AUCH: Grundlegendes zu APFS: Das neue Dateisystem von Apple
Sei aufgeregt!
Falls der Artikel Sie nicht überzeugt hat ... seien Sie aufgeregt! Jetzt! Vulkan verspricht eine bahnbrechende Entwicklung für Grafik-APIs zu sein, die unser Spieleleben verbessern wird. Es gibt bereits Videos mit Vergleichen zwischen der Leistung von Vulkan und OpenGL, und die Ergebnisse sind - ganz einfach - erstaunlich. Wenn diese Videos Anzeichen dafür sind, können Sie dank der Einführung der Vulcan-API überall eine erstaunliche Grafikqualität erleben, einschließlich Ihrer Handys!
Also, was denkst du über Vulkan? Glauben Sie, dass dies eine große Verbesserung gegenüber dem aktuellen OpenGL-Standard darstellt? Lass es uns in den Kommentaren unten wissen.