Managing memory in Vulkan
Vulkan divides memory broadly into two types: host memory and device memory. Further, each type of memory can be uniquely broken down based on the properties and memory type. Vulkan provides a transparent mechanism to view internal memory details and related properties. Such a type of exposure is not possible in OpenGL, and hence the application is unable to explicitly control memory regions and layouts.
Of these memory types, host memory is slower than device memory. However, host memory may be available in abundance. On the other hand, device memory is directly visible to the physical device, making it efficient and faster. In this section, we will learn about host and device memory and a way to access them.
Host memory
Vulkan makes use of host memory to store API internal data structures in the implementation. Vulkan provides allocators, which allow an application to control memory allocation on behalf of host memory. If the application does not use allocators...