שיפור ביצועי הגלילה באמצעות פונקציות event listener פסיביות

חדש ב-Chrome 51, מעבדי אירועים פסיביים הם תקן אינטרנט מתפתח, שמספק שיפור פוטנציאלי משמעותי בביצועי הגלילה, במיוחד בניידים. צפו בסרטון הבא כדי לראות, זה לצד זה, הדגמה של השיפורים בפעולה:

איך זה עובד

כשגוללים בדף ויש עיכוב כזה עד שהדף לא נקשר לאצבע, זה נקרא jank של גלילה. הרבה פעמים נתקלים ב-jank של גלילה, המקור הוא האזנה לאירועי מגע. במקרים רבים, מאזינים לאירועי מגע שימושיים למעקב אחר אינטראקציות של משתמשים וליצירת חוויות גלילה בהתאמה אישית, כמו ביטול הגלילה לגמרי בזמן אינטראקציה עם מפת Google מוטמעת. בשלב זה, דפדפנים לא יכולים לדעת אם האזנה לאירוע מגע עומדת לבטל את הגלילה, ולכן הם תמיד ממתינים עד שה-listener יסתיים לפני שהם גוללים בדף. פונקציות event listener פסיביות פותרים את הבעיה הזו על ידי מתן אפשרות להגדיר סימון בפרמטר options של addEventListener, שמציין שהמאזין אף פעם לא יבטל את הגלילה. המידע הזה מאפשר לדפדפנים לגלול את הדף באופן מיידי, ולא אחרי שה-listener מסיים אותו.

מידע נוסף

כדאי לקרוא את הבלוג של Chromium כדי לקבל סקירה כללית ומקיפה על אופן הפעולה של פונקציות event listener פסיביות:

ממשקי API חדשים שעוזרים למפתחים לשפר את ביצועי הגלילה

בנוסף, המאגר של המפרט מאפשר ללמוד איך להטמיע פונקציות event listener פסיביות:

הודעת הסבר להאזנה לאירועים פסיביים