两年未修复:苹果 MacBook 刘海屏 BUG 致多款主流游戏模糊

2025-08-15 21:58IT之家 - 故渊

IT之家 8 月 15 日消息,科技博客 Random Thoughts 本月发布博文,指出在多款在带刘海屏的 MacBook 存在分辨率适配缺陷,导致大量游戏全屏运行时画面模糊,该问题源于苹果已知但尚未修复的系统 API 错误,已持续有两年但至今未解决。

IT之家援引博文介绍,在带刘海屏的 MacBook 上启动多数游戏后,都会通过苹果的 CGDisplayCopyAllDisplayModes API 获取显示器的全部可选分辨率,并默认选取列表中的首个分辨率。

问题在于,这个默认分辨率通常包含了刘海及菜单栏区域,而实际游戏窗口无法绘制这些区域,导致画面高度被强行压缩,最终呈现出模糊、失真的效果。

苹果在 macOS 系统中,将显示区域划分为三个概念:完整显示范围、安全区域(safe area)以及全屏可用区域。虽然 NSScreen 提供了 safeAreaInsets 属性用于标注安全区域,但这一区域与全屏实际可用区域并不完全重合,开发者若只依赖 safe area 仍会出现分辨率不匹配的问题。

此外,CGDisplayCopyAllDisplayModes 返回的分辨率列表将“全屏范围”和“菜单栏下方区域”的分辨率混在一起,缺乏明确区分,进一步加剧了误选风险。

该博文实测多款主流游戏都受此影响。包括《古墓丽影:暗影》、《无人深空》《Riven》和《Stray》等,均出现默认分辨率不符实际绘制区域的情况,导致画面被拉伸或模糊。

《Stray》

《控制》等部分游戏则通过“自定义分辨率列表”规避了部分问题,但仍未完全解决。值得一提的是,《赛博朋克 2077》能正确默认到 16:10 分辨率,而《魔兽世界》则因采用老版 API,可直接绘制包括刘海区域的整个屏幕。

赛博朋克 2077

针对上述问题,作者提出了临时解决方案。普通玩家可以在游戏设置中手动选择 16:10 比例的分辨率,避免默认的“压缩输出”;开发者则可以借助 NSScreen 的 safeAreaInsets 属性,结合定制算法筛选出合适的分辨率,尽管这种方法可能会丢失部分常见分辨率(如 4:3),但能大幅减少画面畸变。

博文指出,相关缺陷(FB13375033)已经于 2023 年 9 月反馈给苹果,尽管苹果和厂商已知情,但该问题至今未获官方修复。

广告声明:文内含有的对外跳转链接(包括不限于超链接、二维码、口令等形式),用于传递更多信息,节省甄选时间,结果仅供参考,IT之家所有文章均包含本声明。

文章价值:
人打分
有价值还可以无价值
置顶评论
    热门评论
      文章发布时间太久,仅显示热门评论
      全部评论
      一大波评论正在路上
        取消发送
        分享成功

        长按关注IT之家公众号
        阅读更多精彩文章

        查看更多原创好文
        软媒旗下人气应用

        如点击保存海报无效,请长按图片进行保存分享