-
Notifications
You must be signed in to change notification settings - Fork 72
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
[Glass & Dark Mode] Improve rendering performances methods #105
Comments
I found a new way how to improve the rendering performances! And recently, I found a way to do it! I made a POC that proves that it is possible to get 60+ frames per second on 4K using just intel GPU, and this is instead of 20-30 FPS. Not only that, but this finding also comes with a new optimization advantage: because the OS API also does not send the captured frame to the CPU and because Dricent2D will do its magic in GPU, now, unlike before, we will never need to move any frame data to CPU (unless the "filter images" option is enabled) so this fact also will help. The idea in the message above (To use DOM API) may still be worth checking after this finding. It is still relevant because it tries to optimize the performances when the "filter images" option is enabled. Opened task #264 for this optimization method |
Currently, the dark mode feature needs to process the frame of the window, and using an algorithm it assumes where exactly are the images in the frame. Then it knows to not invert the colors in these areas.
Same for the Glass mode - The glass mode needs also another algorithm that detects any text in the frame.
After more investigation of the available APIs in the system, seems that these algorithms are unnecessary.
The system has API to get directly the DOM of any window
This API allows you to get directly all of the information that is needed.
Now it is possible to know where exactly the window showing an image, where it shows text and without any need to recognize it using an algorithm that try to figure it out using just pixels.
Tasks:
This should fix the issues:
The text was updated successfully, but these errors were encountered: