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

Kayce Basques
Kayce Basques

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. W poniższym filmie możesz zobaczyć, jak działają te ulepszenia:

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 po zakończeniu odtwarzania.

Więcej informacji

Na blogu Chromium znajdziesz ogólne informacje o tym, jak działają bierne odbiorniki zdarzeń:

Nowe interfejsy API, które pomagają programistom poprawić działanie przewijania

oraz repozytorium specyfikacji, aby dowiedzieć się, jak wdrażać pasywne detektory zdarzeń:

Pasywny detektor zdarzeń