Информационные технологииStfw.Ru 🔍
🕛

Проект Mozilla представил Quantum, комбинированный браузерный движок для Firefox

Разработчики Mozilla представили проект Quantum, в рамках которого для Firefox началась разработка браузерного движка нового ..., Разработчики Mozilla представили проект Quantum, в
Разработчики Mozilla представили проект Quantum, в рамках которого для Firefox началась разработка браузерного движка нового поколения, сочетающего проверенные временем наработки движка Gecko с новыми возможностями по обеспечению многопоточной обработки данных, предоставляемые языком Rust. В частности, в рамках проекта в Gecko будут перенесены некоторые компоненты из движка Servo, связанные с распараллеливанием вычислений и выносом различных операций на плечи GPU.
Quantum является оптимальным решением в условиях, когда с одной стороны имеется стабильный, но завязанный на однопоточные схемы обработки контента, движок Gecko, а с другой многопоточный и быстрый, но имеющий проблемы с совместимостью и ограниченный по функциональности, движок Servo. Постепенная интеграция возможностей Servo и компонентов на языке Rust в движок Gecko, которые будут переноситься по мере готовности, позволит существенно поднять производительность и надёжность Firefox. Первые значительные улучшения планируется перенести уже в 2017 году.
Для связывания C++ кода Gecko с кодом Servo на языке Rust будет задействована прослойка rust-bindgen. Из намеченных для интеграции компонентов отмечаются:
Quantum CSS - применяемая в Servo система распараллеливания обработки стилей CSS, которая со временем полностью заменит текущий CSS-движок в Gecko;
WebRender - система отрисовки, оптимизированная для выноса операций на плечи GPU;
Quantum Compositor - вынос кода композитинга и интерфейса для взаимодействия с GPU в отдельный процесс, что позволит защитить браузер от проблем, возникающих из-за графических драйверов;
Quantum DOM - распараллеливание операций с DOM (Document Object Model). javascript-код для разных вкладок и iframe будет выполняться параллельно в отдельных нитях, что позволит увеличить отзывчивость браузера при использовании большого числа открытых вкладок. Для переключения между нитями будет задействован встроенный планировщик совместной многозадачности, переключающий контекст в "безопасные" моменты, например, при вызове функций и в вершине каждой итерации циклов, что позволит минимизировать использование блокировок. Дополнительно планируется реализовать эвристические методы для остановки выполнения кода во второстепенных фоновых вкладках, а также предоставить интерфейс для блокирования бесконечного зацикливания и снижения приоритета ресурсоёмких скриптов;
Quantum Flow - проект по развитию дополнительных оптимизаций, таких как увеличения производительности интерфейса пользователя.

Также по теме:
Каталог лучших, бесплатных программ.