-
-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
Overlays appear to be overly resource heavy #10688
Comments
Do you have threaded video enabled? That option can cause performance drops (usually from shaders, but I guess overlays could potentially cause it, too) to manifest as frame drops/skips while maintaining 60 fps in the frame counter. |
Just tried disabling threaded video and the game was literally unplayable with no audio |
heh, ok, that's fine. So zfast-crt is full speed at 1080p on its own and the overlay is fine at 1080p on its own, but together they slow it down significantly? |
davej did a write up on why overlays + shaders can cause slowdown on low-memory-bandwidth devices like Raspberry Pi here: https://retropie.org.uk/forum/topic/11150/720p-or-1080p/15
assuming this is correct, is this some kind of efficiency issue where the entire overlay is being transferred from system memory to the GPU memory every single frame? it would seem like if it is unchanged, it shouldn't need to be constantly transferred, but i have no idea how these things work! |
Thanks guys. Based on those findings it does indeed sound as though there are some inefficiencies that could be addressed. But I personally have no idea how! |
I think what he was saying is that the combined performance hit is just part of the deal. |
this is interesting: https://stackoverflow.com/a/25498119 seems like if overlays never overlapped the rendered scene, it might be possible to do it faster. however, retroarch overlays can (and often do) overlap, and be partially transparent, etc, so would have to be blended with the rendered scene even if unchanged (unless there was a way to calculate that by looking at the overlay and settings at init). however, i wonder if that link's alternative approach (glblitframebuffer) could be a benefit to GLES 3.0 devices (such as Pi 4)... (caveat: still no idea what i'm talking about) |
Hmm, interesting. Aren't the screen areas in an overlay essentially just a transparent portion of the .PNG file though? Are we thinking that if we keep it within the transparent area only then it might be faster? Guess that won't work for those shaders that incorporate screen scratches/glare over the transparent area though. |
Description
On Pi 4 (4GB) when overlays are applied in conjuction with a shader there is noticable frame skip/stuttering, despite the FPS readout showing a steady 60FPS. Has been discussed on forums and a few users have indicated that the overlays appear to be overly resource heavy and are the root cause of the issue (as opposed to shaders). This is with the system resolution set to 1080p and the overlay image size 1080p.
Expected behavior
Image should be fluid with no apparent frame dropping/stuttering.
Steps to reproduce the bug
Environment information
The text was updated successfully, but these errors were encountered: