Mac-Gaming: Macbook-Notch staucht das Bild bei Spielen

Die Notch im Macbook Air und Pro, also die Aussparung für Kamera und Sensoren, ist nicht nur wegen ihres Designs umstritten, sondern kann bei Spielen auch zu einem Problem mit der Auflösung führen. Colin Cornaby berichtet in seinem Blog(öffnet im neuen Fenster) über diesen Bug, den er schon vor fast zwei Jahren an Apple gemeldet hat.
Das grundlegende Problem ist dabei die Liste der verfügbaren Displayauflösungen, welche die Appkit-API für Vollbildanwendungen ausgibt. Sie wird von Spielen beim Start abgefragt, anschließend wird automatisch die passendste verfügbare Auflösung gewählt.
Die meisten Spiele wählen dabei die volle Auflösung des Displays. Was zunächst einleuchtend klingt, ist durch die Notch problematisch. Diese würde einen Teil der Anwendung verdecken, was die API nicht zulässt. Stattdessen beginnt die Anzeige darunter – und wird dabei zusammengestaucht.
74 Pixel vertikale Differenz
Bei einem Macbook Pro (M4 Pro) mit 16 Zoll Bildschirmdiagonale etwa beträgt die nominelle Auflösung 3.456 x 2.234 Pixel. Auf diese Größe stellen sich viele Spiele automatisch ein. Tatsächlich zur Verfügung stehen unter der Notch allerdings nur 3.456 x 2.160 Pixel. Das Bild wird also vertikal um 74 Pixel gestaucht. Ein kleiner, aber merklicher Unterschied.
Die entsprechende Funktion CGDisplayCopyAllDisplayModes gibt zwar in der Liste auch die korrekten Auflösungen für Vollbildanwendungen aus (im genannten Beispiel Auflösungen in 16:10), aber die meisten Spiele nutzen die erste und damit die falsche Option.
Die Auflösung lässt sich manuell in den Einstellungen der meisten Spiele anpassen. Andere Titel wie etwa Control bieten jedoch keine Möglichkeit, die native Auflösung auszuwählen. Einige Spiele bieten direkt eine korrekte Auflösung, wie etwa Cyberpunk 2077.
Für Mac-Entwickler bietet das Blog auch einen Workaround, mit dem sich die Liste nach korrekten Auflösungen filtern lässt. Allerdings stellt Cornaby auch klar, dass Apple hier nachbessern muss: entweder durch Änderungen an der API oder zumindest durch Erwähnung des Problems in der Dokumentation.