RenderingNG

พร้อมรับเนื้อหาเว็บรุ่นถัดไป

Chris Harrelson
Chris Harrelson

RenderingNG เป็นสถาปัตยกรรมการแสดงผลรุ่นถัดไปที่มีประสิทธิภาพเหนือกว่ารุ่นก่อนอย่างมาก RenderingNG สร้างขึ้นในช่วงกว่า 8 ปี และแสดงถึงการทำงานร่วมกันของนักพัฒนา Chromium จำนวนมาก ซึ่งจะปลดล็อกศักยภาพอันมหาศาลของเนื้อหาเว็บที่รวดเร็ว ราบรื่น เชื่อถือได้ ตอบสนอง และเป็นแบบอินเทอร์แอกทีฟ

ภาพร่า��ขององค์ประกอบต่างๆ ของ RenderingNG
RenderingNG

คุณจะได้เห็นสิ่งที่เราสร้าง เหตุผลที่เราสร้าง และวิธีการทำงานของฟีเจอร์นี้

เป้าหมายที่เป็นดาวเหนือ

เป้าหมายหลักที่กระตุ้นให้ RenderingNG เกิดขึ้นคือการใช้งานเอ็นจิ้นเบราว์เซอร์และความหลากหลายของ API การเรนเดอร์ไม่ควรเป็นปัจจัยที่จ�������� UX ����เ��็บ

คุณจึงไม่ต้องกังวลเกี่ยวกับข้อบกพร่องของเบราว์เซอร์ที่ทำให้ฟีเจอร์ทำงานไม่ถูกต้อง หรือทำให้การแสดงผลของเว็บไซต์ขัดข้อง

ไม่ควรมีจุดที่ประสิทธิภาพลดลงอย่างฉับพลัน และคุณไม่ควรต้องแก้ปัญหาเกี่ยวกับฟีเจอร์ในตัวที่ขาดหายไป

ซึ่งควรจะใช้งานได้ทันที

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

  • มีฟีเจอร์หลักที่มีประสิทธิภาพสูงในแพลตฟอร์ม อุปกรณ์ และระบบปฏิบัติการต่างๆ
  • มีประสิทธิภาพที่คาดการณ์ได้และเชื่อถือได้
  • เพิ่มขีดความสามารถของฮาร์ดแวร์ให้สูงสุด (แกนประมวลผล, GPU, ความละเอียดของหน้าจอ, ความถี่ในการรีเฟรช, เรติเซล API ระดับล่าง)
  • ทำงานเฉพาะที่จำเป็นในการแสดงเนื้อหาที่มองเห็นได้
  • รองรับการออกแบบภาพ ภาพเคลื่อนไหว และรูปแบบการออกแบบการโต้ตอบทั่วไปในตัว
  • มี API สําหรับนักพัฒนาแอปเพื่อจัดการค่าใช้จ่ายในการแสดงผลได้อย่างง่ายดาย
  • ให้จุดขยายไปป์ไลน์การแสดงผลสำหรับส่วนเสริมของนักพัฒนาซอฟต์แวร์
  • เพิ่มประสิทธิภาพเนื้อหาทั้งหมด ไม่ว่าจะเป็น HTML, CSS, Canvas 2 มิติ, Canvas 3 มิติ, รูปภาพ, วิดีโอ และแบบอักษร

การเปรียบเทียบกับเครื่องมือแสดงผลเบราว์เซอร์อื่นๆ

Gecko และ Webkit ได้ใช้สถาปัตยกรรมฟีเจอร์ส่วนใหญ่ที่อธิบายไว้ในบล็อกโพสต์เหล่านี้ด้วย และบางครั้งยังเพิ่มฟีเจอร์เหล่านี้ก่อน Chromium อีกด้วย

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

พีระมิดแห่งความสําเร็จ

แนวคิดของฉันคือความสําเร็จเป็นผลมาจากการบรรลุความน่าเชื่อถือก่อน จากนั้นจึงมุ่งเน้นที่ประสิทธิภาพที่ปรับขนาดได้ และสุดท้ายคือความสามารถในการขยาย

พีระมิดที่มีป้ายกำกับความน่าเชื่อถือที่ฐาน ประสิทธิภาพตรงกลาง และความสามารถในการขยายที่ยอด

แต่ละระดับจะเป็นรากฐานที่มั่นคงซึ่งจำเป็นต่อระดับที่สูงขึ้น เช่นเดียวกับพีระมิดในชีวิตจริง

ความน่าเชื่อถือ

ภาพร่างแสดงวิธีเพิ่มฟีเจอร์ RenderingNG โดยไม่ทำให้ผู้ใช้รู้สึกหงุดหงิดมากขึ้น

หากต้องการให้ผู้ใช้ได้รับประสบการณ์การใช้งานที่สมบูรณ์แบบและซับซ้อน สิ่งแรกที่เราต้องมีคือแพลตฟอร์มที่มั่นคง ฟีเจอร์หลักและรากฐานต้องทํางานอย่างถูกต้องและทํางานต่อไปได้ และที่สำคัญไม่แพ้กันคือฟีเจอร์เหล่านั้นต้องทำงานร่วมกันได้ดีและไม่มีการทำงานที่แปลกประหลาดหรือ��้อบกพร่องในขอบเขตการทำงาน

ภาพร่างแสดงลักษณะการทำงานแบบวนซ้ำของการเพิ่มฟีเจอร์ การรับความคิดเห็น และการปรับปรุงความน่าเชื่อถือ

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

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

กราฟภาพร่างแสดงความน่าเชื่อถือ ประสิทธิภาพ และการขยายความสามารถที่ดีขึ้นเมื่อเวลาผ่านไป

แต่ไม่ได้หมายความว่า Chromium ไม่ได้ปรับปรุงอะไรเลยในช่วงเวลาดังกล่าว แต่ความจริงแล้วกลับตรงกันข้าม ในช่วงหลายปีที่ผ่านมา ความเสถียรและประสิทธิภาพเพิ่มขึ้นอย่างต่อเนื่องและยั่งยืนเนื่องจากเรารีแฟกทอริงและเปิดตัวการปรับปรุงแต่ละ��ายการทีละขั้นตอน

การทดสอบและเมตริก

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

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

การทดสอบแพลตฟอร์มเว็บเป็นการทดสอบแบบร่วมมือ ตัวอย่างเช่น วิศวกร Chromium ได้เพิ่มการทดสอบ WPT ทั้งหมดประมาณ 10% สำหรับฟีเจอร์ของ CSS ส่วนที่เหลือมาจากผู้ให้บริการเบราว์เซอร์รายอื่นๆ ผู้มีส่วนร่วมอิสระ และผู้เขียนข้อกำหนด การสร้างเว็บที่ทำงานร่วมกันได้นั้นต้องอาศัยความร่วมมือจากทุกฝ่าย

การทดสอบที่ผ่านในเครื่องมือต่างๆ
จาก wpt.fyi/compat2021 การวัดอัตราผ่านของ WPT สำหรับฟีเจอร์หลัก

รูปแบบการออกแบบซอฟต์แวร์ที่ดี

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

ประสิทธิภาพที่ปรับขนาดได้

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

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

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

การแคช

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

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

การแยกประสิทธิภาพ

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

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

Sketch แสดงให้เห็นว่า RenderingNG มีประสิทธิภาพที่สม่ำเสมอแม้ว่า JavaScript จะทำงานช้ามากก็ตาม

การเร่งความเร็วด้วย GPU

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

Sketch แสดงให้เห็นว่าประสิทธิภาพของ RenderingNG ไม่ได้ลดลงมากนัก

การขยายการทำงาน: เครื่องมือที่เหมาะกับงาน

เมื่อมีความเสถียรและประสิทธิภาพที่ปรับขนาดได้ เราก็พร้อมที่จะสร้างเครื่องมือต่างๆ เพิ่มเติมเพื่อช่วยนักพัฒนาซอฟต์แวร์ขยายส่วนต่างๆ ของ HTML, CSS และ Canvas ในตัว และดำเนินการในลักษณะที่ไม่ลดประสิทธิภาพและความเสถียรที่ได้มาอย่างยากลำบาก

