Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Vulkan: Make multi-threaded rendering a developer option (previously always on) #17766

Merged
merged 2 commits into from
Jul 23, 2023

Conversation

hrydgard
Copy link
Owner

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.

Multi-threaded rendering is good for smoothing out performance spikes
and increasing performance on low-power devices. However, the way we use
it it doesn't benefit latency (input lag) at all, rather the opposite.

So make it an option.
@hrydgard hrydgard added this to the v1.16.0 milestone Jul 23, 2023
@hrydgard hrydgard merged commit 942df01 into master Jul 23, 2023
19 checks passed
@hrydgard hrydgard deleted the single-threaded-rendering branch July 23, 2023 21:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant