FAQs and Answers

An API is a set of functions and commands used for building application softwares. It makes an easier development of program by providing all the building blocks; a programmer only decides how to use those blocks. API can be found for many things: web-based system, operationg system, database systems, graphics rendering, and such

Traditional high level APIs like OpenGL, DirectX 11 are simple and easy to use and requires less set-up with many pre-defined functions available out of the box. However, this ease comes with a greater price—higher overhead (less efficient) and loss of flexibility

On the other hand, new low level APIs like Vulkan, DirectX 12 are more complex and harder to use (requires more coding), as it allows a developer to access intricate hardware so that the developer can control extensively how the application works. This reduces the overhead and gives more flexibility, and hence increases the performance drastically

Overhead is an excess or indirect computation time, bandwidth, memory, or any computer resources that is not useful to the final goal but is required in the process. In the context of Vulkan, it being a CPU low overhead means it performs unnecessary tasks very less so that it does not hold back the GPU, allowing GPU to perform at its fullest.

CPU bottleneck is an inability of CPU to support other hardware compontents in the computer system, usually GPU. In this phenomenom, CPU ought to hold back the GPU to be utilized fully, causing the loss of potential performance.

Vulkan is designed to allow programmers to reduce such CPU bottleneck to make sure GPU is not held back and is working optimally.