ה-Quantum Project של Mozilla הוא מנוע חדש עבור Firefox
לפני מספר ימים הציגה מוזילה את הפרויקט החדש שלה, "Quantum", שמטרתו לספק מנוע חדש ומשופר במיוחד לדפדפן Firefox. היא תהיה מבוססת Gecko ואמורה להביא שיפורים רבים לביצועים של Gecko, הודות לעלייה במקביליות ומקבילות, זמן חביון מופחת ואמינות טובה יותר הניתנים על ידי שפת קוד Rust ושלה מאפיינים.
Quantum מחולקת באופן גס לארבעה פרויקטים נפרדים.
פרויקט Quantum CSS יחליף את מנוע ה-CSS של Gecko בזה של Servo. Servo הוא התחליף לטווח ארוך של Gecko המבוסס על ארכיטקטורה מודרנית, בעלת ביצועים גבוהים, מקבילה.
פרויקט Quantum DOM יהפוך את Gecko למגיב יותר, במיוחד כאשר יש הרבה כרטיסיות רקע פתוחות. כאשר Quantum DOM מסתיים, קוד JS עבור כרטיסיות שונות (ואולי iframes שונות) יפעל בשרשורים נפרדים המתוזמנים בשיתוף פעולה; הקוד עבור חלק מהכרטיסיות ברקע לעולם לא יפעל כלל.
Quantum Compositor מעביר את הקומפוזיטור של Gecko לתהליך משלו. מכיוון שחוסר יציבות של מנהל ההתקן הגרפי הוא מקור עיקרי לקריסות של Firefox, אנו מצפים שהעברת קוד שמקיים אינטראקציה עם ה-GPU לתהליך משלו יהפוך את Firefox ליציב יותר.
לבסוף, Quantum Rendering יחליף את תת-המערכת הגרפית של Gecko בזו של Servo, הנקראת WebRender. Servo משתמש ב-GPU בצורה יעילה יותר ממה שעושה Gecko, ומניע אותו יותר כמו משחק מאשר דפדפן אינטרנט.
פרויקטים אלו נמצאים בשלבי השלמות משתנים. Quantum Compositor נמצא די רחוק בזמן ש-Quantum Rendering רק מתחיל. עדיין קיימת אי ודאות רבה לגבי הפרויקטים.
קוונטים DOM
Quantum DOM יריץ את קוד ה-JavaScript עבור כרטיסיות שונות בשרשורים מקבילים, מה שיאפשר להגדיל את ביצועי הדפדפן עם פתיחת כרטיסיות רבות. כדי לעבור בין שרשורים, ישמש מתזמן מיוחד כדי לשנות את ההקשר בצורה חלקה תוך כדי תנועה. שיפורים רבים יבואו לתפוס סקריפטים כבדים ולופים אינסופיים בקוד ה-Javascript.
זרימה קוונטית
Quantum Flow הוא חלק מפרויקט Quantum המוקדש לאופטימיזציות מתקדמות של ממשק המשתמש של הדפדפן.
צפו בסרטון הבא:
מָקוֹר: הבלוג של ביל מקלסקי.