- MacBook पर full-screen गेम चलाने पर, ज़्यादातर गेम display notch की समस्या के कारण धुंधले render होते हैं
- सिस्टम का resolution selection mechanism notch क्षेत्र को ध्यान में नहीं रखता, जिससे गलत output area चुना जाता है
- 16:10 resolution चुनना एक अस्थायी workaround है, लेकिन मूल कारण Apple की API design और guidance की कमी है
- प्रमुख गेम्स (Shadow of the Tomb Raider, No Man’s Sky आदि) में यह समस्या दोबारा देखी गई; कुछ नए गेम्स (Cyberpunk 2077) इसे सही तरह handle करते हैं
- Apple को HIG और API update के ज़रिए developer guidance और support बेहतर करने की ज़रूरत है
Problem: Mac full-screen गेम्स में धुंधली rendering का कारण
- यह समस्या सितंबर 2023 से FB13375033 issue के रूप में Apple को submit की गई है
- MacBook display पर गेम को full-screen में चलाने पर, ज़्यादातर गेम notch क्षेत्र को सही तरह ध्यान में नहीं रखते, जिससे rendering error होता है
- कई गेम सिस्टम से supported resolutions की सूची लेकर उसमें से पहला विकल्प चुनते हैं, लेकिन AppKit में वास्तव में usable full-screen area notch के नीचे तक सीमित होता है
- अगर गेम full display resolution पर output देता है, तो असली drawable area छोटा होने के कारण frame vertically compress हो जाता है और blur की समस्या पैदा होती है
Mac display की area structure
- Mac notch display में तीन मुख्य क्षेत्र होते हैं
- पूरा display boundary area (notch और menu सहित)
- Safe area (notch के नीचे)
- AppKit में उपलब्ध full-screen area (menu bar के नीचे)
CGDisplayCopyAllDisplayModes फ़ंक्शन द्वारा लौटाई गई resolution list में full display resolution और menu bar के नीचे की resolution (आमतौर पर 16:10 ratio) दोनों मिली-जुली होती हैं
- ज़्यादातर गेम सूची के पहले item का उपयोग करते हैं, जिससे inaccurate output मिलता है
- उदाहरण: Shadow of the Tomb Raider डिफ़ॉल्ट रूप से full display resolution (3456x2234) पर शुरू होता है, लेकिन वास्तव में drawable area 3456x2160 है (74 pixel के अंतर की वजह से स्क्रीन compress होती है और rendering धुंधली दिखती है)
Solution: सही resolution selection और अस्थायी workaround
- उपयोगकर्ता: Mac notch display पर full-screen गेम चलाते समय, 16:10 resolution को manually चुनना ज़रूरी है (गेम इसे अपने-आप adjust नहीं करता)
- डेवलपर:
NSScreen की safeAreaInsets property का उपयोग करके resolution list को थोड़ा अधिक परिष्कृत तरीके से filter करने की ज़रूरत है
- Safe area के अनुरूप resolutions को ही filter करने वाला algorithm code के साथ दिया गया है (हालाँकि 4:3 जैसी कुछ resolutions ज़रूरत से ज़्यादा filter हो सकती हैं)
- मूल रूप से Apple स्तर पर सुधार की आवश्यकता है
Affected Games: प्रभावित प्रमुख गेम्स और उनकी स्थिति
- Shadow of the Tomb Raider, Control Ultimate Edition, No Man’s Sky, Riven, Stray आदि में गलत default resolution के कारण compressed और blurry rendering दिखाई देती है
- Control: resolution को अपने-आप set करता है, लेकिन असली Mac resolution से मेल नहीं खाता
- No Man’s Sky: गलत ratio के साथ safe area और non safe area दोनों resolutions दिखाता है
- Riven, Stray: compressed resolution के साथ rendering default लागू करते हैं
- Cyberpunk 2077, 16:10 ratio में सही resolution चुनता है (इसका internal filtering तरीका सार्वजनिक नहीं है)
- World of Warcraft: legacy API के कारण notch तक draw कर सकता है, इसलिए full resolution सामान्य रूप से काम करती है
What Apple could do: Apple की तरफ़ से क्या किया जाना चाहिए
- HIG (Human Interface Guidelines) दस्तावेज़ में notch display से जुड़ी resolution handling और guidance जोड़ने की ज़रूरत है
- AppKit/Cocoa में resolution filtering को आसान बनाने के लिए
CGDisplayMode update की आवश्यकता है
- गेम optimization के लिए नई API design करने की ज़रूरत है (resolution list और boilerplate की समस्या कम करने हेतु)
- डेवलपर्स के लिए resolution query करने के बजाय अपनी resolution list निकालने या “render scale” approach अपनाने की सिफारिश पर विचार किया जा सकता है
- ऐसे सुधार लागू होने पर Apple को अपनी official documentation और sample code भी साथ में update करने चाहिए
अभी कोई टिप्पणी नहीं है.