Poprawa wydajności przewijania dzięki pasywnym detektorom zdarzeń

W Chrome 51 pojawiły się pasywne odbiorniki zdarzeń, które są nowym standardem internetowym i mogą znacznie poprawić wydajność przewijania, zwłaszcza na urządzeniach mobilnych. Aby zobaczyć, jak działają ulepszenia, obejrzyj poniższy film:

Jak to działa

Gdy przewijasz stronę i występuje opóźnienie, które sprawia, że strona nie jest przypięta do palca, nazywamy to „scroll jank”. W wielu przypadkach, gdy spotykasz scrolljank, winowajcą jest detektor zdarzeń dotykowych. Detektory zdarzeń dotykowych są często przydatne do śledzenia interakcji użytkowników i tworzenia niestandardowych efektów przewijania, np. całkowitego anulowania przewijania podczas interakcji z wbudowaną Mapą Google. Obecnie przeglądarki nie wiedzą, czy detektor zdarzeń dotykowych anuluje przewijanie, więc zawsze czekają na zakończenie działania detektora, zanim przewiną stronę. Pasywne detektory zdarzeń rozwiązują ten problem, umożliwiając ustawienie flagi w parametrze options obiektu addEventListener, która wskazuje, że detekcja nigdy nie anuluje przewijania. Te informacje umożliwiają przeglądarkom natychmiastowe przewijanie strony, a nie dopiero po zakończeniu odtwarzania.

Więcej informacji

Ogólne informacje o działaniu biernych odbiorników zdarzeń znajdziesz na blogu Chromium:

Nowe interfejsy API, które pomagają programistom poprawić wydajność przewijania

W repozytorium specyfikacji znajdziesz informacje o wdrażaniu pasywnych detektorów zdarzeń:

Wyjaśnienie dotyczące pasywnego detektora zdarzeń