Multicore advantage for gaming is starting to materialize with Vulkan, mantle, etc.
Multicore advantage for gaming is starting to materialize with Vulkan, mantle, etc.
--
[1] nVidia actually implements Vulkan on top of their OpenGL driver, but nVidia's drivers have been relatively well optimized in terms of CPU usage already. AMD is the bigger winner here.
Vulkan fixes this big time, by allowing apps to construct GPU workloads for a single GPU in parallel. Only the final submission step (which is supposed to be very low overhead if the driver design is decent) is single-threaded per GPU context. And even for that Vulkan is better: It allows you to allocate different contexts for separate engines (e.g. rendering vs. compute vs. copy engine for data up/download to/from the GPU vram).
The lower CPU overhead is just the icing on the cake, the real deal is that Vulkan fixed the threading/locking model.
A quote from the linked article:
To to summarize:
DirectX 11: Your CPU communicates to the GPU 1 core to 1 core at a time. It is still a big boost over DirectX 9 where only 1 dedicated thread was allowed to talk to the GPU but it’s still only scratching the surface.
DirectX 12: Every core can talk to the GPU at the same time and, depending on the driver, I could theoretically start taking control and talking to all those cores.
That’s basically the difference. Oversimplified to be sure but it’s why everyone is so excited about this.
[0] http://www.littletinyfrogs.com/article/460524/DirectX_11_vs_...