RenderingNG

Sẵn sàng cho thế hệ tiếp theo của nội dung web

Chris Harrelson
Chris Harrelson

Tôi là Chris Harrelson, trưởng nhóm kỹ thuật về Hiển thị (chuyển đổi HTML và CSS thành pixel) trong Blink. Tôi đã gắn bó sâu sắc với hiệu suất kết xuất trên web trong hơn 8 năm. Mục tiêu cá nhân của tôi là làm mọi thứ có thể để giúp việc cung cấp trải nghiệm người dùng tuyệt vời trên web nhanh hơn, dễ dàng hơn và đáng tin cậy hơn. Tôi rất vui được cho bạn biết về những việc chúng tôi đã làm nhằm xây dựng kiến trúc công cụ kết xuất Chromium mới, tiên tiến. Để có được điều này là một nỗ lực to lớn của tình yêu và tôi hy vọng bạn thích nghe về điều này!

Vào năm 2021, chúng tôi sẽ hoàn thành phần lớn quá trình thiết kế, xây dựng và vận chuyển công trình kiến trúc này. Hãy gọi nó là RenderingNG, vì đây thực sự là một kiến trúc kết xuất thế hệ tiếp theo hoạt động tốt hơn đáng kể so với các phiên bản trước đó. RenderingNG đã được triển khai trong ít nhất 8 năm và đại diện cho thành quả chung của nhiều nhà phát triển Chromium tận tâm. Nền tảng này mở ra một lượng lớn tiềm năng cho thế hệ tiếp theo của những nội dung web nhanh, linh hoạt, đáng tin cậy, đáp ứng và tương tác. Đó cũng là cơ sở mà tôi tin rằng đưa ra một tiêu chuẩn tối thiểu mới cho tất cả các công cụ kết xuất web mà các nhà phát triển có thể dựa vào.

Phác thảo các thành phần của RenderingNG
RenderingNG

Bài đăng trên blog này là bài đăng đầu tiên trong chuỗi bài đăng, trong đó chúng tôi sẽ giải thích những gì chúng tôi đã tạo, lý do xây dựng và cách thức hoạt động của ứng dụng đó. Trong bài đăng đầu tiên này, tôi sẽ bắt đầu với:

  • Bàn thắng của chúng tôi.
  • Kim tự tháp của thành công: các nguyên tắc định hướng cho công việc của chúng ta và ví dụ về các nguyên tắc đó trong thực tế.
  • Các tính năng và chức năng mà RenderingNG cung cấp.
  • Thông tin tổng quan cấp cao về các thành phần chính trong dự án của RenderingNG.

Sao Bắc

Mục tiêu sao phương Bắc thúc đẩy RenderingNG là việc triển khai công cụ trình duyệt và sự phong phú của API kết xuất không được là yếu tố hạn chế trải nghiệm người dùng trên web.

Bạn không cần lo lắng về việc trình duyệt có lỗi khiến các tính năng không đáng tin cậy hoặc làm hỏng khả năng hiển thị của trang web.

Không được có những vách đá biểu diễn bí ẩn. Ngoài ra, bạn không cần phải tìm cách giải quyết vấn đề thiếu các tính năng tích hợp sẵn.

Nó sẽ vẫn hoạt động.

Tôi tin rằng RenderingNG là một bước tiến lớn hướng đến mục tiêu kim chỉ nam này. Trước khi RenderingNG, chúng tôi có thể (và đã) thêm các tính năng kết xuất hình ảnh và cải thiện hiệu suất, nhưng gặp khó khăn trong việc làm cho các tính năng đó trở nên đáng tin cậy cho các nhà phát triển và có nhiều sự thay đổi về hiệu suất. Giờ đây, chúng tôi đã có một kiến trúc giúp giải quyết nhiều vấn đề đó một cách có hệ thống, đồng thời bỏ chặn các tính năng nâng cao không được cho là khả thi trước đây. Tính năng tự động gắn thẻ:

  • Có các tính năng cốt lõi vững chắc trên nhiều kết hợp nền tảng, thiết bị và hệ điều hành.
  • Có hiệu suất đáng tin cậy và dễ dự đoán.
  • Tối đa hoá việc sử dụng các tính năng phần cứng (lõi, GPU, độ phân giải màn hình, tốc độ làm mới, API đường quét cấp thấp).
  • Chỉ thực hiện tác vụ cần thiết để hiển thị nội dung hiển thị.
  • Có tính năng hỗ trợ tích hợp sẵn cho các mẫu thiết kế hình ảnh, ảnh động và tương tác phổ biến.
  • Cung cấp các API dành cho nhà phát triển để dễ dàng quản lý chi phí kết xuất.
  • Cung cấp các điểm mở rộng của quy trình kết xuất cho các tiện ích bổ sung của nhà phát triển.
  • Tối ưu hoá tất cả các nội dung – HTML, CSS, Canvas 2D, canvas 3D, hình ảnh, video và phông chữ.

