Graphics processing unit (GPU) is separate execution unit that is controlled by the CPU and that is used for accelerating the rendering of graphics at interactive rates. To get most out of the GPUs, graphically demanding applications, like modern computer games, can use GPUs directly through special application programming interfaces (APIs). The APIs have been traditionally quite high level, so they are easy for the programmers to use. However, in the recent years multiple new low level graphics APIs - Vulkan, Direct3D 12 and Metal - have been created, because the high level of abstraction in the older APIs has led to performance issues, both on GPU and CPU side. When used correctly, rendering can be done more efficiently with the new low l...