-
Notifications
You must be signed in to change notification settings - Fork 213
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
WSI: QueuePresent: canBypassXWayland(): Use latency hiding & reduce redundant requests/replies #1231
base: master
Are you sure you want to change the base?
WSI: QueuePresent: canBypassXWayland(): Use latency hiding & reduce redundant requests/replies #1231
Conversation
023e54b
to
d67d2af
Compare
d67d2af
to
a3ffb8a
Compare
I've just added another edit to this PR, adding a
Let me know if the new edit is too complicated or something |
7e3472a
to
879c45a
Compare
2041344
to
dc7618f
Compare
Last edits I made: |
15fd60d
to
cee9c26
Compare
Can also confirm this PR passed a few hours of OpenGL Linux native gaming. |
Uhhh I just realized that you said OpenGL You can check if the gamescope WSI layer is running by looking for lines from the terminal output that start with Here's a link with info about the vulkan loader and vulkan layers: https://github.com/KhronosGroup/Vulkan-Loader/blob/main/docs/LoaderLayerInterface.md#layer-call-chains-and-distributed-dispatch |
…ly before waiting on any of them
cee9c26
to
ab11589
Compare
@sharkautarch Oh wow yes, that was an embarrassing miss on my side, so sorry about that misdirect. I didn't realize at the moment I was writing my previous message that this PR is about a Vulkan layer only. Anyway, Vulkan microtests (vkcube, vkgears) are working. Will test with the latest changes as well, hopefully I can have the opportunity to test some real Vulkan games next. |
No worries, good to hear that tests so far are going well |
Just the FYI, it no longer works on current git HEAD. I got it working by adding
To the line Take a look at KyunLFA@40bcd1e if interested and if you have any reservations. Found because I carry this MR in my fork :p |
Thanks, I’ll do that soon :) |
6385a8c
to
7b29548
Compare
I updated the branch with a fix
I think that the |
7b29548
to
a11a9e9
Compare
…re wayland surfaces
a11a9e9
to
1b59621
Compare
👀 |
See: https://github.com/sharkautarch/gamescope-canBypassXWayland-jitter-tests/tree/main
(the
canBypassXWayland-v2-tests
folder has the measurements for this PR)for some tests I've done measuring duration of the canBypassXWayland() calls within GamescopeWSILayer::VkDeviceOverrides::QueuePresentKHR()
the data also includes the min/max jitter (jitter being the change in the durations of consecutive canBypassXWayland() calls) for every 32 calls made
From some quick estimates off of the data from running vkcube thru gamescope (in nested mode) at 60fps, this PR reduces the median min/max (within every 32 measurements) jitter from around .60ms to ~.20ms, reduces the overall peaks in min/max jitter, and reduces the average duration from about .70ms to about .20ms