So sánh với các công cụ kết xuất trình duyệt khác

Gecko và Webkit cũng đã triển khai hầu hết các đặc điểm kiến trúc tương tự được mô tả trong các bài đăng trên blog này và trong một số trường hợp, thậm chí còn thêm chúng vào trước Chromium. Còn gì tuyệt vời hơn! Mặc dù bất kỳ trình duyệt nào trở nên nhanh hơn và đáng tin cậy hơn cũng là một yếu tố đáng để ăn mừng và tạo ra tác động thực sự, nhưng mục tiêu cuối cùng là cải thiện đường cơ sở cho tất cả trình duyệt để các nhà phát triển có thể dựa vào.

Kim tự tháp thành công

Triết lý của tôi là thành công là kết quả của việc đạt được độ tin cậy, sau đó là hiệu suất có thể mở rộng và cuối cùng là khả năng mở rộng.

Hình chóp có nhãn Độ tin cậy ở chân đế,
Hiệu suất ở giữa, độ mở rộng ở trên cùng

Giống như kim tự tháp trong đời thực, mỗi cấp độ cung cấp một nền tảng vững chắc cho cấp độ trên.

Độ tin cậy

Bản phác thảo cho thấy cách thêm các tính năng RenderingNG mà không làm tăng sự thất vọng

Nếu có thể mang lại một trải nghiệm người dùng phong phú và phức tạp, thì điều đầu tiên chúng tôi cần là một nền tảng vững chắc. Các tính năng cốt lõi và nền tảng phải hoạt động chính xác và liên tục hoạt động theo thời gian. Điều quan trọng không kém là các tính năng đó phải kết hợp tốt và không có lỗi hoặc hành vi hiếm gặp.

Bản phác thảo cho thấy bản chất vòng tròn của việc thêm tính năng, nhận phản hồi, cải thiện độ tin cậy

Vì lý do này, độ tin cậy là phần quan trọng nhất của RenderingNG. Và độ tin cậy là kết quả của quá trình kiểm thử tốt, vòng lặp phản hồi chất lượng, các chỉ số và mẫu thiết kế phần mềm.

Để hiểu tầm quan trọng của độ tin cậy, chúng tôi đã dành phần lớn 8 năm qua để chỉ tập trung vào phần này. Trước tiên, chúng tôi xây dựng kiến thức chuyên sâu về hệ thống – học từ các báo cáo lỗi về điểm yếu và khắc phục chúng, khởi động các bài kiểm thử toàn diện và hiểu rõ nhu cầu hiệu suất của các trang web cũng như các hạn chế của hiệu suất của Chromium. Sau đó, chúng tôi thiết kế và triển khai các mẫu thiết kế và cấu trúc dữ liệu chính một cách cẩn thận và từng bước. Chỉ khi đó, chúng tôi mới sẵn sàng thêm các dữ liệu nguyên gốc thực sự thế hệ mới cho thiết kế thích ứng, khả năng mở rộng và tuỳ chỉnh quá trình kết xuất.

Biểu đồ phác thảo cho thấy sự cải thiện về độ tin cậy, hiệu suất và khả năng mở rộng theo thời gian

Điều này không có nghĩa là không có cải tiến nào trong Chromium sau thời gian đó. Trên thực tế, ngược lại! Những năm qua, chúng tôi chứng kiến sự gia tăng ổn định và liên tục về độ tin cậy và hiệu suất khi chúng tôi tái cấu trúc và triển khai từng bước cải tiến.

Thử nghiệm và chỉ số

Trong 8 năm qua, chúng tôi đã thêm hàng chục nghìn bài kiểm thử đơn vị, hiệu suất và tích hợp. Ngoài ra, chúng tôi đã phát triển các chỉ số toàn diện, đo lường nhiều khía cạnh về hành vi kết xuất của Chromium trong quá trình kiểm thử cục bộ, trong các điểm chuẩn hiệu suất và ngoài môi trường tự nhiên trên các trang web thực, với người dùng và thiết bị thực.

