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

NVIDIA NVFBC Grabber #1547

Open
BayLee4 opened this issue Dec 25, 2022 · 2 comments
Open

NVIDIA NVFBC Grabber #1547

BayLee4 opened this issue Dec 25, 2022 · 2 comments

Comments

@BayLee4
Copy link

BayLee4 commented Dec 25, 2022

Feature request

It would be great to be able to use NVFBC to capture the screen.

What problem does this feature solve?

Huge performance benefits, and almost completely solve microstuttering

How should this be implemented in your opinion?

Like any other grabber, and maybe in a future revision add an option to chose between direct-capture (works with VRR) or not (does not work with VRR, but is able to downscale the grabbed frame, allowing to further enhance performance). The initial implementation should probably just use direct-capture, in order to be as simple as possible.

Are you willing to work on this yourself?

Yes, and any help like having a grabber mock implementation would speed up the development a lot

@Lord-Grey
Copy link
Collaborator

Hey @BayLee4

That sound great that you are volunteering to contribute with an additional screen grabber.
Are you looking for a Linux or Windows implementation? I am just asking, as the Windows support seems having to be deprecated, but a native API is suggested.

To start with a template grabber, you might have a look at the Qt one (./libsrc/grabber/qt/).
Unfortunately, the current screen grabbers are not multithreaded, but the video grabbers allow for multiple encoder threads (./libsrc/grabber/video/). Maybe a good time to refactor the grabbers for multi-threading consistently... but let us first have the capabilities running.

Suggest you pm me via the Hyperion discord channel, if you have further questions.

@BayLee4
Copy link
Author

BayLee4 commented Jan 4, 2023

Hello @Lord-Grey!
I'm looking for a Linux implementation, because as you pointed out Nvidia themselves recommend using other means of capture for Windows, like the DDupl API.

I'll have a look at the Qt implementation, #1422 will also come handy to have an overview of the required changes. I'll try to set up a dev environment in the following weeks, I joined the Discord channel in the meantime, thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Input Devices
  
Awaiting triage
Development

No branches or pull requests

2 participants