ซึ่งรวมถึง API ในตัวและ API ที่แสดง JavaScript สำหรับกรณีการใช้งานขั้นสูงของการออกแบบที่ปรับเปลี่ยนตามพื้นที่โฆษณา การแสดงผลแบบเป็นขั้นๆ ความลื่นไหลและการตอบสนอง และการแสดงผลแบบแยกเธรด

API เว็บแบบเปิดต่อไปนี้ซึ่ง Chromium สนับสนุนเกิดขึ้นได้จาก RenderingNG และก่อนหน้า���ี้ถือว่าไม่สามารถทำได้

ทั้งหมดนี้พัฒนาขึ้นโดยใช้ข้อกำหนดแบบเปิดและการทำงานร่วมกันกับพาร์ทเนอร์เว็บแบบเปิด ซึ่งได้แก่ วิศวกรจากเบราว์เซอร์อื่นๆ ผู้เชี่ยวชาญ และนักพัฒนาเว็บ ในบล็อกโพสต์ต่อๆ ไป เราจะเจาะลึกแต่ละหัวข้อเหล่านี้และอธิบายว่า RenderingNG ทําให้สิ่งเหล่านี้เกิดขึ้นได้อย่างไร

  • content-visibility: ช่วยเว็บไซต์ในการหลีกเลี่ยงการแสดงผลเนื้อหาที่อยู่นอกหน้าจอได้อย่างง่ายดาย และแคชการแสดงผลสำหรับมุมมองแอปพลิเคชันหน้าเว็บเดียวที่ไม่ได้แสดงอยู่ในปัจจุบัน
  • OffscreenCanvas: อนุญาตให้การแสดงผล Canvas (ทั้ง Canvas API 2 มิติและ WebGL) ทำงานบนเธรดของตัวเองเ��ื่อให้ได้ประสิทธิภาพที่ยอดเยี่ยมและเชื่อถือได้ โปรเจ็กต์นี้ยังเป็นอีกก้าวสําคัญสําหรับเว็บด้วย เพราะเป็น Web API แรกสุดที่อนุญาตให้ JavaScript (หรือ WebAssembly) แสดงผลเอกสารหน้าเว็บหน้าเดียวจากหลายเธรด
  • การค้นหาคอนเทนเนอร์: ช่วยให้คอมโพเนนต์เดียวแสดงผลแบบตอบสนองได้ ซึ่งจะปลดล็อกคอมโพเนนต์แบบปลั๊กแอนด์เพลย์ทั้งหมด (ขณะนี้เป็นการใช้งานเวอร์ชันทดลอง)
  • การแยกต้นทาง: ช่วยให้เว็บไซต์เลือกการแยกประสิทธิภาพระหว่าง iframe เพิ่มเติมได้
  • เวิร์กเลตการวาดนอกเธรดหลัก: ช่วยให้นักพัฒนาแอปขยายวิธีวาดองค์ประกอบได้โดยใช้โค้ดที่ทำงานบนเธรดคอมโพสิต

นอกจาก Web API ที่ชัดเจนแล้ว RenderingNG ยังช่วยให้เราส่ง "ฟีเจอร์อัตโนมัติ" ที่สำคัญมากหลายรายการที่เป็นประโยชน์ต่อทุกเว็บไซต์ได้ ดังนี้

  • การแยกเว็บไซต์: วาง iframe ข้ามแหล่งที่มาในกระบวนการ CPU ที่แตกต่างกัน เพื่อแยกความปลอดภัยและประสิทธิภาพให้ดียิ่งขึ้น
  • Vulkan, D3D12 และ Metal: ใช้ API ระดับล่างที่ใช้ GPU ได้อย่างมีประสิทธิภาพมากกว่า OpenGL
  • แอนิเมชันแบบคอมโพสิตเพิ่มเติม ได้แก่ SVG, สีพื้นหลัง

