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

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

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

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

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

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

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