Mozilla's Quantum Project to nowy silnik dla Firefoksa
Kilka dni temu Mozilla przedstawiła swój nowy projekt „Quantum”, który ma na celu dostarczenie nowego, znacznie ulepszonego silnika dla przeglądarki Firefox. Będzie oparty na Gecko i powinien przynieść wiele ulepszeń w wydajności Gecko, dzięki zwiększonemu współbieżność i równoległość, zmniejszone opóźnienia i lepsza niezawodność zapewniana przez język kodu Rust i jego cechy.
Quantum dzieli się z grubsza na cztery różne projekty.
Projekt Quantum CSS zastąpi silnik CSS Gecko silnikiem Servo. Servo jest długoterminowym zamiennikiem Gecko opartym na nowoczesnej, wysokowydajnej, równoległej architekturze.
Projekt Quantum DOM sprawi, że Gecko będzie bardziej responsywny, zwłaszcza gdy otwartych jest wiele kart w tle. Gdy Quantum DOM zostanie ukończone, kod JS dla różnych kart (i prawdopodobnie różnych ramek iframe) będzie uruchamiany w oddzielnych, wspólnie zaplanowanych wątkach; kod dla niektórych kart w tle nigdy nie zostanie uruchomiony.
Reklama
Quantum Compositor przenosi kompozytora Gecko do własnego procesu. Ponieważ niestabilność sterowników graficznych jest głównym źródłem awarii Firefoksa, spodziewamy się, że przeniesienie kodu, który współdziała z GPU do własnego procesu, sprawi, że Firefox będzie bardziej stabilny.
Wreszcie, Quantum Rendering zastąpi podsystem graficzny Gecko podsystemem Servo, zwanym WebRender. Servo wykorzystuje GPU bardziej efektywnie niż Gecko, prowadząc go bardziej jak gra niż przeglądarka internetowa.
Projekty te znajdują się na różnych etapach realizacji. Quantum Compositor jest dość zaawansowana, podczas gdy Quantum Rendering dopiero się zaczyna. Nadal istnieje duża niepewność co do projektów.
Kwantowy DOM
Quantum DOM uruchomi kod JavaScript dla różnych kart w równoległych wątkach, co pozwoli zwiększyć wydajność przeglądarki przy wielu otwartych kartach. Aby przełączać się między wątkami, zostanie użyty specjalny harmonogram, który płynnie zmienia kontekst w locie. Pojawi się wiele ulepszeń, aby wyłapać ciężkie skrypty i nieskończone pętle w kodzie JavaScript.
Przepływ kwantowy
Quantum Flow jest częścią projektu Quantum poświęconego zaawansowanym optymalizacjom interfejsu przeglądarki.
Obejrzyj następujący film:
Źródło: Blog Billa McCloskeya.