Mozilla의 Quantum Project는 Firefox용 새 엔진입니다.
며칠 전 Mozilla는 Firefox 브라우저용으로 특별히 개선된 새로운 엔진을 제공하는 것을 목표로 하는 새 프로젝트 "Quantum"을 소개했습니다. 이것은 Gecko 기반이 될 것이며 향상된 Gecko 성능 덕분에 많은 향상을 가져올 것입니다. Rust 코드 언어와 그 언어가 제공하는 동시성 및 병렬 처리, 대기 시간 감소, 안정성 향상 특징.
Quantum은 대략 4개의 별개의 프로젝트로 나뉩니다.
Quantum CSS 프로젝트는 Gecko의 CSS 엔진을 Servo의 엔진으로 대체합니다. Servo는 현대적인 고성능 병렬 아키텍처를 기반으로 하는 Gecko의 장기 대체품입니다.
Quantum DOM 프로젝트는 특히 많은 배경 탭이 열려 있을 때 Gecko의 반응성을 높여줍니다. Quantum DOM이 완료되면 다른 탭(및 아마도 다른 iframe)에 대한 JS 코드가 협력적으로 예약된 별도의 스레드에서 실행됩니다. 일부 백그라운드 탭의 코드는 전혀 실행되지 않습니다.
광고
Quantum Compositor는 Gecko의 합성기를 자체 프로세스로 이동합니다. 그래픽 드라이버의 불안정성은 Firefox 충돌의 주요 원인이기 때문에 GPU와 상호 작용하는 코드를 자체 프로세스로 이동하면 Firefox가 더 안정될 것으로 예상합니다.
마지막으로 Quantum Rendering은 Gecko의 그래픽 하위 시스템을 WebRender라는 Servo의 하위 시스템으로 대체합니다. Servo는 Gecko보다 GPU를 더 효과적으로 사용하여 웹 브라우저보다 게임처럼 구동합니다.
이러한 프로젝트는 다양한 완성도 단계에 있습니다. Quantum Compositor는 Quantum Rendering이 이제 막 시작되는 동안 상당히 발전했습니다. 프로젝트에 대해서는 여전히 많은 불확실성이 있습니다.
양자돔
Quantum DOM은 병렬 스레드에서 다른 탭에 대한 JavaScript 코드를 실행하므로 많은 탭이 열려 있을 때 브라우저 성능이 향상됩니다. 스레드 사이를 전환하기 위해 특수 스케줄러를 사용하여 컨텍스트를 즉석에서 원활하게 변경합니다. Javascript 코드에서 무거운 스크립트와 무한 루프를 잡기 위해 많은 개선이 이루어질 것입니다.
양자 흐름
Quantum Flow는 브라우저 UI의 고급 최적화에 전념하는 Quantum 프로젝트의 일부입니다.
다음 동영상을 시청하세요.
원천: Bill McCloskey의 블로그.