feat(linux): async_depth configuration for VA-API#4745
feat(linux): async_depth configuration for VA-API#4745inkatail wants to merge 9 commits intoLizardByte:masterfrom
Conversation
ReenigneArcher
left a comment
There was a problem hiding this comment.
Thanks for the PR. I'm not an expert on va-api. Is a value of 1 the same as the existing behavior?
In addition to my review below, docs/configuration.md will also need to be updated.
|
The issue you're trying to solve seems to be encoder starvation due to high GPU load and VAAPI not having higher GPU process priority. It's possible that the Vulkan encoder may behave better, so I would recommended testing that before committing to this path. Regardless, it should definitely not be changed from the default of 1 as it will increase latency. |
I tested the Vulkan encoder pull request, and It seems to work about the same (bad) in this situation. |
This CAN help with stream framerates under GPU load, depending on value.
async_depth should be below strict rc buffer now
Co-authored-by: David Lane <42013603+ReenigneArcher@users.noreply.github.com>
Add documentation for vaapi_async_depth configuration option.
762af32 to
f9e5fed
Compare
Bundle ReportChanges will increase total bundle size by 614 bytes (0.08%) ⬆️. This is within the configured threshold ✅ Detailed changes
Affected Assets, Files, and Routes:view changes for bundle: sunshine-esmAssets Changed:
Files in
Files in
|
|
@inkatail we have a test to ensure config options are properly defined everywhere. Looks like it was missed in one place. |
❌ 1 Tests Failed:
View the top 1 failed test(s) by shortest run time
To view more test analytics, go to the Test Analytics Dashboard |
|
Won't this PR be incomplete once Vulkan support is merged? That also uses the same parameter with the same behaviour. @inkatail have you tried portalgrab without changing async_depth to see if it performs any better under heavy load? It might have less slowdown due to the frames being grabbed from the compositor and not having to wait for read after the framebuffer write that's done via kms. |
@psyke83 Well I have tested that, It seemed a little better but I still experienced this overall bad feeling. |
@ReenigneArcher Should be correct now, I think. |
|



Description
This PR implements async_depth configuration for VA-API encoder, which seems to fix FPS stability in most games, at the cost of increasing latency, my testing was done with the value set at 4, but I decided to make the default 1 since I kinda just didn't spend too much time on testing to get a perfect default.
All of this has been done with AI, as I am not really experienced with programming, but the FPS stability issues kept being annoying since I switched to Linux, and instead of waiting I just decided to try doing anything with it.
This PR might be not perfect and probably might be improved by someone who knows VA-API more than me.
Screenshot
Issues Fixed or Closed
Roadmap Issues
Type of Change
Checklist
AI Usage