Vulkan is a low level cross-platform 3D graphics and compute API that gives direct access of the GPU to developers who want the ultimate in control. This allows developers to create applications for a variety of PC, mobile and embedded devices using diverse operating systems. Like OpenGL, Vulkan is an open, royalty-free standard available for any platform to adopt. With a simpler, thinner driver, Vulkan has less latency and overhead than traditional OpenGL or Direct3D. Vulkan also has efficient multi-threading capabilities so that multi-core CPUs can keep the graphics pipeline loaded, enabling a new level of performance on existing hardware.
Vulkan was first announced at GDC 2015 by the Khronos Group. It is derived from and built upon components of AMD's Mantle API, which was donated by AMD to Khronos with the intent of giving Khronos a foundation on which to begin developing a low-level API that they could standardize across the industry, much like OpenGL.
The Khronos members span the computing industry and are jointly creating an explicit and predictable API that satisfies the needs of software vendors in fields as varied as game, mobile and workstation development. Vulkan's conscious API design enables efficient implementations on platforms that span a wide range of mobile and desktop hardware as well as across operating systems.
Vulkan features -
- The API is oriented around asynchronous generation of command buffers across multiple threads and sequenced processing of those buffers to a command pipeline.
- Vulkan API is well suited for high-end graphics cards as well as for graphics solutions present on mobile devices.
- Thread and memory management tasks are left to the application, not the driver, allowing game developers more control over those behaviors and thus potentially more accurate tailoring of those behaviors to their individual game's needs.
- In contrast to DirectX 12, Vulkan is available on multiple modern operating systems; like OpenGL, the Vulkan API is not locked to a single OS or device form factor. As of release, Vulkan runs on Windows 7, Windows 8, Windows 10, Tizen, Linux, and Android.
- Reduced load on CPUs through the use of batching, leaving the CPU free to do additional computation or rendering than otherwise.
- Unified management of compute kernels and graphical shaders, eliminating the need to use a separate compute API in conjunction with a graphics API.