diff --git a/chapters/memory_allocation.adoc b/chapters/memory_allocation.adoc index 7c8e9c7..0a8185a 100644 --- a/chapters/memory_allocation.adoc +++ b/chapters/memory_allocation.adoc @@ -21,7 +21,7 @@ image::{images}memory_allocation_sub_allocation.png[memory_allocation_sub_alloca == Transfer -The link:https://docs.vulkan.org/spec/latest/chapters/devsandqueues.html#VkPhysicalDeviceType[VkPhysicalDeviceType] advertises two main different types of GPUs, discrete and integrated (also referred to as UMA (unified memory architecture). It is important for performance to understand the difference between the two. +The link:https://docs.vulkan.org/spec/latest/chapters/devsandqueues.html#VkPhysicalDeviceType[VkPhysicalDeviceType] advertises two main different types of GPUs, discrete and integrated (also referred to as UMA (unified memory architecture)). It is important for performance to understand the difference between the two. Discrete graphics cards contain their own dedicated memory on the device. The data is transferred over a bus (such as PCIe) which is usually a bottleneck due to the physical speed limitation of transferring data. Some physical devices will advertise a queue with a `VK_QUEUE_TRANSFER_BIT` which allows for a dedicated queue for transferring data. The common practice is to create a _staging buffer_ to copy the host data into before sending through a command buffer to copy over to the device local memory.