| 
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 月响应给苹果,尽管苹果和厂商已知情,但该问题于今未获官方成立。
|