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

Improve asynchronous operations / Use observer pattern #219

Open
Avasam opened this issue Apr 22, 2023 · 1 comment
Open

Improve asynchronous operations / Use observer pattern #219

Avasam opened this issue Apr 22, 2023 · 1 comment
Assignees
Labels
enhancement New feature or enhancement request optimization Optimization of existing features

Comments

@Avasam
Copy link
Collaborator

Avasam commented Apr 22, 2023

Don't compare images in the main thread.
Leverage callback API with timespan for capture methods that have 'em, rather than constantly poking at set interval.

Consider multithreading for CPU-intensive parallel operations.
Consider moving threads to asyncio to reduce potential cross-threads issues that forces us to use signals.
Actually make better use of Qt's slot/signals system and/or move to an observable system to share events like "new frame ready".

Add global error-catching for async code (right now exceptions raised in threads are lost unless we explicitly catch them)


Moved from Avasam#36

@Avasam Avasam added enhancement New feature or enhancement request optimization Optimization of existing features labels Apr 22, 2023
@Avasam Avasam changed the title Improve asynchronous operations Improve asynchronous operations / Make all capture methods threaded Apr 22, 2023
@Avasam Avasam self-assigned this Apr 23, 2023
@Avasam Avasam changed the title Improve asynchronous operations / Make all capture methods threaded Improve asynchronous operations / Use observer pattern Jul 4, 2023
@Avasam
Copy link
Collaborator Author

Avasam commented Oct 9, 2024

I'll note here that Desktop Duplication (at least using D3DShot) doesn't get a new image unless the visuals actually changed on screen (ie: limited by target window and monitor's refresh rate). Causing a very low score on the Max FPS test for static captures.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or enhancement request optimization Optimization of existing features
Projects
None yet
Development

No branches or pull requests

1 participant