-
-
Notifications
You must be signed in to change notification settings - Fork 404
Windows: Add a DDA grabber for much better performance #1745
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
Conversation
@davidsansome Thank you very much for your contribution. Could you please have a look at the Picture decimation and the Cropping values? Maybe here the GPU can help too, if it is already possible to receive a cropped image in a target size.... |
Thanks for taking a look @Lord-Grey! I've implemented cropping and pixel decimation. I decided to do it in software because it was much easier than trying to do it with the directx API, and performance is fine as is anyway. I was taking a look through the bug tracker and I think this PR will probably fix #1547 (NVFBC is deprecated and DDA is the replacement), #1329 (the HyperionScreenCapture project referenced as a fix there actually uses DDA) and #1391. |
These can happen when changing resolution, or resuming from sleep.
@davidsansome Thanks for doing the changes. They look good for me. |
@davidsansome Is the PR ready to be merged from your side or do you plan additional testing or changes? |
Yes I think this is ready to be merged now! I've been running it locally for a few days without issues. I have a few more ideas for performance improvements but I'll need to do some more investigation first. I might send some separate PRs in the next few weeks! |
Yes. Screengrabber performance is a topic. @Paulchen-Panther had a start some time back on refactoring grabbers. But due to time constraints and other priorities that was never brought forward. Potentially, you had something different in mind… |
Summary
The DDA (Desktop Duplication API) was added in DX11 and allows for GPU-assisted screen capture on Windows. This PR adds a new
DDA
grabber that uses this API.Video comparing the old DX grabber with the new DDA grabber
What kind of change does this PR introduce? (check at least one)
If changing the UI of web configuration, please provide the before/after screenshot:
Does this PR introduce a breaking change? (check one)
If adding a new feature, the PR's description includes:
PLEASE DON'T FORGET TO ADD YOUR CHANGES TO CHANGELOG.MD
To avoid wasting your time, it's best to open a feature request issue first and wait for approval before working on it.
Other information:
Fixes #1329
Fixes #1391
Fixes #1547