-
Notifications
You must be signed in to change notification settings - Fork 984
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
Presenting blocks other operations with VSync on #421
Comments
I've looked through various documentation and things written on this specific issue, and it seems like to properly fix this, multiple queues may be required. Some improvements to the current system may be possible to reduce the amount of resources locked at the same time, but this is still likely going to cause a stall. |
The key issue seems to be that specifically the NVIDIA driver blocks on present. This doesn't seem to happen on AMD which blocks on acquire. (I've been told this, I haven't been able to verify this) I've discussed the current issue with various people and have come to the current possible solutions. I won't be working on any of these right now but I wanted to write them down for reference:
|
Multi-queue is on the radar here: #1066 |
Nvidia blocks on acquire in one of two cases: you've run out of swapchain images (this won't happen on modern wgpu) or you're using gsync. This is unfortunately just kinda how it does it, and part of our motivation for #2719. Going to close this as this issue is represented various other issues. |
Because of
CommandQueue::present_surface
blocking for VSync inswap_chain_present
, the function will keep various resources locked for up to 16ms on 60Hz displays.The text was updated successfully, but these errors were encountered: