-
-
Notifications
You must be signed in to change notification settings - Fork 21.1k
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
Unusable performance when enabling Per Pixel Transparency and Fullscreen #35628
Comments
This needs to be bisected to know which commit caused the regression. Please, can you test this in all older Godot 3.2 RCs, betas and alphas? |
It's probably related to the "v-sync via compositor" changes (per pixel transparency mode uses |
I can confirm it on Windows, but it works fine on Linux. It happens both when |
Is it happening with v-sync disabled? |
Yes. (At least VSync off and VSync Via Compositor off.) |
I have done some tests and reviewed transparency code:
Are you sure you are getting higher fps with 3.1.2, reproduction project doesn't show whether transparency is actually enabled, maybe it's not enabling it at all. Here's test project with toggles that's using some transparent stuff to test it: |
I am not able to get low FPS using the onscreen options in the _per_pix_test project, but if I go to project settings and enable Fullscreen and both "Allowed" and "Enabled" for Per Pixel Transparency, I get low FPS in 3.2, but very high FPS (60 with vsync, ~2500 without vsync) in 3.1.2. I should mention: once I do this in 3.1.2, I get a black (not transparent) fullscreen window, in 3.2 I do get a transparent (fullscreen) window. Not sure if this is still relevant, but this issue appears as early as alpha1 (not sure how to test versions before that :) |
IIRC per pixel transparency wasn't really working in 3.1.2, since you're saying you get a black window, so you're comparing apples to oranges. |
Seems like it's just difference it the order in which 3.1 and 3.2 are handling contradictory
BTW, what's the use case for full screen + transparency? |
For me there is no use case: I had a project where they were mistakenly enabled at the same time. I didn't notice this in 3.1.2, but took me some time to figure out why the performance for the same project in 3.2 was so abysmal. It would probably be good to not allow those options to be enabled at the same time? |
Can anyone still reproduce this bug in Godot 3.2.3 or any later release? I can't reproduce it, Windows 10 with GTX 1060 |
Performance should be fixed by #38629. |
With full screen enabled and using per pixel transparency the background is black, is this going to be fixed in later releases of Godot? |
This is already reported in #46958. The workaround is to use a window that's one pixel less tall than the desktop resolution. For example, on a 1920×1080 display, use a 1920×1079 borderless window. |
Yeah, the one problem with that is that the taskbar (on windows) is above the window, and to keep it short, I don't want that with the thing I'm making. The only way I currently know of to prevent this is by full screening the window... |
Godot version: 3.2 RC 4, 64-bit, OpenGL ES 2
OS/device including version: Windows 10, 64-bit, Geforce GTX 760
Issue description: On an empty project, when enabling Fullscreen and "Allowed" and "Enabled" for Per Pixel Transparency, FPS drops from several thousand to ~23. This does not happen in Godot 3.1.2.
Steps to reproduce: Start empty project, add empty 2D main scene, go to Project Settings -> Display -> Window, enable Fullscreen and Per Pixel Transparency "Allowed" and "Enabled". Run the game.
Minimal reproduction project:
performance_bug.zip
The text was updated successfully, but these errors were encountered: