Kết quả tối ưu hóa Chrome do dự án RenderingNG triển khai

Các nhà phát triển Chrome đã tổng hợp những kết quả đầu tiên của dự án RenderingNG, được triển khai cách đây 8 năm, nhằm mục đích tăng hiệu suất, độ tin cậy và khả năng mở rộng của Chrome.

Ví dụ: các tính năng tối ưu hóa được thêm vào trong Chrome 94 so với Chrome 93 đã giúp giảm 8% độ trễ hiển thị trang và tăng 0.5% thời lượng pin. Dựa trên quy mô cơ sở người dùng của Chrome, điều này thể hiện mức tiết kiệm toàn cầu hơn 1400 năm thời gian sử dụng CPU mỗi ngày. So với các phiên bản trước, Chrome hiện đại kết xuất đồ họa nhanh hơn 150% và ít gặp sự cố trình điều khiển GPU hơn 6 lần trên phần cứng có vấn đề.

Trong số các phương pháp được triển khai để đạt được hiệu suất, chúng tôi ghi nhận sự song song hóa các hoạt động rasterization của các pixel khác nhau ở phía GPU và phân phối bộ xử lý tích cực hơn trên các lõi CPU khác nhau (thực thi JavaScript, xử lý cuộn trang, giải mã video và hình ảnh, chủ động hiển thị nội dung). Yếu tố hạn chế của hoạt động song song hóa chủ động là tải CPU ngày càng tăng, điều này được phản ánh bằng nhiệt độ tăng và mức tiêu thụ điện năng tăng, vì vậy điều quan trọng là đạt được sự cân bằng tối ưu giữa hiệu suất và mức tiêu thụ điện năng. Ví dụ: khi chạy bằng nguồn pin, bạn có thể hy sinh tốc độ kết xuất, nhưng bạn không thể hy sinh quá trình xử lý cuộn trong một luồng riêng biệt, vì người dùng sẽ nhận thấy khả năng phản hồi của giao diện giảm đi.

Các công nghệ được triển khai trong khuôn khổ dự án RenderingNG thay đổi hoàn toàn cách tiếp cận tổng hợp và cho phép bạn sử dụng một cách thích ứng các công nghệ khác nhau để tối ưu hóa các phép tính trên GPU và CPU liên quan đến từng phần riêng lẻ của trang, có tính đến các tính năng như độ phân giải màn hình và tốc độ làm mới , cũng như sự hiện diện trong hệ thống hỗ trợ các API đồ họa nâng cao, chẳng hạn như Vulkan, D3D12 và Metal. Ví dụ về tối ưu hóa bao gồm việc sử dụng tích cực kết cấu GPU của bộ nhớ đệm và kết quả hiển thị của các phần của trang web, cũng như chỉ tính đến khu vực của trang mà người dùng hiển thị khi hiển thị (không có ích gì khi hiển thị các phần của trang trang được bao phủ bởi nội dung khác).

Một yếu tố quan trọng của RenderingNG cũng là tách biệt hiệu suất khi xử lý các phần khác nhau của trang, chẳng hạn như tách biệt tính toán liên quan đến việc phân phát quảng cáo trong iframe, hiển thị hoạt ảnh, phát âm thanh và video, cuộn nội dung và thực thi JavaScript.

Kết quả tối ưu hóa Chrome do dự án RenderingNG triển khai

Các kỹ thuật tối ưu hóa được thực hiện:

  • Chrome 94 cung cấp cơ chế CompositeAfterPaint, cơ chế tổng hợp các phần được hiển thị riêng biệt của trang web và cho phép bạn tự động điều chỉnh quy mô tải trên GPU. Theo dữ liệu đo từ xa của người dùng, hệ thống tổng hợp mới đã giảm 8% độ trễ cuộn, tăng khả năng phản hồi trải nghiệm người dùng lên 3%, tăng tốc độ kết xuất lên 3%, giảm mức tiêu thụ bộ nhớ GPU xuống 3% và kéo dài thời lượng pin thêm 0.5%.
  • GPU Raster, một công cụ tạo điểm chuẩn phía GPU, đã được giới thiệu trên tất cả các nền tảng vào năm 2020 và đã tăng tốc điểm chuẩn MotionMark lên trung bình 37% và điểm chuẩn liên quan đến HTML lên 150%. Năm nay, GPU Raster đã được cải tiến với khả năng sử dụng khả năng tăng tốc phía GPU để hiển thị các phần tử Canvas, mang lại kết xuất phác thảo nhanh hơn 1000% và điểm chuẩn MotionMark 1.2 nhanh hơn 130%.
  • LayoutNG là bản thiết kế lại hoàn toàn các thuật toán bố cục thành phần trang nhằm tăng độ tin cậy và khả năng dự đoán. Dự án dự kiến ​​sẽ được đưa đến tay người dùng trong năm nay.
  • BlinkNG - tái cấu trúc và làm sạch công cụ Blink, chia các hoạt động kết xuất thành các giai đoạn được thực hiện riêng biệt để cải thiện hiệu quả bộ nhớ đệm và đơn giản hóa việc kết xuất lười biếng, có tính đến khả năng hiển thị của các đối tượng trong cửa sổ. Công việc dự kiến ​​sẽ được hoàn thành trong năm nay.
  • Di chuyển các trình xử lý cuộn, hoạt ảnh và giải mã hình ảnh sang các luồng riêng biệt. Dự án đã được phát triển từ năm 2011 và năm nay nó đã đạt được khả năng xuất các chuyển đổi CSS hoạt hình và hoạt ảnh SVG sang các luồng riêng biệt.
  • VideoNG là một công cụ hiệu quả và đáng tin cậy để phát video trên các trang web. Năm nay, khả năng hiển thị nội dung được bảo vệ ở độ phân giải 4K đã được triển khai. Hỗ trợ HDR đã được thêm vào trước đó.
  • Viz - các quy trình riêng biệt để rasterization (OOP-R - Raster ngoài quy trình) và hiển thị (OOP-D - Bộ tổng hợp hiển thị ngoài quy trình), tách biệt việc hiển thị giao diện trình duyệt khỏi hiển thị nội dung trang. Dự án cũng đang phát triển quy trình SkiaRenderer, sử dụng API đồ họa dành riêng cho nền tảng (Vulkan, D3D12, Metal). Sự thay đổi này giúp giảm số lần gặp sự cố do sự cố trong trình điều khiển đồ họa xuống 6 lần.

Nguồn: opennet.ru

Thêm một lời nhận xét