1 puntos por GN⁺ 2025-08-16 | 1 comentarios | Compartir por WhatsApp
  • Al ejecutar juegos en pantalla completa en una MacBook, la mayoría se renderiza de forma borrosa debido al problema de la muesca de la pantalla
  • El mecanismo de selección de resolución del sistema no toma en cuenta el área de la muesca, lo que provoca una selección incorrecta del área de salida
  • Elegir una resolución 16:10 es una solución temporal, pero la causa de fondo es el diseño de las API de Apple y la falta de orientación
  • El problema se reproduce en juegos representativos (Shadow of the Tomb Raider, No Man’s Sky, etc.); algunos juegos recientes (Cyberpunk 2077) lo manejan correctamente
  • Apple necesita mejorar la guía para desarrolladores y el soporte con actualizaciones de las HIG y las API

Problema: por qué el renderizado se ve borroso en juegos a pantalla completa en Mac

  • Este problema fue reportado a Apple desde septiembre de 2023 como el issue FB13375033
  • Cuando un juego se ejecuta en pantalla completa en una pantalla de MacBook, la mayoría no considera correctamente la muesca (notch) y se produce un error de renderizado
  • Muchos juegos reciben la lista de resoluciones compatibles del sistema y eligen la primera (la resolución de toda la pantalla), pero en realidad el área de pantalla completa utilizable en AppKit está limitada a la zona debajo de la muesca
  • Si el juego renderiza con la resolución completa de la pantalla, el área real donde puede dibujar es más pequeña, por lo que el frame se comprime verticalmente y termina viéndose borroso

Estructura de áreas en una pantalla de Mac

  • Las pantallas de Mac con muesca tienen tres áreas principales
    • El límite completo de la pantalla (incluyendo la muesca y el menú)
    • El safe area (debajo de la muesca)
    • El área de pantalla completa utilizable por AppKit (debajo de la barra de menú)
  • La lista de resoluciones que devuelve la función CGDisplayCopyAllDisplayModes mezcla la resolución completa de la pantalla con la resolución debajo de la barra de menú (normalmente con proporción 16:10)
  • La mayoría de los juegos usa el primer elemento de la lista (el área de pantalla completa), lo que produce una salida incorrecta
  • Ejemplo: Shadow of the Tomb Raider inicia por defecto con la resolución completa de pantalla (3456x2234), pero el área real donde puede dibujar es 3456x2160 (esa diferencia de 74 píxeles comprime la imagen y hace que el renderizado se vea borroso)

Solución: elegir la resolución correcta y mitigaciones temporales

  • Usuarios: al ejecutar juegos en pantalla completa en una pantalla de Mac con muesca, es importante seleccionar manualmente una resolución 16:10 (el juego no la ajusta automáticamente)
  • Desarrolladores: es necesario filtrar la lista de resoluciones de forma más precisa usando la propiedad safeAreaInsets de NSScreen
    • Se propone en código un algoritmo para filtrar solo las resoluciones que coinciden con el safe area (aunque tiene el efecto secundario de filtrar en exceso algunas resoluciones, como 4:3)
    • Aun así, en esencia se necesita una mejora del lado de Apple

Juegos afectados: casos representativos y estado del manejo

  • Shadow of the Tomb Raider, Control Ultimate Edition, No Man’s Sky, Riven, Stray y muchos otros muestran compresión y renderizado borroso debido a una resolución predeterminada incorrecta
    • Control: asigna una resolución arbitraria por su cuenta, pero no coincide con la resolución real del Mac
    • No Man’s Sky: ofrece tanto proporciones incorrectas como resoluciones de safe area y de área no segura
    • Riven, Stray: aplican por defecto renderizado con resolución comprimida
  • Cyberpunk 2077 sí elige una resolución correcta con proporción 16:10 (no se ha revelado su método interno de filtrado)
  • World of Warcraft: al usar una API heredada puede dibujar hasta la zona de la muesca, por lo que aplicar la resolución completa funciona correctamente

Qué podría hacer Apple: necesidad de respuesta por parte de Apple

  • Hace falta agregar en la documentación HIG (Human Interface Guidelines) manejo de resoluciones y orientación para pantallas con muesca
  • Se necesita una actualización de CGDisplayMode en AppKit/Cocoa para facilitar el filtrado de resoluciones
  • Hace falta diseñar una nueva API enfocada en la optimización de juegos (resolviendo la lista de resoluciones y el código repetitivo)
  • Para los desarrolladores, podría recomendarse calcular su propia lista de resoluciones en vez de consultarla, o usar un enfoque de “render scale”
  • Si se aplican estas mejoras, Apple también debería actualizar su documentación oficial y el código de ejemplo

