"फिक्स" MacBook Neo कर्सर लैग: हर 10 सेकंड में स्क्रीन के 1 पिक्सेल को रिकॉर्ड करें

Neo कर्सर बग पर समग्र प्रतिक्रिया

  • कई लोग कर्सर लैग को UX में एक “cardinal sin” मानते हैं: पॉइंटर को कंप्यूटर में उपयोगकर्ता का “embodiment” बताया जाता है, इसलिए स्टटर होने पर पूरा सिस्टम टूटा हुआ लगता है।
  • टिप्पणीकार 1980s–90s के सिस्टम्स से इसकी प्रतिकूल तुलना करते हैं, जहाँ कर्सर बहुत कमजोर हार्डवेयर पर भी भरोसेमंद रूप से स्मूद रहते थे।
  • कई लोगों का कहना है कि इसे एक क्रिटिकल, शो-स्टॉपर बग की तरह ट्रीट किया जाना चाहिए।

प्रस्तावित 1-पिक्सेल रिकॉर्डिंग फिक्स

  • यह स्क्रिप्ट समय-समय पर एक पिक्सेल रिकॉर्ड करती है ताकि WindowServer को कर्सर को हार्डवेयर ओवरले के बजाय कंपोज़िट करने पर मजबूर किया जा सके।
  • कुछ लोग इसे अत्यंत परेशान करने वाली समस्या के लिए एक कम-हस्तक्षेप वाला, व्यावहारिक वर्कअराउंड मानते हैं।
  • अन्य इसे एक “terrible” इलाज कहते हैं जो GPU को जागृत रखता है या अतिरिक्त कंपोज़िटिंग करवाता है, और चिंता जताते हैं कि Apple के असली बग ठीक करने के बहुत बाद तक उपयोगकर्ता भूल जाएंगे कि यह चल रहा है।
  • एक समान “hacky fix” पैटर्न किस्सों में भी दिखता है: coil whine रोकने के लिए समय-समय पर hashing करने वाली scripts, USB drives को spin down होने से रोकने के लिए files को touch करना, आदि।

तकनीकी चर्चा: हार्डवेयर बनाम सॉफ्टवेयर कर्सर

  • कई विस्तृत पोस्ट हार्डवेयर cursors (अलग overlay planes, position registers) और सॉफ्टवेयर cursors (composited framebuffer में draw किए गए) के बीच अंतर समझाते हैं।
  • एक theory: लैग hardware से software cursor में transition के दौरान होता है, संभवतः GPU command queues या fences के flush होने की प्रतीक्षा के कारण।
  • अन्य लोग तर्क देते हैं कि आधुनिक compositors बस हर frame में layers को फिर से render करते हैं; वे पुराने “save/restore under the cursor” विवरणों को outdated मानते हैं।
  • ठीक-ठीक यह अस्पष्ट है कि macOS Neo पर क्या कर रहा है; टिप्पणीकार कहते हैं कि असली उत्तर driver या WindowServer code तक पहुँच के बिना नहीं मिलेंगे।

वैकल्पिक mitigations और संबंधित बग

  • cursor size को थोड़ा बदलना ऐतिहासिक रूप से कुछ GPU/compositing bugs को ठीक करता रहा है; Neo पर, एक स्पष्ट रूप से बड़ा size आवश्यक बताया जाता है, और यह हमेशा मदद भी नहीं कर सकता।
  • macOS पर detached fullscreen low-power modes को पहले की rendering glitches का स्रोत बताया गया है।

तुलनाएँ और व्यापक Apple टिप्पणी

  • कुछ Linux उपयोगकर्ता भारी लोड के तहत या विशिष्ट setups पर समान cursor lag की रिपोर्ट करते हैं; अन्य कहते हैं कि उन्होंने ऐसा कभी नहीं देखा, इसलिए इसकी व्यापकता विवादित है।
  • कई टिप्पणियाँ Apple की UX rigor में कथित गिरावट पर अफसोस जताती हैं, और तर्क देती हैं कि Neo की कम कीमत के साथ दिखाई देने वाली glitches “it just works” ब्रांड को कमजोर करती हैं।

साइड थ्रेड्स

  • Swift के guard syntax और उसके लाभों पर संक्षिप्त digression।
  • shebang के माध्यम से scripting language के रूप में Swift के उपयोग पर नोट्स।
  • पुराने hardware और UI design principles पर anecdotal pranks और nostalgic चर्चा।