पेंट होल्डिंग - एक ही ऑरिजिन वाले नेविगेशन पर सफ़ेद के फ़्लैश को कम करना

Chrome में, किसी नए पेज पर जाने के दौरान स्क्रीन को तुरंत खाली कर दिया जाता है. इससे उपयोगकर्ताओं को यह भरोसा दिलाया जाता है कि पेज लोड हो रहा है. इस "फ़्लैश ऑफ़ सफ़ेद" क्या यह वह छोटा हिस्सा है जिसके दौरान ब्राउज़र सफे़द पेंट दिखाता है कोई पेज लोड होता है. इससे नेविगेशन के दौरान ध्यान भटका सकता है. ऐसा खास तौर पर तब होता है, जब पेज किसी दिलचस्प स्टेटस पर तेज़ी से पहुंचता है.

हालांकि, तेज़ी से लोड होने वाले पेजों के लिए, यह तरीका नुकसानदेह होता है उपयोगकर्ता अनुभव को बेहतर बनाते हैं. नीचे दिए गए ऐनिमेशन में, आपको एक उदाहरण दिखेगा कि आज की तारीख जैसी.

हम इस वेबसाइट के बहुत बड़े प्रशंसक हैं और इस साइट का गुणवत्ता अनुभव हमें बहुत खराब लगा में सफ़ेद चमक है और हम इसे ठीक करना चाहते थे. हमने इसे एक नए तरीके से लागू किया है हम पेंट होल्डिंग कह रहे हैं, जहां ब्राउज़र कुछ समय तक आपकी साइट पेंट करना शुरू करना हो, खासकर तब, जब पेज काफ़ी तेज़ हो. इससे पक्का होता है कि पेज रेंडर होने में लगने वाला समय आपको शानदार अनुभव देता है.

यह इस तरह काम करता है: हम कॉम्पोज़र के कमिट को तब तक रोकते हैं, जब तक कि पेज लोड होने का कोई सिग्नल (पीएलएस) (जैसे, फ़र्स्ट कॉन्टेंटफ़ुल पेंट / तय समयसीमा) नहीं मिल जाता. हम मुख्य थ्रेड में रेंडरिंग के काम और लागू करने वाली थ्रेड में किए गए काम के बीच अंतर करते हैं. सिर्फ़ लागू करने वाली थ्रेड में किए गए काम को बाद में किया जाता है. PLS होने तक इंतज़ार करने से, सफ़ेद/सॉलिड रंग के फ़्लैश होने की संभावना कम हो जाती है.

इस काम का हमारा मकसद, Chrome में एक ही ऑरिजिन वाले दो पेजों के बीच नेविगेशन को आसान बनाना था. इससे, पुराने और नए कॉन्टेंट के बीच सफ़ेद/सॉलिड रंग के बैकग्राउंड के फ़्लैश के बिना, तेज़ी से डिफ़ॉल्ट नेविगेशन का अनुभव मिलता है.

Chrome कैनरी (Chrome 76) में Paint होल्डिंग आज़माएं और हमें बताएं कि आप क्या सोचते हैं. डेवलपर को इसका फ़ायदा पाने के लिए, अपने पेजों में कोई बदलाव करने की ज़रूरत नहीं है.