1 comentarios

 
GN⁺ 2025-08-16
Opinión de Hacker News
  • Me pregunto si soy el único al que la pantalla con esquinas redondeadas y notch le parece rarísima; después de sufrir durante décadas con la geometría imprecisa de los monitores CRT, por fin se volvieron comunes las pantallas rectangulares perfectas, y da pena que eso se arruine de nuevo solo por querer verse cool
    • Si lo piensas no como esa tontería de que el notch te roba área de pantalla, sino como algo que reduce los bordes y aumenta el tamaño total de la pantalla, tiene más sentido; además, cuando las esquinas de la pantalla llegan cerca del notch, como la forma externa de la laptop es redondeada, se siente más natural que la pantalla también lo sea; una pantalla rectangular metida en las esquinas redondeadas de una laptop se vería rara. Pero depende del caso: en Mac, al reproducir video, la pantalla se vuelve rectangular y se reproduce debajo del notch; en el uso real terminas con una pantalla más grande, esquinas redondeadas para el trabajo, la barra de menú con notch sin molestar, y en video o juegos cambia a pantalla rectangular; al final, por sus distintas ventajas y flexibilidad, no necesariamente hay que verlo como algo malo
    • Con la tecnología actual hay tres opciones posibles: 1) maximizar la pantalla sin bordes y sin cámara frontal, 2) tener cámara frontal pero sin bordes, así que la pantalla sería 5 mm más baja y la franja superior de 5 mm no serviría para nada, 3) combinar cámara frontal con borde/notch, donde queda un "espacio muerto" al centro pero se puede usar el espacio lateral. Y como la mayor parte del tiempo hay menús e indicadores arriba y el centro queda vacío, la zona del notch en realidad te da más espacio útil para las apps. En juegos, tanto la opción #2 como la #3 son espacio muerto, así que en la práctica no hay diferencia. En otras palabras, el notch no ocupa el centro real de la pantalla, sino que más bien agrega espacio a izquierda y derecha. Aun así, creo que sí hay un problema con la forma en que se reporta la resolución (si el valor que se le da a la app no coincide con la realidad, eso confunde)
    • Uso un modelo de MacBook con notch y de verdad casi no se siente que exista; la mayoría de quienes usan MacBook casi no le prestan atención al notch. Hay algunas personas a las que sí les molesta, pero son una minoría muy pequeña
    • Me pregunto si la pantalla es OLED; en smartphones casi todos usan OLED. Yo también creo que el notch en sí no sirve de mucho, pero de todos modos es necesario por la ubicación de la cámara frontal. Si fuera OLED, bastaría con apagar los píxeles cuando haga falta y se vería como un borde, así que al final sería parecido a la alternativa tradicional del bisel
    • A mí me gustaban más las fuentes sin antialiasing en LCD, porque las esquinas cuadradas de los píxeles se veían limpias. Aun así, mucha gente prefiere el efecto suave del antialiasing; supongo que es por esa sensación tipo CRT
  • World of Warcraft tiene una opción para que la UI evite el notch; internamente carga la safe region desde C_UI y luego ajusta UIParent a esa zona, así que la imagen del juego usa toda la pantalla, pero la UI se acomoda debajo del notch
    • WoW siempre ha tratado a macOS como una plataforma de primera; de verdad da pena que Blizzard haya dejado de dar soporte a macOS en sus juegos más recientes
  • Esta situación demuestra que Apple no le pone atención al gaming en Mac. Yo también he invertido muchísimo en cosas como una MBP y una Mac Studio, pero el límite no está en el hardware sino en lo patético que es el manejo del software para gaming. Y detrás de eso está que Apple no puede sacarle el 30% de comisión a los juegos de Mac como sí hace en iOS. Al final me acuerdo de lo que decía un profesor hace años: “aunque por fuera parezca que no es por dinero, al final todo es por dinero”
    • El problema de verdad más grande es que el nivel de documentación de Apple es desastroso. Tienes listas de firmas de funciones, pero para saber cómo se usan en la práctica te toca ir a buscar sesiones de la WWDC de hace años, y ni siquiera queda claro si lo que sale ahí sigue siendo correcto
    • Es cierto que Apple no se preocupa mucho por los juegos, pero problemas como este del notch también son resultado de una contradicción técnica creada por su idea de ofrecer una especie de "abstracción mágica". Dicen que el software lo resolverá automáticamente, pero en la práctica cualquier app o juego que controle la pantalla con detalle termina necesitando hacks o parches aparte. Ese dilema entre limitaciones técnicas y abstracción se repite una y otra vez
    • Que no se preocupen por el mercado de juegos en Mac también viene de la idea de que el gaming es, por naturaleza, un negocio de bajo margen. En general, los gamers son sensibles al hardware y al costo de los componentes y los márgenes, especialmente en cosas como SSD o RAM, y eso es totalmente distinto al mercado creativo o empresarial donde Apple obtiene márgenes altos
    • Uso una Mac Studio M3 Ultra, una máquina de $4,000, y si intento hacer streaming de lo que sea con StreamLabs (aunque ni siquiera tenga un juego abierto), la grabación se entrecorta y se traba. De verdad no entiendo por qué pasa algo así
    • No convence mucho la idea de que Apple haga esto porque no puede cobrar su 30% en Mac, porque la mayoría de los juegos del artículo sí están en la App Store, así que Apple sí cobra comisión sin problema: Control Ultimate Edition, Shadow of the Tomb Raider, Riven, Cyberpunk 2077 Ultimate, Stray. Esto se parece más a incompetencia y desinterés que a sabotaje deliberado por parte de Apple
  • Los juegos viejos como WoW pueden usar la API heredada de pantalla completa de CoreGraphics para dibujar libremente hasta dentro de la zona del notch. No sé mucho sobre Mac, pero pensaría que lo correcto sería que un juego dibuje en pantalla completa incluyendo el notch para mejorar la inmersión, y aun así use solo la zona segura para la UI y el gameplay. Me pregunto si juegos como Control, que simplemente ignoran esto y eligen una resolución cualquiera, lo hicieron solo por flojera
    • Depende del juego, pero la zona encima del notch se deja simplemente en negro o se vuelve inaccesible por completo (ni siquiera puedes mover ahí el cursor). Funciona como si esa parte no existiera dentro de la pantalla; vendría a ser igual que en una M1 Air, que no tiene notch
  • No es un problema exclusivo de Apple; en Xbox 360 también hubo problemas con el overscan de TV en 2008. Había que renderizar más pequeño que la resolución para respetar la safe area, y durante el desarrollo eso siempre había que tratarlo aparte. En XNA mejoró un poco porque te daba un safe area rect, y ahora incluso puedes especificar libremente el tamaño del backbuffer. Cuando usas cosas como DLSS también conviene que la safe area quede en relación 1:1. Al final, el desarrollador tiene que tener muy claro que la resolución de la pantalla y la resolución de render pueden ser distintas, y eso aplica igual si usas herramientas como wgpu, vulkan, AppKit, SDL o glfw
    • En esencia, lo que dices es que para ahorrar recursos de cómputo se renderiza deliberadamente una imagen más pequeña, pero al sacar la señal por HDMI de todos modos se vuelve a escalar a 1080p, y si además se junta con el overscan de la TV, el problema hasta puede empeorar. En realidad, el problema del overscan en TV se puede resolver con opciones de FoV personalizado y ajuste del tamaño de la GUI, así que no creo que haga falta reducir la imagen en sí
  • Me sorprende que este artículo se haya enfocado solo en la parte del render borroso; en realidad hasta afecta la posición del puntero del mouse. Según el juego, cada vez hay que entrar al menú del sistema operativo y forzar que la pantalla completa se mueva debajo del notch. Me pregunto por qué esto no es una opción de accesibilidad a nivel de todo el sistema
  • Este caso muestra bastante bien el tamaño del mercado de juegos en Mac: es muy pequeño, y da pena
    • En realidad, la cuota de Mac en la encuesta de hardware de Steam es de apenas 1.88%, incluso menos que Linux, así que la mayoría de los desarrolladores simplemente ni se molestan
  • Compré a propósito una MacBook Pro M3 precisamente para no poder jugar; necesitaba una laptop confiable para una maestría en ciberseguridad, y si hubiera comprado una laptop potente con Windows, sentía que me habría distraído jugando. El equipo actual en general es excelente, pero cuando juego se calienta demasiado y eso me preocupa, así que mejor ya desistí de jugar
  • La tipografía de este sitio tiene algunas partes de ciertas letras demasiado delgadas
    • Personalmente siento que toda la parte superior de las letras es demasiado delgada; de verdad parece como leer algo impreso con una impresora casi sin tinta (dejo mi comentario siguiendo la tradición de Hacker News)
  • Me pregunto cómo podrían arreglar esto sin romper el software existente. ¿Reordenando la lista?
    • Como hizo Windows, si la aplicación en ejecución es un juego heredado, el código del SO podría pasarle información de sistema "falsa" para que la pantalla se vea bien. Ese tipo de enfoque fue una de las razones principales por las que Windows tuvo éxito como plataforma de juegos. Todavía no ha desaparecido del todo, pero antes era muchísimo más común