1 पॉइंट द्वारा GN⁺ 2025-08-16 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • 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 करने चाहिए

1 टिप्पणियां

 
GN⁺ 2025-08-16
Hacker News राय
  • क्या सिर्फ मुझे ही rounded corners और notch वाली स्क्रीन बहुत अजीब लगती है, यह जानने की जिज्ञासा है। दशकों तक CRT मॉनिटर की अस्पष्ट geometry से परेशान रहने के बाद आखिरकार परफेक्ट rectangular display आम हुए, और अब इसे फिर से खराब किया जा रहा है सिर्फ इसलिए कि वह cool दिखे — यह निराशाजनक है।
    • अगर notch को स्क्रीन एरिया छीनने वाली बेवकूफी नहीं, बल्कि bezel कम करके कुल स्क्रीन साइज़ बढ़ाने वाले तत्व के रूप में देखें, तो बात अलग लगती है। और जब स्क्रीन के corners notch के पास आते हैं, तो laptop का बाहरी आकार rounded होने की वजह से स्क्रीन का भी rounded होना ज़्यादा natural लगता है। अगर rounded laptop corners के भीतर rectangular screen हो, तो वह अजीब दिखती है। हालांकि यह context पर निर्भर करता है; Mac में video playback के दौरान स्क्रीन rectangular हो जाती है और notch के नीचे चलती है। असली इस्तेमाल में आपको बड़ी स्क्रीन मिलती है, काम के दौरान rounded corners और menu bar में notch परेशान नहीं करते, और video व game के समय rectangular screen में बदल जाता है। कुल मिलाकर, अलग-अलग फायदे और flexibility की वजह से इसे सिर्फ बुरा कहने की ज़रूरत नहीं है।
    • मौजूदा तकनीक के हिसाब से तीन विकल्प हैं: 1) front camera के बिना no-bezel के साथ अधिकतम स्क्रीन, 2) front camera के साथ no-bezel, लेकिन स्क्रीन 5mm छोटी हो जाती है और ऊपर के 5mm हिस्से का कोई उपयोग नहीं, 3) front camera और bezel/notch के संयोजन में बीच में "dead space" बनता है, लेकिन किनारों की जगह उपयोगी रहती है। और ज़्यादातर समय menu और indicators ऊपर दिखते हैं और बीच का हिस्सा खाली रहता है, इसलिए notch वाला हिस्सा वास्तव में app space बढ़ाने का असर देता है। game में भी #2 और #3 दोनों में dead space ही है, इसलिए वास्तविक फर्क नहीं पड़ता। आखिरकार notch असल स्क्रीन के बीच का हिस्सा नहीं घेरता, बल्कि बाएँ-दाएँ अतिरिक्त जगह देता है। हाँ, resolution reporting के तरीके में समस्या है (अगर app को दिए जाने वाले values वास्तविकता से अलग हों, तो भ्रम पैदा होता है)।
    • मैं notch वाले MacBook model का उपयोग कर रहा हूँ और सच कहूँ तो इसकी मौजूदगी का एहसास ही मुश्किल से होता है। ज़्यादातर MacBook users notch पर लगभग ध्यान ही नहीं देते। कुछ लोग शिकायत करते हैं, लेकिन वे बहुत कम हैं।
    • क्या स्क्रीन OLED है? smartphone तो लगभग सभी OLED हैं। मेरी राय में notch वास्तव में बेकार है, लेकिन front camera की position की वजह से शायद ज़रूरी है। अगर OLED हो, तो ज़रूरत पड़ने पर pixels बंद करके उसे बस bezel जैसा दिखाया जा सकता है, इसलिए अंततः यह पुराने bezel विकल्प जैसा ही हो जाता है।
    • मुझे LCD पर बिना anti-aliasing वाले font ज़्यादा अच्छे लगते थे, क्योंकि pixels के sharp corners साफ़ दिखते हैं। फिर भी बहुत लोग smooth anti-aliasing effect पसंद करते हैं। शायद इसकी वजह CRT जैसा एहसास है।
  • World of Warcraft में notch को ध्यान में रखते हुए ऐसा option है जिसमें UI notch से बचकर दिखता है। अंदरूनी रूप से यह C_UI से safe region लोड करता है, फिर UIParent को उसी के अनुसार adjust करता है, ताकि game screen पूरा एरिया इस्तेमाल करे लेकिन UI notch के नीचे fit हो जाए।
    • WoW ने हमेशा macOS को first-class platform की तरह अच्छी तरह treat किया है। Blizzard ने हाल की नई titles में macOS support बंद कर दिया, यह सच में अफसोसजनक है।
  • यह स्थिति दिखाती है कि Apple Mac पर gaming की परवाह नहीं करता। मैंने भी MBP, Mac Studio वगैरह में काफी निवेश किया है, लेकिन सीमा hardware से नहीं बल्कि gaming software के दयनीय maintenance से आती है। इसके पीछे वजह यह है कि Apple Mac games से iOS की तरह 30% fee नहीं निकाल सकता। आखिरकार, मुझे अपने पुराने शिक्षक की बात याद आती है: "ऊपरी तौर पर वजह गैर-आर्थिक लगे, फिर भी हर चीज़ का कारण पैसा ही होता है।"
    • सच में इससे भी बड़ी समस्या Apple का documentation है, जो बेहद खराब है। वहाँ बस function signatures की सूची मिलती है; असल उपयोग समझने के लिए कई साल पुराने WWDC sessions खोजने पड़ते हैं, और तब भी यह साफ़ नहीं होता कि वहाँ बताया गया तरीका अब भी सही है या नहीं।
    • यह सही है कि Apple वास्तव में games की परवाह नहीं करता, लेकिन notch जैसी समस्या एक तरह से उस विरोधाभास का नतीजा है जहाँ कंपनी तकनीकी रूप से "जादुई abstraction" देने का दावा करती है। कहा जाता है कि software इसे अपने आप संभाल लेगा, लेकिन हकीकत में स्क्रीन को बारीकी से संभालने वाले apps/games को अलग से hack/patch करना पड़ता है। इस तरह तकनीकी सीमाओं और abstraction की दुविधा बार-बार सामने आती रहती है।
    • Mac के game market की परवाह न करने की एक वजह यह धारणा भी है कि gaming मूल रूप से कम margin वाला business है। आम तौर पर gamers hardware के मामले में संवेदनशील होते हैं और component cost व margin पर नज़र रखते हैं, खासकर SSD या RAM की कीमतों पर। यह Apple के high-margin creative/enterprise market से बिल्कुल अलग है।
    • मैं M3 Ultra Mac Studio इस्तेमाल कर रहा हूँ, $4,000 का computer है, लेकिन StreamLabs से कुछ भी stream करने की कोशिश करूँ (game खोले बिना भी), recording अटकती है और stutter करती है। सच में समझ नहीं आता कि ऐसा क्यों होता है।
    • यह दावा कि Apple ऐसा इसलिए करता है क्योंकि वह Mac पर 30% नहीं ले सकता, विश्वासयोग्य नहीं है, क्योंकि लेख में बताए गए ज़्यादातर Mac games App Store पर उपलब्ध हैं, इसलिए Apple अच्छी-खासी fee ले रहा है। Control Ultimate Edition, Shadow of the Tomb Raider, Riven, Cyberpunk 2077 Ultimate, Stray भी सभी उपलब्ध हैं। यह Apple की दुर्भावनापूर्ण रोक-टोक से ज़्यादा अयोग्यता और उदासीनता जैसा लगता है।
  • WoW जैसे पुराने games CoreGraphics की legacy fullscreen API का उपयोग करते हैं, इसलिए वे notch वाले हिस्से तक भी स्वतंत्र रूप से draw कर सकते हैं। मुझे Mac की ज़्यादा जानकारी नहीं है, लेकिन क्या immersion बढ़ाने के लिए game को notch सहित fullscreen draw करना और UI तथा gameplay को केवल safe area में सीमित रखना सही तरीका नहीं होना चाहिए? सोचता हूँ कि Control जैसे games, जो resolution को बस मनमाने ढंग से सेट कर देते हैं, क्या उन्होंने यह बस आलस में किया?
    • हर game का तरीका अलग है, लेकिन notch के ऊपर वाला हिस्सा या तो बस काला रहता है या फिर वहाँ पहुँचना ही संभव नहीं होता (cursor भी नहीं जा सकता)। यह ऐसे काम करता है जैसे स्क्रीन का वह हिस्सा मौजूद ही न हो। इसे M1 Air जैसे बिना notch वाले मॉडल जैसा ही समझें।
  • यह सिर्फ Apple की समस्या नहीं है। Xbox 360 में भी 2008 में TV overscan की समस्या थी। safe area में फिट होने के लिए resolution से छोटा draw करना पड़ता था, और development के दौरान इसे हमेशा अलग से संभालना पड़ता था। XNA में safe area rect मिलने से थोड़ी मदद मिली, और अब backbuffer size भी स्वतंत्र रूप से तय किया जा सकता है। DLSS जैसी चीज़ें इस्तेमाल करते समय भी safe area को 1:1 रखना सबसे अच्छा है। आखिरकार developer को साफ़ समझ होना चाहिए कि display resolution और render resolution अलग हो सकते हैं, और wgpu, vulkan, AppKit, SDL, glfw जैसे अलग-अलग tools इस्तेमाल करते समय भी यही बात लागू होती है।
    • मूल रूप से तुम जो कह रहे हो वह यह है कि processing resources बचाने के लिए जानबूझकर स्क्रीन को छोटा render किया जाता है, लेकिन HDMI output पर वह फिर 1080p में upscale हो जाता है, और TV overscan जुड़ जाए तो समस्या और बढ़ सकती है। असल में TV overscan की समस्या custom FoV और GUI size adjustment options से हल की जा सकती है, इसलिए मुझे नहीं लगता कि पूरी स्क्रीन को छोटा करने की ज़रूरत है।
  • मुझे हैरानी है कि इस लेख में सिर्फ blurry rendering वाले हिस्से पर ध्यान दिया गया, जबकि असल में mouse pointer की position तक प्रभावित होती है। हर game में बार-बार OS menu में जाकर fullscreen को notch के नीचे खिसकाने के लिए मजबूरन सेट करना पड़ता है। यह तो system-wide accessibility option होना चाहिए, लेकिन ऐसा नहीं है — यही बात अजीब है।
  • यह स्थिति Mac के game market के आकार को अच्छी तरह दिखाती है — बहुत छोटा, और अफसोसजनक।
    • वास्तव में Steam hardware survey के हिसाब से Mac की हिस्सेदारी सिर्फ 1.88% है, जो Linux से भी कम है। इसलिए ज़्यादातर developers इसकी तरफ़ ध्यान ही नहीं देते।
  • मैंने जानबूझकर M3 MacBook Pro इसलिए खरीदा कि मैं games न खेल सकूँ। मुझे cyber security में master's के लिए एक भरोसेमंद laptop चाहिए था, और अगर मैं Windows वाला high-performance laptop खरीदता, तो शायद games में उलझ जाता। यह device कुल मिलाकर शानदार है, लेकिन gaming के दौरान बहुत ज़्यादा गर्म हो जाता है, जिससे चिंता होती है। इसलिए मैंने बस gaming छोड़ दी।
  • इस site का font कुछ characters के हिस्सों में बहुत पतला है।
    • निजी तौर पर मुझे लगता है कि सभी अक्षरों का ऊपरी हिस्सा बहुत पतला है। सच कहूँ तो ऐसा लगता है जैसे किसी लगभग खाली हो चुके printer से छपा हुआ पाठ पढ़ रहा हूँ (Hacker News की परंपरा निभाते हुए feedback दे रहा हूँ)।
  • मैं सोच रहा हूँ कि मौजूदा software को तोड़े बिना इसे ठीक करने का तरीका क्या हो सकता है। List reordering?
    • जैसे Windows ने किया था, अगर कोई चल रहा app legacy game हो, तो OS code उसे "झूठी" system information दे सकता है ताकि स्क्रीन सही दिखे। इसी तरह का approach Windows के gaming platform के रूप में सफल होने की एक बड़ी वजह था। आज भी यह पूरी तरह गायब नहीं हुआ है, लेकिन पहले ऐसे तरीके कहीं ज़्यादा आम थे।