Source

Thread

1/ @SheriefFYI

Always always always use an async copy queue

2/ @NOTimothyLottes

@SheriefFYI

To be fair, that is only the case on PC if one can afford to delay waiting for transfer completion for a few frames (aka via cmd completion fence on VK), because queue to queue syncs (aka via VK semaphores) are perf-death-style CPU interrupt based …

Branches: 2023-12-19-lectem-wait-is-this-an-issue-with-vk-only-or-d3d12-too

3/ @NOTimothyLottes

@SheriefFYI

… so for latency sensitive stuff, either stuff it via CPU writes to DEVICE_LOCAL+HOST_VISIBLE (or large BAR), or a limited kernel size copy shader if needing image stuffing

Branches: 2023-12-19-SheriefFYI-queue-to-queue-syncs-via-cpu-need-to-go, 2023-12-19-_woookie_-yup-right-now-i-async-copy-mesh-and-textures-data, 2023-12-19-pATjako-i-dont-do-async-textures-buffers-in-my-gpu, 2023-12-20-Meetem4-whats-the-best-way-of-doing-that-if-rebar-is-not