炒股就看金麒麟分析師研報,權威,專業,及時,全面,助您挖掘潛力主題機會!
(來源:IT之家)
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 月反饋給蘋果,儘管蘋果和廠商已知情,但該問題至今未獲官方修復。