Optymalizuj rozmiar DOM

Connor Clark
Connor Clark

Data publikacji: 8 października 2025 r.

Duży DOM może wydłużać obliczenia stylów i układów, co wpływa na responsywność strony. Duży DOM zwiększa też wykorzystanie pamięci.

Głębokie drzewo DOM samo w sobie nie stanowi problemu z wydajnością, ale jest objawem wzorców projektowych, które wykorzystują niepotrzebne zagnieżdżanie elementów.

Ta statystyka uwzględnia cały DOM, w tym w korzeniach cienia. Ignoruje węzły DOM, które nie są też elementami. Ignoruje też zawartość <iframe>.

Na co zwrócić uwagę:

  • Łączna liczba elementów: łączna liczba elementów w DOM strony.
  • Głębokość DOM: maksymalna głębokość drzewa DOM.
  • Maksymalna liczba elementów podrzędnych: element z największą liczbą elementów podrzędnych.

Jak przekazać tę statystykę

Ten wniosek jest generowany tylko wtedy, gdy występuje duże ponowne obliczanie układu lub stylu trwające ponad 40 ms.

  • Duża aktualizacja układu obejmuje ponad 100 obiektów układu (czyli w przybliżeniu elementów).
  • Duże ponowne obliczanie stylu obejmuje ponad 300 elementów.

W przypadku niepowodzenia w panelu Skuteczność ten wgląd wyróżnia te zdarzenia na wykresie płomieniowym.

Aby obniżyć koszt tych wydarzeń:

Wskazówki dotyczące konkretnych stosów

Ta informacja zawiera też wskazówki dotyczące stron korzystających z tych technologii:

Angular

Jeśli renderujesz duże listy, użyj przewijania wirtualnego z pakietem CDK (Component Dev Kit).

React

  • Jeśli renderujesz na stronie wiele powtarzających się elementów, proponujemy wykorzystanie biblioteki „okienkowej”, takiej jak react-window, aby zminimalizować liczbę tworzonych węzłów DOM.
  • Zredukuj liczbę ponownych renderowań za pomocą metod shouldComponentUpdate, PureComponent lub React.memo.
  • Pomijaj efekty tylko do momentu zmiany określonych zależności, jeśli używasz hooka Effect, aby przyspieszyć działanie.

Dodatkowe odniesienia