Удивительный прогресс Blink


Прошло чуть больше года с тех пор, как Google отделился от WebKit и решил создать свою собственную версию движка рендеринга только для Chrome. Что удивительно, так это то, какую выгоду Chrome получил от этого изменения.

Google разделила WebKit для создания Blink еще в апреле 2013 года, вскоре после того, как к нему присоединилась Opera. Пара работает над проектом чуть больше года, и, похоже, это приносит свои плоды.

Google утверждает, что сообщество Blink столь же жизнеспособно, как и исходный проект WebKit, причем 33% из 200 участников не являются сотрудниками Google. Движущей силой этого разлива было то, что WebKit страдал от необходимости быть движком рендеринга для более чем одного браузера, в первую очередь Safari от Apple и Chrome от Google. Создав Blink, Google мог просто сбрасывать весь код, необходимый для поддержки других браузеров, и работать над созданием средства визуализации веб-страниц, ориентированного только на Chrome.

Недавнее сообщение в блоге, посвященное первому дню рождения Blinks, предполагает, что идея была хорошей. Тот факт, что Blink работает в среде Chromium и только в среде Chromium, позволил команде сократить объем кода вдвое. Да, половина строк кода касалась поддержки функций, не относящихся к Chromium. Чтобы процитировать блог:

«Заметные усилия по упрощению включают объединение анимаций CSS и SVG с движком веб-анимации, замену нашего компилятора WebIDL, выделение уровня blink_platform из основного кода и продолжение работы над сборщиком мусора C ++».

Ах, «сборщик мусора C ++», сколько раз это будет реализовано сейчас? Компилятор WebIDL также интересен тем, что он был перенесен с Perl на Python с комментарием:

«Новый компилятор Python IDL намного удобнее читать и поддерживать».

Также произошли улучшения в эффективности:

«Например, тесная связь между Blink и Chromium позволила нам улучшить уровень абстракции между Blink и композитором Chromium. Теперь мы гораздо более осторожны, выполняя работу для Blink только непосредственно перед тем, как Chrome выводит на экран изображение, избегая лишних циклов процессора. создание результатов, которые все равно будут перезаписаны до того, как будет отрисован следующий кадр. Благодаря более тесной интеграции мы также достигли 50% экономии при составлении обновлений, которые изменяют только преобразования CSS. Это только начало нашей работы над производительностью; мы ожидаем от новые разработки, такие как растеризация графического процессора и лучшее планирование ».

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

Что обещает следующий второй год Blink?

«2014 год обещает еще больший рост мобильных вычислений, поэтому мы продолжаем концентрировать усилия Blink на этом. Производительность программного обеспечения критически важна для мобильных устройств из-за ограниченного оборудования и высоких ожиданий пользователей. Для повышения производительности мобильного Интернета у нас есть проекты по ускорению рендеринга, минимизировать двоичный размер, уменьшить задержку ввода, сохранить заряд батареи, уменьшить потребление памяти и многое другое ».

Несмотря на опасения по поводу того, что Google может использовать Blink для отделения Chrome от остальных браузеров, и есть некоторые свидетельства того, что это могло произойти случайно или намеренно — см. Google Удаляет области CSS из Blink — Оптимизация слишком далека, создание Blink кажется окупается за Chrome.


Добавить комментарий