Nvidia recently published a high-level abstraction layer for the Vulkan API. Dubbed VkHLF (Vulkan High-Level Framework), this new framework aims to simplify the task of creating content for game developers.
VkHLF is an experimental high level abstraction library on top of Vulkan. It adds features like transparent suballocation, resource tracking on the CPU & GPU and simplified resource creation while staying as close as possible to the original Vulkan API.
VkHLF adds several useful functions on top of the Vulkan API including reference counting, device suballocator, and GPU resource tracking. In contrast to the Vulkan-Hpp, VkHLF is designed to operate at a much higher level, but it’s still designed for high-performance, although reduced performance may occur if implemented outside of the intended usage patterns.
An abstraction layer such as VkHLF can reduce development complexity by hiding the “behind the scene” code for a particular set of functions. For example, when you invoke a function call such as “buildHouse (brick, mortar)”, the function will invoke lesser functions to build a house without further input from the programmer. Abstraction layers are excellent for making development speedy but could lead to computation overhead if it’s poorly designed and calls more than it needs to. This is why Nvidia currently emphasizes that the VkHLF is in its experimental phase and should not be used for production.
Those interested can check out the VkHLF source code here.
I’m confused… it’s supposed that nvidia has poor results on Vulkan. So, they release a High-Level Framework to make it even slower??? I’m missing something?