Low framerate on main EmulationStation menu - Pi 4
-
I have wpa_supplicant enabled, yes. Does that cause performance issues?
No, just checking what might cause any interference with the HDMI signal. At this point I'd probably try another mini-HDMI to HDMI cable or switching to a lower resolution (720p ?) and see if the problem still occurs.
-
Unfortunately I don't have another mini-HDMI adapter... I haven't seen anything from other users of the adapter indicating it could be causing problems like this (the part number for reference is B07K21HSQX). I'll try changing the resolution.
-
@mitu I changed the resolution to 720p with
hdmi_mode=85
andhdmi_group=2
, and performance in the main menu of ES is all but normal again. Gambette is no longer showing the same kind of tearing issues, though the framerate does occasionally dip just below 60fps (EDIT: I checked the game I'm running in a benchmarking spreadsheet and I believe this is normal). Why would this be happening? I thought the Pi 4 had more than powerful enough of a graphical processor to drive 1080p. -
@rilight said in Low framerate on main EmulationStation menu - Pi 4:
I thought the Pi 4 had more than powerful enough of a graphical processor to drive 1080p.
The 4B can handle it. We haven't figured out your issue quite yet.
If it helps, here are some of my config.txt settings:
hdmi_group=1 hdmi_mode=16 hdmi_max_pixel_freq:0=200000000 hdmi_max_pixel_freq:1=200000000 dtparam=i2c_arm=on dtoverlay=vc4-fkms-v3d max_framebuffers=2 dtoverlay=vc4-fkms-v3d enable_uart=1
-
The 4B can handle it. We haven't figured out your issue quite yet.
That's reassuring at least 😄
It looks like the only difference in config you have listed there related to video is the
hdmi_group
andhdmi_mode
settings, I can try that out. -
Looks like that one has the same problems, darn :/
-
@rilight for Gambatte, I'm running 1.88 - Gambatte (v0.5.0-netlink).
Normally, I get a solid 60FPS, and with speed-up enabled, I literally get >1600 FPS (with overclock) and that's with a 5-pass gb shader enabled.Is your RA Threaded Video set to enabled?
Let's compare our RetroArch video settings. Launching "RetroArch" from the Raspberry Pi settings menu, mine are:
Output: Video: (gl) Monitor Index 0 (Auto) Video Rotation (Normal) Force-Disable sRGB FBO (Disabled) Fullscreen Mode: Start in Fullscreen Mode (Enabled) Windowed Fullscreen Mode (Enabled) Fullscreen Width (1920) Fullscreen Height (1080) Windowed Mode: Windowed Scale: (1.0x) Window Opacity: (100) Show Window Decorations (Enabled) Remember Window Position and Size (Disabled) Window Width: (1280) Window Height: (720) Scaling: Integer Scale (Disabled) Aspect Ratio (Core provided) Crop Overscan (Enabled) Synchronization: Vertical Sync (Vsync) (Enabled) Vertical Sync (Vsync) Swap Interval (1) Frame Delay (0) Hard GPU Sync (Disabled) Max swapchain images (3) Sync to Exact Content Framerate (Disabled) Threaded Video (Enabled) Black Frame Insertion (Disabled) GPU Screenshot (Disabled) Bilinear Filtering (Enabled) Auto-Shader Delay (0) ...and no Video Filter set.
-
It looks like I have the same version of Gambatte as you do. Here's my video settings from the RetroArch menu after launching the game:
Output: Video: gl Monitor Index: 0(Auto) Video Rotation: Normal Force-Disable sRGB FBO: Off Fullscreen: Start in Fullscreen Mode: On Windowed Fullscreen Mode: On Fullscreen Width: 1920 Fullscreen Height: 1080 Windowed Mode: Windowed Scale: 3.0x Window Opacity: 100 Show Window Decorations: On Remember Window Position and Size: Off Window Width: 1280 Window Height: 720 Scaling: Integer Scale: Off Aspect Ratio: Core Provided Crop Overscan: On Synchronization: Vertical Sync (Vsync): On Vertical Sync (Vsync) Swap Interval: 1 Frame Delay: 0 Hard GPU Sync: Off Max swapchain images: 3 Sync to Exact Content Framerate: Off Suspend Screensaver: On Threaded Video: On Black Frame Insertion: Off GPU Screenshot: On Bilinear Filtering: Off Auto-Shader Delay: 0 Video Filter: N/A
I'm not sure why I'm missing some of the options you have, maybe you have an advanced settings option enabled? The only difference I see here is that my windowed scale is set to 3x instead of 1x.
-
@rilight said in Low framerate on main EmulationStation menu - Pi 4:
I'm not sure why I'm missing some of the options you have
Hmmm... Maybe:
RetroArch / User Interface / Views / (enable everything except "Display Start Screen)
RetroArch / User Interface / (enable "Show Advanced Settings") -
Ah, enabling "Show Advanced Settings" did the trick. I'll edit my post to add the missing values.
-
The only other differences I notice now are GPU Screenshot being on and Bilinear Filtering being off, I think that's everything.
-
@rilight Boo. Between config.txt for overall video setting, and RetroArch video settings, seems all good.
I can't argue with @mitu 's logic at this point. The software appears to be correct, and unless I'm missing something, this only leaves hardware between your Pi 4B and your TV.
Silly, terrible questions:
- You are using physical video port 0, correct?
- Can test your setup on a different TV?
-
If port 0 is the one next to the USB-C port, then yep! I'll go ahead and hook this up to the TV instead of my monitor, I probably should have thought of doing that earlier.
-
Same issue on the TV.
-
Also @roslof, the issue isn't happening just with RetroArch but also in the main menu of EmulationStation... but it's not slow all the time. If I move from a custom category (unthemed, so no background) to a regular category, the animation is noticeably smoother than when I move between themed categories.
-
@roslof I remembered this HDMI adapter came in a two-pack, so I dug out the other one and tried switching it out. Still the same performance... either this adapter is just bad in general (which I wouldn't guess from the reviews saying it worked great with the Pi 4), I got shipped a bad batch, or the issue is something else.
-
I am having the same issue. Fresh install of the 4.6 image. Using a genuine Raspberry Pi HDMI cable. Tried another cable, tried another TV. Limited the resolution to 1080p / 720p. Turned Wi-Fi / Bluetooth off.
Still getting a low framerate in ES. I also experience tearing in lr-fbneo and lr-genesis-gx-plus.
Running a game then exiting seems to mitigate the framerate problem in ES. Turning off threaded video seems to mitigate the tearing in games.
I'm at a bit of a loss as to what is causing the problem too!
-
Two people with the same symptoms. Hardware ruled out (TV/Cables)...
Couple of other things I could think of that we haven't discussed...
- Upgrading/Upgraded PiOS (software/Kernel)
- Graphic Drivers
PiOS/Kernel
I'm reaching here, but as an example, last year, I remember the kernel changed and GPU overclock was broken for a couple/few months. This is just an example of how Kernel changes can impact systems.Use uname -a to get your Kernel version.
Mine:
Linux retropie 4.19.118-v7l+ #1311 SMP Mon Apr 27 14:26:42 BST 2020 armv7l GNU/Linux
I wager mine is older with that Apr 27th date, but I know this works for me.Link to Updating and upgrading
(should backup everything first before attempting an upgrade/downgrade)Graphic Drivers
I know least about this area, but wondering if there have been recent changes to the graphic drivers/dependencies that are causing issues. Maybe others could help suggest if this could be an area to investigate. Not sure which drivers may affect both ES and RetroArch (since the issues being reported here seem to affect both). Not sure how to surface driver versions or the best way to revert if desired.Other than these two areas, I'm stumped.
-
The low fps in EmulationStation was reported during the Pi4 beta period - usually by running at 30 fps. This happens on certain themes - less likely with the default, Carbon, theme - but it goes away once a game is launched. You can see what FPS EmulationStation runs by toggling the Show Framerate option from the ES menu.
-
@rilight which theme are you running?
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.