pegasus-frontend icon indicating copy to clipboard operation
pegasus-frontend copied to clipboard

Extremely poor performance with fullscreen on MacOS

Open PlayingKarrde opened this issue 6 years ago • 15 comments

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.

PlayingKarrde avatar Aug 04 '19 19:08 PlayingKarrde

Did it used to work in earlier versions? I have no access to Mac machines unfortunately :(

mmatyas avatar Aug 04 '19 19:08 mmatyas

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)

PlayingKarrde avatar Aug 04 '19 19:08 PlayingKarrde

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.

ronilaukkarinen avatar Mar 25 '20 11:03 ronilaukkarinen

@PlayingKarrde Was the original issue about the default grid theme? Does it still happen for you?

mmatyas avatar Mar 26 '20 18:03 mmatyas

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.

PlayingKarrde avatar Mar 26 '20 18:03 PlayingKarrde

To be clear, I have a very large rom collection.

ronilaukkarinen avatar Mar 26 '20 20:03 ronilaukkarinen

More details: Doesn't happen if my Macbook Pro is connected to external monitor. Only happens on Retina screen without any connected screens.

ronilaukkarinen avatar Mar 29 '20 18:03 ronilaukkarinen

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...

PlayingKarrde avatar Mar 29 '20 23:03 PlayingKarrde

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 ?

mmatyas avatar Jan 23 '21 10:01 mmatyas

Anyone?

Also there are now ARM-based Macs as well, anyone has an experience with them? (cc @HVR88)

mmatyas avatar Sep 24 '21 19:09 mmatyas

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 avatar Sep 25 '21 03:09 HVR88

@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.

estefan3112 avatar Dec 25 '21 14:12 estefan3112

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 avatar Jan 04 '22 11:01 estefan3112

@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 avatar Jan 18 '22 14:01 HVR88

@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.

estefan3112 avatar Jan 21 '22 21:01 estefan3112