Vulkan: Make multi-threaded rendering a developer option (previously always on) #17766
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Multi-threaded rendering is good for smoothing out performance spikes and increasing performance on low-power devices, since we can overlap emulation with Vulkan command buffer generation of the previous frame. However, the way we use it it doesn't benefit latency (input lag) at all, rather the opposite if anything.
So, this makes it a developer option to experiment with, but it will probably move in the future. May also simply enforce it in no-buffer mode since multithreading is a pure negative in that situation (we get no overlap, only possible scheduler confusion).
Part of work on #17685
We have had this before (although not as a user-controlled option, only a compatibility hack), but it's much cleaner now thanks to previous refactorings.