cross-posted from: https://lemmy.ml/post/1442017
An important part of working with Vulkan and other modern explicit rendering APIs is the synchronization of GPU/GPU and CPU/GPU workloads. In this article we will learn about what Vulkan needs us to synchronize and how to achieve it. We will talk about two high-level parts of the synchronization domain that we, as application and library developers, are responsible for:
- GPU↔GPU synchronization to ensure that certain GPU operations do not occur out of order,
- CPU↔GPU synchronization to ensure that we maintain a certain level of latency and resource usage in our applications.