Tuy nhiên, cho dù RenderingNG (hoặc công cụ kết xuất của trình duyệt khác có tuyệt vời như thế nào) thì công cụ này vẫn sẽ không dễ phát triển cho web nếu có nhiều lỗi hoặc sự khác biệt về hành vi giữa các trình duyệt. Để giải quyết vấn đề này, chúng tôi cũng tối đa hoá hoạt động Kiểm thử nền tảng web. Mỗi quy trình kiểm thử này xác minh một mẫu sử dụng của nền tảng web mà tất cả trình duyệt cần vượt qua. Chúng tôi cũng theo dõi chặt chẽ các chỉ số để vượt qua nhiều bài kiểm thử hơn theo thời giantăng khả năng tương thích cốt lõi.

Kiểm tra nền tảng web là một nỗ lực cộng tác. Ví dụ: các kỹ sư của Chromium chỉ mới thêm khoảng 10% trong tổng số thử nghiệm WPT cho các tính năng của CSS; các nhà cung cấp trình duyệt khác, người đóng góp độc lập và tác giả thông số kỹ thuật sẽ đóng góp phần còn lại. Cần một ngôi làng để tạo ra môi trường web có khả năng tương tác!

Số bài kiểm thử đạt trong nhiều công cụ
Trên trang wpt.fyi/compat2021, đo lường tỷ lệ đạt của WPT cho các tính năng cốt lõi

Các mẫu thiết kế phần mềm hiệu quả

Đổi lại, việc phân phối phần mềm chất lượng một cách đáng tin cậy sẽ dễ dàng hơn rất nhiều nếu mã dễ hiểu và được thiết kế theo cách giảm thiểu khả năng xảy ra lỗi. Chúng ta sẽ nói nhiều hơn về thiết kế phần mềm của RenderingNG trong các bài đăng tiếp theo trên blog.

Hiệu suất có thể mở rộng

Đạt được hiệu suất tuyệt vời (trên các phương diện về tốc độ, bộ nhớ và mức sử dụng pin) là khía cạnh quan trọng nhất tiếp theo của RenderingNG. Chúng tôi muốn các hoạt động tương tác với tất cả trang web diễn ra mượt mà và phản hồi nhanh, nhưng không làm mất tính ổn định của thiết bị.

Tuy nhiên, chúng tôi không chỉ muốn hiệu suất mà còn muốn có hiệu suất có thể mở rộng – một cấu trúc hoạt động hiệu quả một cách đáng tin cậy trên các máy cấp thấp và cấp cao, cũng như trên các nền tảng hệ điều hành. Tôi gọi đây là tăng quy mô – tận dụng tất cả những gì mà thiết bị phần cứng có thể đạt được và giảm quy mô – tối đa hoá hiệu suất và giảm nhu cầu trên hệ thống khi cần.

Để đạt được điều đó, chúng tôi cần tận dụng tối đa chức năng lưu vào bộ nhớ đệm, tách biệt hiệu suất và tăng tốc phần cứng GPU. Hãy lần lượt xem xét từng hành động. Để cụ thể hoá, hãy suy nghĩ về cách từng thành phần này đóng góp vào hiệu suất của một tương tác cực kỳ quan trọng trên trang web, đó là cuộn.

Chức năng lưu vào bộ nhớ đệm

Trong một nền tảng giao diện người dùng động, có tính tương tác như web, lưu vào bộ nhớ đệm là cách quan trọng nhất để cải thiện đáng kể hiệu suất. Loại bộ nhớ đệm phổ biến nhất trong trình duyệt là bộ nhớ đệm HTTP, nhưng kết xuất cũng có nhiều bộ nhớ đệm. Bộ nhớ đệm quan trọng nhất để cuộn là kết cấu GPU và danh sách hiển thị được lưu vào bộ nhớ đệm, cho phép cuộn cực nhanh trong khi vẫn giảm thiểu mức tiêu hao pin và hoạt động tốt trên nhiều loại thiết bị.

Việc lưu vào bộ nhớ đệm giúp tiết kiệm pin và tốc độ khung hình ảnh động khi cuộn, nhưng quan trọng hơn nữa là bỏ chặn việc tách biệt hiệu suất với luồng chính.

Tách biệt hiệu suất

Trên máy tính để bàn hiện đại, bạn không bao giờ phải lo lắng về việc các ứng dụng nền làm chậm ứng dụng bạn đang xử lý. Nguyên nhân là do khả năng đa nhiệm trước khi thực hiện nhiệm vụ tách biệt hiệu suất: đảm bảo các tác vụ độc lập không làm chậm lẫn nhau.

Trên web, ví dụ tốt nhất về sự tách biệt hiệu suất là cuộn. Ngay cả trên các trang web có nhiều JavaScript chậm, việc cuộn có thể rất mượt mà vì nó chạy trên một luồng khác không phụ thuộc vào JavaScript và luồng bố cục. Chúng tôi nỗ lực rất nhiều vào RenderingNG để đảm bảo mọi lượt cuộn khả thi đều được tạo luồng, thông qua việc lưu vào bộ nhớ đệm, vượt ra ngoài phạm vi chỉ một danh sách hiển thị cho đến các tình huống phức tạp hơn. Ví dụ: mã đại diện cho các phần tử cố định và cố định, trình nghe sự kiện thụ động và khả năng hiển thị văn bản chất lượng cao.

Bản phác thảo cho thấy hiệu suất của RenderingNG vẫn ổn định ngay cả khi JavaScript rất chậm.

Tăng tốc GPU

GPU giúp việc tạo pixel và vẽ lên màn hình nhanh hơn đáng kể – trong nhiều trường hợp, mỗi pixel có thể được vẽ song song với mọi pixel khác, dẫn đến tốc độ tăng lên rất nhiều. Thành phần chính của RenderingNG là đường quét GPU và vẽ ở mọi nơi. Tính năng này sử dụng GPU trên tất cả nền tảng và thiết bị để tăng tốc quá trình kết xuất và tạo ảnh động cho nội dung web. Điều này đặc biệt quan trọng trên các thiết bị cấp thấp hoặc rất cao cấp, thường có GPU có hiệu suất cao hơn nhiều so với các bộ phận khác của thiết bị.

Bản phác thảo cho thấy hiệu suất RenderingNG không giảm đi nhiều.

Khả năng mở rộng: Các công cụ phù hợp cho công việc

Sau khi có độ tin cậy và hiệu suất có thể mở rộng, chúng tôi hiện đã sẵn sàng xây dựng trên hàng đầu một loạt công cụ để giúp nhà phát triển mở rộng các phần tích hợp sẵn của HTML, CSS và Canvas, đồng thời theo cách mà không hy sinh bất kỳ hiệu suất và độ tin cậy mà khó khăn nào đã đạt được.

Điều này bao gồm các API tích hợp sẵn cùng hiển thị với JavaScript cho các trường hợp sử dụng nâng cao về thiết kế thích ứng, kết xuất tiến bộ, độ mượt và khả năng phản hồi, cũng như hiển thị theo luồng.

Các API web mở sau đây (do Chromium hỗ trợ) đã được RenderingNG cung cấp và trước đây được coi là không khả thi.

Tất cả đều được phát triển với quy cách mở và khả năng cộng tác với các đối tác web mở – các kỹ sư của các trình duyệt, chuyên gia và nhà phát triển web khác. Trong các bài đăng tiếp theo trên blog, chúng tôi sẽ đi sâu vào từng phương pháp này và giải thích cách RenderingNG có thể tạo ra các công cụ này.

  • content- visibility: cho phép các trang web dễ dàng tránh kết xuất nội dung ngoài màn hình và kết xuất bộ nhớ đệm đối với các chế độ xem ứng dụng trang đơn hiện không hiển thị.
  • OffscreenCanvas: cho phép kết xuất canvas (cả API canvas 2D và WebGL) chạy trên chuỗi riêng để đạt hiệu suất xuất sắc đáng tin cậy. Dự án này cũng là một cột mốc lớn khác của web – đó là API web đầu tiên cho phép JavaScript (hoặc WebAssembly!) hiển thị một tài liệu trên trang web qua nhiều luồng.
  • Truy vấn vùng chứa: cho phép một thành phần duy nhất tự bố trí đáp ứng, bỏ chặn toàn bộ thành phần plugin và phát (hiện là quá trình triển khai thử nghiệm).
  • Cách ly nguồn gốc: cho phép các trang web chọn sử dụng tính năng cách ly hiệu suất nhiều hơn giữa các iframe.
  • Các tệp công việc sơn ngoài luồng chính: cung cấp cho nhà phát triển cách mở rộng cách vẽ các thành phần, bằng mã chạy trên luồng của trình tổng hợp.

Ngoài các API web tường minh, RenderScript cho phép chúng tôi cung cấp một số "tính năng tự động" rất quan trọng, mang lại lợi ích cho tất cả các trang web:

  • Cách ly trang web: đặt các iframe nhiều nguồn gốc vào nhiều quy trình CPU để tách biệt hiệu suất và bảo mật tốt hơn.
  • Vulkan, D3D12Metal: tận dụng các API cấp thấp hơn sử dụng GPU hiệu quả hơn OpenGL.
  • Các ảnh động kết hợp khác: SVG, màu nền.

Các tính năng sắp ra mắt khác được RenderingNG bỏ chặn mà chúng tôi rất hào hứng bao gồm:

Các dự án chính tạo nên RenderingNG

Dưới đây là danh sách các dự án chính trong RenderingNG. Các bài đăng tiếp theo trên blog sẽ đi sâu vào từng chủ đề đó.

CompositeAfterPaint

Loại bỏ kết hợp từ kiểu dáng, bố cục và màu vẽ, cho phép cải thiện nhiều độ tin cậy và hiệu suất có thể dự đoán, tăng công suất và sử dụng ít bộ nhớ hơn mà không làm giảm hiệu suất. Chương trình bắt đầu vào năm 2014 và sẽ kết thúc vào năm nay.

Năm Tiến độ
2015 Gửi danh sách hiển thị.
2017 Gửi trường hợp không hợp lệ mới.
2018 Cây tài sản của tàu biển phần 1.
2019 Cây tài sản tàu phần 2.
2021 Đã hoàn tất việc vận chuyển dự án.

LayoutNG

Viết lại từ đầu tất cả thuật toán bố cục, để cải thiện đáng kể độ tin cậy và hiệu suất dễ dự đoán hơn. Dự án này bắt đầu vào năm 2016 và dự kiến sẽ kết thúc trong năm nay.

Năm Tiến độ
2019 Quy trình khối tàu.
2020 Gửi linh hoạt, chỉnh sửa.
2021 Giao những sản phẩm khác.

BlinkNG

Dọn dẹp có hệ thống và tái cấu trúc công cụ kết xuất Blink thành các giai đoạn quy trình được tách biệt rõ ràng. Điều này cho phép khả năng lưu vào bộ nhớ đệm tốt hơn, độ tin cậy cao hơn và các tính năng kết xuất lại hoặc kết xuất trễ như khả năng hiển thị nội dung và truy vấn vùng chứa. Chương trình này bắt đầu vào năm 2014 và liên tục cải tiến kể từ đó. Quá trình này sẽ hoàn tất vào năm 2021.

Tăng tốc GPU ở mọi nơi

Nỗ lực lâu dài nhằm triển khai việc tạo điểm ảnh, vẽ và tạo ảnh động cho GPU vào mọi lúc. Tính năng tăng tốc GPU giúp tăng tốc rất lớn cho hầu hết nội dung, vì mọi pixel đều có thể được xử lý song song. Đây cũng là một phương pháp hiệu quả để cải thiện hiệu suất trên các thiết bị cấp thấp thường vẫn có GPU. Bắt đầu vào năm 2014 và hoàn thành vào năm 2020.

Năm Tiến độ
2014 Dịch vụ hỗ trợ của Canvas. Được vận chuyển trên nội dung chọn tham gia trên Android.
2016 Gửi trên máy Mac.
2017 GPU được sử dụng trên hơn 60% lượt xem trang trên Android.
2018 Phân phối trên Windows, ChromeOS và Android Go.
2019 Tạo điểm ảnh GPU theo chuỗi.
2020 Gửi nội dung còn lại trên Android.

Tính năng cuộn, ảnh động và giải mã theo chuỗi

Nỗ lực lâu dài để di chuyển tất cả các ảnh động cuộn, không tạo bố cục và giải mã hình ảnh ra khỏi luồng chính. Bắt đầu vào năm 2011 và vẫn đang tiếp tục diễn ra.

Năm Tiến độ
2011 Hỗ trợ ban đầu cho ảnh động và cuộn theo luồng.
2015 Ép lớp.
2016 Cuộn tràn toàn cầu.
2017 Giải mã hình ảnh trên luồng của trình tổng hợp.
2018 Ảnh động dạng hình ảnh trên luồng của trình tổng hợp.
2020 Luôn kết hợp vị trí cố định.
2021 Ảnh động biến đổi tỷ lệ phần trăm, ảnh động SVG.