ฟีเจอร์เพิ่มเติมที่กำลังจะเปิดตัวซึ่ง RenderingNG ไม่ได้บล็อกและเราตื่นเต้นมาก ได้แก่

โปรเจ็กต์หลักที่ประกอบกันเป็น RenderingNG

ต่อไปนี้คือรายการโปรเจ็กต์หลักภายใน RenderingNG

CompositeAfterPaint

CompositeAfterPaint จะแยกการคอมโพสออกจากสไตล์ เลย์เอาต์ และการเพนต์ ซึ่งช่วยให้มีความน่าเชื่อถือและประสิทธิภาพที่คาดการณ์ได้มากขึ้น เพิ่มปริมาณงาน และลดการใช้หน่วยความจําโดยไม่ลดประสิทธิภาพ

ปี ความคืบหน้า
2015 แสดงรายการเรือ
2017 จัดส่งการลบล้างใหม่
2018 ต้นไม้พร็อพเพอร์ตี้ของเรือ ส่วนที่ 1
2019 จัดส่งต้นไม้พร็อพเพอร์ตี้ส่วนที่ 2
2021 จัดส่งโปรเจ็กต์เรียบร้อยแล้ว

LayoutNG

เขียนอัลกอริทึมเลย์เอาต์ทั้งหมดขึ้นใหม่ตั้งแต่ต้น เพื่อเพิ่มความเสถียรและทำให้คาดการณ์ประสิทธิภาพได้มากขึ้น

อ่านเพิ่มเติมเกี่ยวกับ LayoutNG

ปี ความคืบหน้า
2019 ขั้นตอนการบล็อกการจัดส่ง
2020 จัดส่งฟีเจอร์การแก้ไข
2021 จัดส่งสินค้าอื่นๆ

BlinkNG

เราได้ปรับโครงสร้างและล้างข้อมูลเครื่องมือแสดงผล Blink ออกเป็นระยะของไปป์ไลน์ที่แยกกันอย่างชัดเจน ซึ่งช่วยให้แคชดีขึ้น มีความน่าเชื่อถือมากขึ้น และฟีเจอร์การแสดงผลที่กลับมาอีกครั้งหรือการแสดงผลที่ล่าช้า เช่น การค้นหาระดับการมองเห็นเนื้อหาและคอนเทนเนอร์

การเร่งความเร็วด้วย GPU ในทุกที่

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

ปี ความคืบหน้า
2014 การรองรับภาพพิมพ์แคนวาส พร้อมใช้งานในเนื้อหาแบบเลือกใช้ใน Android
2016 จัดส่งใน Mac
2017 GPU ใช้ในการแสดงผลหน้าเว็บ Android กว่า 60%
2018 พร้อมให้บริการใน Windows, ChromeOS และ Android Go
2019 แรสเตอร์ GPU แบบใช้เธรด
2020 จัดส่งเนื้อหา Android ที่เหลือ

การเลื่อนแบบเป็นชุด ภาพเคลื่อนไหว และการถอดรหัส

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

ปี ความคืบหน้า
2011 การรองรับเบื้องต้นสำหรับการเลื่อนแบบเป็นชุดและภาพเคลื่อนไหว
2015 การบีบอัดเลเยอร์
2016 การเลื่อนแบบ Universal Overflow
2017 ถอดรหัสรูปภาพในเธรดตัวจัดวางองค์ประกอบ
2018 ภาพเคลื่อนไหวในชุดข้อความตัวจัดวางองค์ประกอบ
2020 คอมโพสิทตำแหน่งคงที่เสมอ
2021 ภาพเคลื่อนไหวการเปลี่ยนรูปแบบเป็นเปอร์เซ็นต์ ภาพเคลื่อนไหว SVG

Viz

