-
Notifications
You must be signed in to change notification settings - Fork 69
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
[Dark & Glass Modes] Improve rendering performance by using Direct2D API #264
Comments
Done. Dark mode renderer
|
WindowTop 5.19.0-beta3 - setup.exe.zip
|
This fix should resolve the bug: In this version, I fixed a bug when the DPI of the second monitor was not the same as the DPI of the primary monitor. Here is the fix: |
WindowTop 5.19.0-beta5 - setup.exe.zip This version is an extra hotfix for the DPI bugs. |
WindowTop 5.19.0-beta6 - setup.exe.zip
|
WindowTop 5.19.0-beta7 - setup.exe.zip
|
This seems very unstable in Windows 10 (unlike in Windows 11). |
WindowTop 5.19.0-beta8 - setup.exe.zip
|
WindowTop 5.19.0-beta9 - setup.exe.zip
|
WindowTop 5.19.0-beta10 - setup.exe.zip
|
WindowTop 5.19.0-beta11 - setup.exe.zip
|
WindowTop 5.19.0-beta12 - setup.exe.zip
This is probably the final beta version of this effort. I will release it if we see that it is stable and works well enough. |
WindowTop 5.19.0-beta13 - setup.exe.zip
|
WindowTop 5.19.0-beta16 - setup.exe.zip
|
WindowTop 5.19.0-beta17 - setup.exe.zip
|
This task is a subtest of the main goal - to improve the performance of these effects.
The main mission is #105
In this task, I will implement the method to optimize the performance by using the Direct2D API
I found a new way how to improve the rendering performances!
Until a few days ago, I was unaware of how to invert the colors of 8,294,400 pixels (the amount in 4K resolution) in GPU without using NVIDIA CUDA API (which requires NVIDIA GPU).
And recently, I found a way to do it!
In Direct2D API, there is a GPU-accelerated method to do that, and because it is Direct2D, it is not exclusive to NVIDIA GPUs! It will work on even regular Intel GPUs. This finding means that every computer will use the GPU for this effect. Great stuff!
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 Direct2D 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.
This will also reduce a lot of battery usage because everything will be done natively by the GPU!
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.
Originally posted by @gileli121 in #105 (comment)
The text was updated successfully, but these errors were encountered: