Добавлена ​​поддержка Skia WebKitGTK и WPEWebKit для рендеринга 2D-графики.

Логотип Скиа

Skia — библиотека 2D-графики с открытым исходным кодом.

В мире развития веб-браузеры и среды рабочего стола, оптимизация и производительность уна из наиболее востребованных функций пользователями, и это важнейшие аспекты, которые напрямую влияют на взаимодействие с пользователем и являются одним из основных факторов при выборе веб-браузера.

В контексте, команды разработчиков WPEWebKit и WebKitGTK (движок браузера, используемый в таких браузерах, как Safari и Epiphany/GNOME Web), включили возможность использовать библиотеку Skia для рендеринга 2D-графики.

В последние годы Разработчики WebKit усердно работают над повышением производительности. График WebKitGTK и WPEWebKit. Хотяи функции были реализованы такие как потоковый рендеринг и VSync, и стало ясно, что процессорный 2D-рендеринг достиг своих пределов. с точки зрения производительности и эффективности. Упоминается, что они изучали различные варианты, прежде чем остановили свой выбор на Skia. Попытки добавить возможности 2D-рендеринга на графическом процессоре в библиотеку Cairo, используемую WebKitGTK, не увенчались успехом из-за ограничений в архитектуре библиотеки. Кроме того, проект по разработке собственной библиотеки рендеринга был заброшен из-за трудностей с достижением баланса между производительностью и качеством рендеринга.

Была попытка заставить Cairo поддерживать рендеринг с помощью графического процессора, но она не сработала особенно хорошо, поскольку библиотека была разработана на основе операции с сохранением состояния на основе модели PostScript, в результате чего появился удобный и знакомый API с отличным качеством вывода, но с трудом переориентируемый. и с некоторыми особенно медленными угловыми случаями. Между тем, другие веб-движки перекладывают большую часть работы на графический процессор, включая 2D-рендеринг, где многие операции выполняются значительно быстрее.

Хотя Идея использования Skia изначально была отвергнута из-за проблем со стабильностью API, его использования в качестве внешней зависимости и необходимости поддерживать сторонний модуль в WebKit, наконец-то был признан оптимальным решением для улучшения производительности рендеринга графики в WebKitGTK.

Skia — графическая библиотека. используется в нескольких продуктах Google, таких как Chrome, Firefox, ChromeOS, Android и Flutter. Это дополнение позволяет выполнять рендеринг с использованием графического процессора, что может значительно повысить производительность рендеринга графики.

Переход на Skia был осуществлен Igalia в рамках инициативы по оптимизации производительности WebKitGTK для GNOME. Упоминается, что основной причиной этой миграции было достижение предела в процессе оптимизации производительности 2D-рендеринга с использованием ЦП. Использование графического процессора предоставляет дополнительные возможности для улучшения производительности рендеринга графики.

Процесс перехода на Skia начался с внутреннего тестирования в декабре 2023 года. и первоначальные результаты были впечатляющими, поскольку сразу же было замечено значительное улучшение производительности, особенно на настольных компьютерах. По ходу тестирования стало ясно, что Skia не только обеспечивает превосходную производительность, но также упрощает код и открывает двери для новых функций.

В феврале 2024 года, после интенсивного периода развития и тестирование, внедрение Skia достигла состояния «верхнего течения», это означает, что он готов к публичной интеграции в WebKitGTK и WPEWebKit, и первоначальный ответ сообщества разработчиков был положительным, что стало важной вехой в процессе перехода.

Команда намерена продолжать совершенствовать реализацию Skia в WebKitGTK и WPEWebKit и в дальнейшем планирует оптимизировать производительность и эффективность рендеринга на графическом процессоре. Хотя в настоящее время основное внимание уделяется порту WPE, ожидается, что другие порты, такие как GTK, также получат поддержку от Skia в будущем.

В конце концов если вам интересно узнать об этом больше, вы можете проверить подробности в следующая ссылка.


Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: AB Internet Networks 2008 SL
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.