Catalina Killed Window Mode

For 15 years I’ve played in Window Mode and never had any issues. Today I finally got Catalina up and running. The first thing I noticed when I logged in was my frame rates had been cut in half. Went from 60 fps to 30. Game play was choppy at various graphic settings from 5 to 8.

I checked the usually suspects and all settings looked normal. I switch to fullscreen mode and all is well. Expect I can’t see my desktop. :frowning:

I’ll experiment some and report back if I discover anything.

FYI: my system is a CustoMac (iMacPro definition) with a Radeon VII.
FYI 2: My office mac is a CustoMac (iMac14,2) with Radeon 580. It runs fine in window mode.

Update: 10/15
While in window mode, I turned Vsync off and frame rates went back to 60 and I even pushed up to 90. However, game play was very choppy for those frame rates.

Hold Option and Click on the Apple Menu. Go to system information -> Graphics/Displays. Is your Radeon VII showing Supported under the Metal setting?

I doubt that’s issue rock, if it were they would have noticed much more problems.

If I had to guess, 10.15 probably made some changes to windowserver wow hasn’t been updated to understand yet, or window server could very well just be buggy in 10.15 like a lot of other things. Seeme apple was more concerned with getting apple arcade and apple tv ready for 10.15 vs making surethe apps and games that already existed worked well.

@Tav, I’ve also got a hack with a Radeon VII (and a 9600K i5 CPU). I was able to reproduce the problem you’re having. In fact, I had the same problem in fullscreen during early Catalina betas. It seems to no longer happen in fullscreen.

A quick fix when it happens is to point your camera up at the sky, or possibly at the ground. Anything that causes the game to easily be able to hit 60. It will suddenly break past the 30fps limit and hit 60 and stick there for a while. If you wind up in a graphically intense scene, or a particularly foggy area, it can shoot back down to 30 again. I’ve noticed that opening up the guild window can cause the framerate drop as well.

Hope that helps! I recommend playing with the graphical slider set to 7 for the best chance of maintaining 60fps in all situations, even though in most situations you can get away with the slider set to 10 and water/ssao down one notch.

I will check this when I get home

This is the 580 on my office mac
Metal: Supported, feature set macOS GPUFamily1 v4

This is the Radeon VII at home
Metal: Supported, feature set macOS GPUFamily2 v1

This is the same issue that I posted in another thread, as well (just for the sake of tying these issues together).

I’ve confirmed that the eGPU is being used and under load, however, when in windowed mode and the FPS and responsiveness takes a dive, the GPU is not being close to maxed-out.

I should also note that once in a while, I would see this behavior under Mojave as well, but a reboot would fix it. Now it’s happening all the time in Catalina regardless of reboots.

Update:

I just tested toggling vsync on and off and the difference is night and day. With vsync off, I immediately shoot up to my FPS cap (and my GPU spikes accordingly, as you’d expect). Of course, I also get the gnarly screen tearing, so vsync off isn’t a great longterm option.

So, this issue seems to happen when both in windowed mode and when vsync is enabled.

I haven’t seen any updates to address this. As of last night (10/27) I was still having frame rate issues while in window mode.

Coincidentally, my office mac with a Radeon 580 runs fine in window mode. My home mac has a Radeon VII, which has the issue.

Maybe it’s a driver issue where Apple hasn’t fully update the driver. I think I’ll swap the cards and see what happens.

Update: 10/29
In my home computer, I changed the Radeon VII to a 580 and window mode works fine. Both cards worked fine in Mojave.

Metal Vsync is supposed to be dynamic, which means it isn’t supposed to be bound by monitors refresh rate. If frame rate drops below refresh rate it’s supposed to fill in blanks but maintain best fps.

If that function is failing at driver level though, then fallback vsync is matching fps to a rate that evenly divides into refresh rate. so if you have a 60hz screen your frame rate can only be 60, 30, or 15. what happens in that version of vsync is if you enter a scene you only get 59 fps in, it drops to 30. That’s actually how opengl vsync worked for all the years it was used. Metal vsync though is not supposed to work like that.

Something tells me something is wrong with metal, or amd drivers in catalina and causing dynamic vsync to fail and leaving you stuck with legacy vsync.

Here’s another data point.

My 6700k/5700 XT Nitro+/10.15.1 beta hack tower sees the same “FPS halving” behavior when playing in windowed mode with vsync on. If I drag the window over to my second monitor powered by an RX 560, the problem vanishes and windowed mode has no impact on FPS at all.

On the same machine on the 5700 XT, Classic doesn’t have this problem at all – it runs at a solid 60FPS in windowed w/vsync no problem, even with foreground FPS capped at 68 (ruling out the possibility of the card’s performance overshooting 60FPS so far that “half” ends up being 60FPS).

This suggests that there’s some kind of engine-driver interaction going on that only affects newer cards and newer versions of the WoW engine.

Yesterday I updated to 10.15.1. I still have a frame rate issue with window mode on my Radeon VII. :frowning:

Same on my 5700 XT, FPS still drops through the floor in windowed.

If you haven’t already I might suggest putting fullscreen WoW on its own desktop to allow quick bouncing back and for between WoW and Other Stuff™ with [Ctrl - ←] and [Ctrl - →]. Not quite the same as windowed mode, but this is how I’ve played for ages and it works well.

1 Like