Viz

Một quy trình quét và vẽ tập trung dành cho Chromium giúp tăng công suất, tối ưu hoá bộ nhớ và cho phép sử dụng tối ưu các tính năng phần cứng. Ngoài ra, API này còn có những lợi ích khác mà nhà phát triển web khó nhìn thấy nhưng người dùng rất dễ thấy, chẳng hạn như bỏ chặn tính năng Tách biệt trang web và tách quy trình kết xuất khỏi quy trình kết xuất giao diện người dùng của trình duyệt. Bắt đầu vào năm 2016 và sẽ hoàn thành vào năm 2021.

Năm Tiến độ
2018 OOP-R đã được phát hành trên Android, Mac và Windows.
2019 Đã vận chuyển OOP-D. OOP-R được giao đến mọi nơi (ngoại trừ Canvas). SkiaRenderer đã vận chuyển trên Linux.
2020 SkiaRenderer đã chuyển trên Windows và Android. Vulkan đã được chuyển trên Android.
2021 SkiaRenderer đã vận chuyển trên máy Mac (và sẽ sớm áp dụng cho ChromeOS).

Định nghĩa của các thuật ngữ trong biểu đồ trên:

OOP-D
Trình tổng hợp màn hình ngoài quy trình. Tính năng tổng hợp hiển thị giống như một loại hoạt động như trình tổng hợp hệ điều hành. Nằm ngoài quy trình có nghĩa là thực hiện trong quy trình Viz thay vì quy trình kết xuất của trang web hoặc quy trình giao diện người dùng của trình duyệt.
OOP–R
Đường quét ngoài quy trình. Đường quét đang chuyển đổi danh sách hiển thị thành pixel. Nằm ngoài quy trình có nghĩa là thực hiện trong quy trình Viz thay vì quy trình kết xuất của trang web.
SkiaRenderer
Một cách triển khai trình tổng hợp hiển thị mới có thể hỗ trợ việc thực thi trên nhiều API GPU cơ sở, chẳng hạn như Vulkan, D3D12 hoặc Metal.

Kết xuất canvas theo chuỗi và tăng tốc

Đây là dự án đặt các thành phần kiến trúc có thể sử dụng OffscreenCanvas. Chương trình này bắt đầu vào năm 2015 và sẽ kết thúc vào năm 2021.

Năm Tiến độ
2018 Gửi OffscreenCanvas.
2019 Gửi ImageBitmapRenderingContext.
2021 Gửi OOP-R.

VideoNG

Nỗ lực lâu dài để phát lại video hiệu quả, đáng tin cậy và chất lượng cao trên web.

Năm Tiến độ
2014 Giới thiệu khung kết xuất dựa trên Mojo.
2015 Đã giao Project but (Dự án butter) và lớp phủ video để kết xuất video mượt mà hơn.
2016 Đã vận chuyển các quy trình giải mã và kết xuất hình ảnh hợp nhất dành cho Android và máy tính.
2017 Đã vận chuyển HDR và kết xuất video đã chỉnh màu.
2018 Đã vận chuyển quy trình giải mã video dựa trên Mojo.
2019 Quy trình kết xuất video dựa trên nền tảng đã được vận chuyển.
2021 Đã vận chuyển tính năng hỗ trợ kết xuất nội dung được bảo vệ 4K trên ChromeOS.

Định nghĩa của các thuật ngữ trong biểu đồ trên:

Giày Mojo
Hệ thống con IPC thế hệ mới dành cho Chromium.
Bề mặt
Một ý tưởng nằm trong thiết kế của dự án Viz.

Kết luận

Tôi cực kỳ thích tốc độ cải thiện của tính năng hiển thị trên web và Chromium. Tôi hy vọng tốc độ này sẽ tiếp tục tăng nhanh trong những năm tới vì chúng tôi có thể xây dựng dựa trên nền tảng vững chắc của RenderingNG.

Hãy chú ý theo dõi các bài đăng khác trong tương lai sẽ đi sâu hơn nhiều chi tiết hơn về kiến trúc mới, cách thức ra mắt và cách thức hoạt động của kiến trúc này.

Ảnh thiết bị của Eirik Solheim trên Unsplash

Hình minh hoạ: Una Kravets.