News
News Categories

Vulkan 1.0, a multi-platform API that boost performance, is now official

By Bryan Chan & Koh Wanzi - on 19 Feb 2016, 10:31am

Vulkan 1.0, a multi-platform API that boost performance, is now official

The Khronos Group has released Vulkan 1.0, the first publically available version of the open-source Vulkan API specification and the next-generation iteration of OpenGL. Originally based on AMD’s proprietary Mantle API, Vulkan 1.0 promises large performance gains in games and other 3D applications by giving developers low-level control of graphics and CPU hardware, essentially allowing them to work “closer to the metal”.

Like DirectX 12, Microsoft’s low-level graphics API, Vulkan 1.0 offers additional performance by enabling applications to take better advantage of multi-threaded CPUs. In addition, it gives developers explicit control over the GPU and memory allocation.

Traditional graphics drivers that have been designed for APIs like OpenGL and DirectX 11 include a layer of significant context, memory and error management (handled by the graphics driver) between the application and the GPU. Because the application developer has no idea how the data is managed, it cannot fully account for unpredictable scenarios, which could potentially affect performance when the unexpected happens.

On the other hand, Vulkan allows the application to take control of things like memory allocation and CPU thread management, while the driver itself offers direct control of the GPU. This means simpler drivers that are more efficient and translates into a much-reduced API overhead, which is the amount of background work a CPU or GPU must do to interpret what a game is demanding from the hardware.

Vulkan gives developers explicit control over the GPU's memory resources.

However, unlike DirectX 12, Vulkan will actually work across platforms, supporting Windows 7, Windows 8.1, Windows 10, Linux, and even Android. In fact, Valve – one of the biggest names in game development and distribution – has even gone so far as to recommend that developers choose Vulkan over DirectX 12 because of its cross-platform nature.

Still, there are certain drawbacks to adopting Vulkan. Because certain elements of hardware management are left to application developers, the language is more difficult to work with and using it would require a higher skill level and increase development costs. As a result, Vulkan is intended to complement rather than replace OpenGL, which is still being developed and improved.

Nevertheless, Vulkan will prove invaluable in situations where performance is a priority. For instance, when an application is suffering a CPU bottleneck, or when the absolute best performance is necessary. Developers might also turn to Vulkan if they want to create the smoothest experience possible. One clear application is in the development of VR applications, where fluid gameplay is integral to an immersive experience.

Vulkan isn't intended to replace OpenGL.

Developers like Unity, Epic, Valve, and Dice have said that they will support Vulkan, although none currently have games that take advantage of the API. On the GPU manufacturer front, both NVIDIA and AMD have released beta drivers that support Vulkan, although only NVIDIA’s driver has passed the Khronos Group’s conformance tests.

Source: Khronos Group