กระบวนการแรสเตอร์และการวาดแบบรวมศูนย์สําหรับ Chromium ที่เพิ่มปริมาณงาน เพิ่มประสิทธิภาพหน่วยความจํา และช่วยให้ใช้ความสามารถของฮาร์ดแวร์ได้อย่างคุ้มค่าที่สุด นอกจากนี้ยังมีประโยชน์อื่นๆ ที่นักพัฒนาเว็บไม่ค่อยเห็น แต่ผู้ใช้จะเห็นอย่างชัดเจน เช่น การเลิกบล็อกการแยกเว็บไซต์และการแยกไปป์ไลน์การแสดงผลออกจากการแสดงผล UI ของ���บราว์เซอร์

ปี ความคืบหน้า
2018 OOP-R ที่มาพร้อมกับ Android, Mac และ Windows
2019 OOP-D จัดส่งแล้ว OOP-R จัดส่งทุกที่ (ยกเว้นภาพพิมพ์แคนวาส) SkiaRenderer ที่มาพร้อมกับ Linux
2020 SkiaRenderer ที่มาพร้อมกับ Windows และ Android Vulkan ที่มาพร้อมกับ Android
2021 SkiaRenderer ที่มาพร้อมกับ Mac (และ ChromeOS เร็วๆ นี้)

คําจํากัดความของคําศัพท์ในแผนภูมิด้านบน

OOP-D
โปรแกรมจัดเรียงการแสดงผลนอกกระบวนการ การคอมโพสภาพในจอแสดงผลเป็นกิจกรรมประเภทเดียวกับคอมโพสเซอร์ระบบปฏิบัติการ "นอกกระบวนการ" หมายถึงการดำเนินการในกระบวนการแสดงภา��แทนกระบวนการแสดงผลของหน้าเว็บหรือกระบวนการ UI ของเบราว์เซอร์
OOP-R
แรสเตอร์นอกกระบวนการ แรสเตอร์จะแปลงรายการที่แสดงเป็นพิกเซล "นอกกระบวนการ" หมายถึงการดำเนินการในกระบวนการแสดงภาพแทนกระบวนการแสดงผลของหน้าเว็บ
SkiaRenderer
การติดตั้งใช้งานคอมโพสิเตอร์การแสดงผลแบบใหม่ที่รองรับการดำเนินการใน GPU API ต่างๆ ที่อยู่เบื้องหลัง เช่น Vulkan, D3D12 หรือ Metal

การแสดงผลแคนวาสแบบใช้เธรดและแบบเร่ง

นี่เป็นโปรเจ็กต์ที่ทำให้ OffscreenCanvas ใช้งานได้

ปี ความคืบหน้า
2018 จัดส่ง OffscreenCanvas
2019 ส่ง ImageBitmapRenderingContext
2021 จัดส่ง OOP-R

VideoNG

VideoNG เป็นโครงการระยะยาวที่มุ่งให้บริการการเล่นวิดีโอที่มีประสิทธิภาพ เชื่อถือได้ และมีคุณภาพสูงบนเว็บ

ปี ความคืบหน้า
2014 เปิดตัวเฟรมเวิร์กการแสดงผลที่ใช้ Mojo
2015 ติดตั้ง Project Butter และการวางซ้อนวิดีโอเพื่อให้การแสดงผลวิดีโอราบรื่นยิ่งขึ้น
2016 เผยแพร่ไปป์ไลน์การถอดรหัสและการเรนเดอร์แบบรวมสำหรับ Android และเดสก์ท็อป
2017 การแสดงผลวิดีโอ HDR และวิดีโอที่แก้สีที่พร้อมใช้งาน
2018 ไปป์ไลน์การถอดรหัสวิดีโอที่ใช้ Mojo ซึ่งพร้อมใช้งาน
2019 ไปป์ไลน์การแสดงผลวิดีโอที่��ิงตาม Surface ที่พร้อมใช้งาน
2021 รองรับการแสดงผลเนื้อหาที่ได้รับการคุ้มครองระดับ 4K ใน ChromeOS

คําจํากัดความของคําศัพท์ในแผนภูมิด้านบน

Mojo
ระบบย่อย IPC รุ่นถัดไปสำหรับ Chromium
แพลตฟอร์ม
แนวคิดที่เป็นส่วนหนึ่งของการออกแบบโปรเจ็กต์ภาพ

ภาพโดย Una Kravets