Blurry rendering of games on Mac
Not mentioned about WoW in here is that they considered the notch enough to also have an option to have the UI avoid the notch. It calls a function in C_UI to get the safe region, and then resizes UIParent to fit within that region while still rendering the game up to the true top of the display.
> But World of Warcraft is an older game using the legacy CoreGraphics display services full screen API. That API actually allows World of Warcraft to draw into the notch.
Not knowing much about Macs, I would have thought games were supposed to render full screen around the notch for immersion but respect the safe area for UI and gameplay. Are they supposed to leave a menu bar on macOS?
> Control gets around the issue by just making up its own resolutions.
That's hilarious, I wonder if they had trouble enumerating resolutions and gave up or if they simply couldn't bother.
This just shows how little Apple cares about gaming on Mac. It's so sad that I spent thousands on multiple Mac devices (MBP, M Studio, etc.) only to be bottlenecked not by hardware, but by Apple's shitty approach to gaming software.
I know why they do it though. Apple can't take their undeserved 30% cut of Mac games the same way they take their iOS cuts.
We had a teacher years ago who said something that remains true until today: "everything is about money, especially the ones that appear to have non-monetary reasons."
Oh it’s not just Apple…
This was an issue I also discovered on Xbox 360 in 2008. TV’s have overscan and depending on that setting, your resolutions will be off.
However, at the time, we couldn’t create render targets that matched the overscan safe area. XNA added a Screen SafeArea rect to help guide people but it was still an issue that you had to consciously develop for.
Now, we can create any back buffer size we want. It’s best to create one 1:1 or use DLSS with a target of 1:1 to the safe area for best results. I’m glad the author went and reported it but ultimately it’s up to developers to know Screen Resolution != Render Resolution.
Anyone using wgpu/vulkan/AppKit/SDL/glfw/etc need to know this.
I'm surprised this article focused solely on blurry rendering when mouse pointer location in "fullscreen" Mac games is also commonly affected by this bug or whatever we are calling it. You have to dive into an OS menu for each game to tell it to render fullscreen below the notch to fix it. It should be a global accessibility setting but isn't for some reason.
Which says more about the volume of the market of gaming on Mac. It's small and unfortunate.
The suggested filtering is just creating a new problem of assuming a 16:10 safe area exists (and external displays or other shapes don't).
Group all resolutions returned that are the same +-5% together and choose the lowest one in the desired bucket.
The font this website uses is too thin for parts of a number of letters.
How can this be fixed without breaking existing software? Re-ordering the list?
Part of my decided to get the M3 MacBook Pro because I wouldn't be able to game on it so much - I needed something reliable for a Cybersecurity Masters and I knew if I got a powerful windows laptop I would be tempted to play games .
My is a lovely machine for the most part but overheats a lot when gaming, so much so that it worries me. So I don't bother.
League of Legends in borderless mode renders at the resolution that's set in BetterDisplay instead of the real one which makes it very blurry. In fullscreen it does it correctly so I'm forced to use fullscreen.
Meta: the name on HN was "Blurry game rendering on Mac" or something. Now we have the same title as in the article - clickbait-sounding. Why?
When I was into pixel art games and 8 bit emulation, this caused me to stick with the MacBook Air instead of the Pro, because it had the traditional 1440x900 screen without funky scaling.
Also consider setting NSPrefersDisplaySafeAreaCompatibilityMode and just leave self letterboxing control to a toggle in the settings (with whatever default you prefer).
Interesting article, but I think the demonstration image isn’t doing its job. Neither side really looks good to me. They both look roughly the same.
How's factorio?
> through NSScreen’s safeAreaInsets
How is vague "safety" is better than a simple descriptive rect_below_notch?
> The problem with Apple laptops is they have a notch at the top of the display
Well, yes.
interesting -- I ran into this recently playing baldur gate 3 and was curious the technical details why. my fix was that I had an external monitor and I just reset the resolution to the external monitor. (by default, though, the monitor was showing up blurry though; with the wrong aspect ratio.)
I’m disappointed none of the proposed fixes are for CGDisplayCopyAllDisplayModes to have the “first” option on the list be the BEST option, taking into account the notch. The author hinted that many games pick the first option, so rather than demanding all those publishers add new code, Apple could make the easy path the happy path.
It’s a good thing that most people don’t buy Macs for gaming, as they suck compared to any other platform. Anyone who expects a good experience is fooling themselves as they won’t get it! If you want to experience games as the developer intends, don’t play ports that use compatibility layers, just buy a console and play natively!
Hmm I just realized something. The article author seems to be unaware that Apple makes desktops too, and laptops can be connected to external monitors, and thus not every game will be played on something with a notch.
Yes!
I remember first implementing this in Planimeter Game Engine 2D, we got a massive resolution list from SDL (through LÖVE, which is what we're built on).
If I remember correctly, we filtered the list ourselves by allowing users to explicitly select supported display ratios first, then showing the narrowed list from there. Not great. Technically there's a 683:384 ratio in there.[1]
But it did enough of the job that users who knew what resolution they wanted to pick in the first place didn't have to scroll a gargantuan list!
[1]: https://github.com/Planimeter/game-engine-2d/blob/v9.0.1/eng...
In typical Apple fashion, they have ignored the feedback for several years. Nice work, Apple!
Most of the complains in TFA and the bandwagon here just seem to be lazy/stubborn developers not bothering to understand the platform they're porting to.
There's a kind of entitlement among developers coming from PC/Windows expecting Apple to give them everything on a silver plate, yet they gladly bend over when porting to consoles without a peep.
I mean yeah Apple documentation sucks ass sometimes but sheesh you know the notch is fucking there, you have to account for it. You gotta do some specific shit for PS/XBox/Switch too, can't always just expect a one-click port (yet). Hell, there isn't even any public/3rd-party documentation or articles or YouTube tutorials for consoles but you don't see anyone bitching about that.
Notches are dumb as shit. Eg. when making a cross platform mobile app, you just have to leave a portion of the screen at the top completely empty. Cus various different phones could have a notch or a front facing camera in any position up there. On mobile where screen real estate is tight we just have to give up a really important fraction of the screen because of this madness of non rectalinear screens.
[dead]
[flagged]
It's kinda funny that an article complaining about blurry rendering, is written using one of the most illegible fonts I've ever seen.
The notch is such a wildly stupid idea I can't even begin with it. I actually kinda liked the direction they were going with the keyboard Touch Bar... but they killed that.
Am I the only one who finds screens with rounded corners and notches really stupid? We had to struggle for decades with CRTs and their funky geometry, and when we finally get displays with perfect geometry, we botch them again to make them look... cooler?