หลีกเลี่ยงการใช้ภาพเคลื่อนไหวที่ไม่ได้ทำการ Composite

ภาพเคลื่อนไหวที่ไม่ได้ทำการ Composite อาจปรากฏไม่ราบรื่น (ไม่ราบรื่น) ในโทรศัพท์ระดับโลว์เอนด์หรือเมื่อมีการทำงานที่หนักหน่วงในเทรดหลัก ภาพเคลื่อนไหวที่แจ่มใสอาจทำให้หน้าเว็บ Cumulative Layout Shift (CLS) เพิ่มขึ้น การลด CLS จะช่วยเพิ่มคะแนนประสิทธิภาพของ Lighthouse

ที่มา

อัลกอริทึมของเบราว์เซอร์สำหรับการแปลง HTML, CSS และ JavaScript เป็นพิกเซลนั้นเรียกรวมกันว่าไปป์ไลน์การแสดงผล

ไปป์ไลน์การแสดงผลประกอบด้วยขั้นตอนตามลำดับต่อไปนี้: JavaScript, สไตล์, Layout, Paint, Composite
ไปป์ไลน์การแสดงผล

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

ลองดูแหล่งข้อมูลต่อไปนี้เพื่อดูข้อมูลเชิงลึกเกี่ยวกับไปป์ไลน์การแสดงผล

วิธีที่ Lighthouse ตรวจจับภาพเคลื่อนไหวที่ไม่ได้ทำการคอมโพสิต

เมื่อคอมไพล์ภาพเคลื่อนไหวไม่ได้ Chrome จะรายงานสาเหตุที่ดำเนินการไม่สำเร็จให้กับการติดตามเครื่องมือสำหรับนักพัฒนาเว็บ ซึ่งเป็นข้อมูลที่ Lighthouse อ่าน Lighthouse แสดงรายการโหนด DOM ที่มีภาพเคลื่อนไหวที่ไม่ได้ทำการคอมไพล์ พร้อมกับเหตุผลที่ล้มเหลวสำหรับภาพเคลื่อนไหวแต่ละรายการ

วิธีตรวจสอบว่าภาพเคลื่อนไหวมีการผสานไว้

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

แหล่งข้อมูล