Paint Holding - ลดแฟลชสีขาวในการนำทางที่ต้นทางเดียวกัน

ในช่วงที่ผ่านมา Chrome พยายามล้างหน้าจอเมื่อเปลี่ยนไปใช้หน้าใหม่เพื่อให้ผู้ใช้มั่นใจว่าหน้าเว็บกำลังโหลด "การกะพริบสีขาว" คือช่วงเวลาสั้นๆ ที่เบราว์เซอร์แสดงสีขาวขณะโหลดหน้าเว็บ ซึ่งอาจรบกวนการไปยังส่วนต่างๆ โดยเฉพาะเมื่อหน้าเว็บโหลดได้เร็วพอที่จะแสดงผลในสถานะที่น่าสนใจยิ่งขึ้น

แต่สำหรับหน้าเว็บที่โหลดเร็ว วิธีนี้เป็นอันตรายจริงๆ ประสบการณ์ของผู้ใช้ ในภาพเคลื่อนไหวต่อไปนี้ คุณเห็นตัวอย่างของ หน้าตาแบบนี้ก็วันนี้

เราเป็นแฟนตัวยงของเว็บไซต์นี้ ซึ่งทำให้เราสูญเสียประสบการณ์ด้านคุณภาพเหล่านี้ มีแสงวาบเป็นสีขาวและเราต้องการแก้ไข เราทําเช่นนั้นด้วยลักษณะการทํางานแบบใหม่ที่เรียกกันว่า "การหยุดแสดงภาพชั่วคราว" ซึ่งเบราว์เซอร์จะรอสักครู่ก่อนที่จะเริ่มแสดงภาพ โดยเฉพาะในกรณีที่หน้าเว็บโหลดเร็วพอ วิธีนี้ช่วยให้มั่นใจว่าหน้าเว็บจะแสดงผลโดยรวมเพื่อให้ประสบการณ์การใช้งานที่รวดเร็วอย่างแท้จริง

วิธีการทํางานคือเราจะเลื่อนการคอมมิตคอมโพสิตอร์จนกว่าจะถึงสัญญาณการโหลดหน้าเว็บ (PLS) ที่ระบุ (เช่น First Contentful Paint / หมดเวลาแบบคงที่) พ แยกความแตกต่างระหว่างการแสดงผลเทรดหลักและกำหนดไปยังเทรดโดยนัย (เฉพาะรายการหลังจะถูกเลื่อน) การรอจนกระทั่ง PLS เกิดขึ้น จะช่วยลดโอกาสในการ สีขาว/สีทึบ

เป้าหมายของเราคือทำให้การไปยังส่วนต่างๆ ใน Chrome ระหว่าง 2 หน้าเว็บที่มีต้นทางเดียวกันเป็นไปอย่างราบรื่น จึงมอบประสบการณ์การไปยังส่วนต่างๆ เริ่มต้นที่รวดเร็วโดยไม่มีภาพพื้นหลังสีขาว/สีพื้นกะพริบระหว่างเนื้อหาเก่าและใหม่

ลองใช้ Paint Holding ใน Chrome Canary (Chrome 76) และบอกให้เราทราบว่าคุณคิดอย่างไร นักพัฒนาแอปไม่ควรกังวลเกี่ยวกับการเปลี่ยนแปลงใดๆ ใน เพื่อใช้ประโยชน์จากเรื่องนี้