pegasus-frontend
pegasus-frontend copied to clipboard
Extremely poor performance with fullscreen on MacOS
When setting pegasus to full screen on MacOS the frontend crawls to a halt. It works fine in windowed mode so it is a little confusing.
Did it used to work in earlier versions? I have no access to Mac machines unfortunately :(
It's unfortunately been a long time since I tested on Mac so I'm not sure at which version it worked, but yes, previously I was able to view full screen at full speed.
Personally I don't think this is a high priority ticket but maybe is indicative of a bigger underlying issue? (or maybe not I don't know)
Confirmed here too, macOS Catalina, Macbook Pro Mid-2019. Works on windowed mode, but on full screen lags as hell. Tested from alpha 11 to the latest release. It happens only with gameOS theme, not with default pegasus grid.
@PlayingKarrde Was the original issue about the default grid theme? Does it still happen for you?
To be honest I don't recall. I just did a quick test and all the themes I tried (grid, gameos, switchos) all worked fine, but I also don't have a large collection of roms on my mac anymore so the test may be affected by that.
To be clear, I have a very large rom collection.
More details: Doesn't happen if my Macbook Pro is connected to external monitor. Only happens on Retina screen without any connected screens.
Interesting. One hypothesis could be that the images are being pulled in relative to the screen resolution, and because the resolution of the retina screen is so big, the images being pulled in are equally large, creating a much bigger drain on memory.
A solution to this would be to change from using vpx(x) to just (x) for the size (not sure why I'm explaining it here since that would fall on me but here we are).
I guess I could try it out and see.
-edit- nevermind the thumbs aren't set to virtual pixels. But I still think there might be something there...
Has the performance got any better in the past year? If it doesn't, could you try running Pegasus with the environment variable QSG_RHI=1 ?
Anyone?
Also there are now ARM-based Macs as well, anyone has an experience with them? (cc @HVR88)
I have always seen good UI performance in macOS on my m1 arm Mac - just no video playback as per other report. Intel binary of Pegasus has been run using the default rosetta2.
@HVR88 - I cannot get MAME running in fullscreen via Pegasus, but MAME in windowed mode works. Running on a Mac mini M1 (thus ARM-based). Will test further. @mmatyas - The lastrun.log is identical in both windowed and fullscreen mode, but the fullscreen mode only produces a black screen for MAME until I press Escape. This implies that the emulation is stuck or crawls in fullscreen. I set the environment variable in the info.plist file of the app, with no change.
I did an own build from current source on my Mac mini M1 against latest SDL and QT5. It produces a nice Silicon binary. However, the problem with MAME fullscreen still exists. Adding the option -window to the MAME launch helps as a workaround. So I can run Pegasus in fullscreen, whereas MAME must be launched in windowed mode.
@estefan3112 this issue is not related to MAME. You should edit/remove your comments as they're potentially confusing to anyone coming to research this issue.
@HVR88 Hi, right now the issue is limited to MAME on my system. Frankly I do not have that many system currently running in Pegasus, but mupen64plus and Darkplaces (another SDL app) work just fine out of Pegasus in fullscreen. RetroArch cores currently crash, unfortunately (and they launch in the command line). I will do further testing in Pegasus of further apps I can launch from the command line.