Porównanie wydajności sesji KDE Plasma opartych na X11 i Wayland

Igor Ljubunčič, który do 2024 roku odpowiadał w Canonical za produkty do obliczeń o wysokiej wydajności, przetestował wydajność i pobór mocy sesji KDE Plasma 6.4 opartych na X11 i Wayland. Pod koniec czerwca Igor opublikował recenzję funkcji KDE Plasma 6.4, w której stwierdził, że sesja Wayland jest gorsza pod względem wydajności i bardziej obciąża procesor i kartę graficzną niż sesja X11. W serii nowych artykułów Igor starał się dogłębniej przetestować wydajność obu sesji.

Początkowo zauważono, że podczas testów na laptopie Lenovo IdeaPad 3 ze zintegrowanym procesorem graficznym AMD w sesji Wayland, niezależnie od aktywności, procesor jest stale obciążony o około 8%, a co 2-3 sekundy następuje skok, który całkowicie obciąża procesor graficzny. W sesji X11 obciążenie procesora i procesora graficznego w stanie bezczynności wynosiło zero. Dalsze testy z użyciem narzędzia RadeonTop wykazały większe zużycie zasobów w sesji Wayland, szczególnie po włączeniu profilu dokładności kolorów w ustawieniach wyświetlania. Poniższa tabela przedstawia średnie obciążenie procesora graficznego w procentach dla podobnego zestawu uruchomionych aplikacji i zbierania danych co sekundę przez 60 sekund.

Metryczny Wayland + wydajność energetyczna Wayland + dokładność kolorów X11 Potok graficzny 3.31 4.03 2.47 Grupator wierzchołków + Tesselator 0.33 0.3 0.11 Adresator tekstur 0.90 2.03 0.78 Eksport shaderów 2.24 3.03 1.42 Pamięć podręczna instrukcji sekwencera 0.06 0.08 0.03 Interpolator shaderów 2.58 3.31 1.61 Konwerter skanujący 2.54 3.18 1.54 Zespół pierwotny 0.32 0.30 0.11 Blok głębi 2.51 3.18 1.53 Blok kolorów 2.51 3.18 1.54 Pamięć VRAM 26.39 28.44 22.36 GTT 3.92 3.98 3.85 Pamięć Zegar 33.33 54.90 54.81 Zegar shadera 16.67 16.67 16.67

Testy zużycia energii przeprowadzone przy użyciu narzędzia Powertop Utility również wykazały przewagę sesji X11: pobór mocy sesji Wayland podczas wykonywania kilku próbek wyniósł 6.09 W, Wayland z profilem Color Accuracy wyniósł 6.05–6.08 W, a X11 5.67–5.87 W. Podsumowując, stwierdzono, że sesja X11 zużywa o 3–7% mniej baterii niż Wayland.

Sprawdzenie obciążenia procesora za pomocą vmstat wykazało, że w stanie bezczynności sesja X11 zużywała 1.83% mocy procesora, podczas gdy Wayland zużywał 1.97% (2.1% z profilem Color Accuracy). Narzędzie zostało uruchomione na nowo utworzonych sesjach Konsole, a wartość średnia została obliczona z próbką co sekundę przez 60 sekund. Obciążenie procesora dla Wayland było o 7.6% wyższe (w trybie Color Accuracy o 14%) niż dla sesji X11. Sesja Wayland odnotowała o 25% więcej przerwań i 48% więcej przełączeń kontekstu.

Metryka Wayland + wydajność energetyczna Wayland + dokładność kolorów X11 Średnia liczba zadań w kolejce zadań 0.18 0.35 0.07 Łączna liczba zadań w kolejce zadań 11 21 4 Przerwania (wejście) 1188 1173 937 Przełączenia kontekstu (cs) 1195 1208 803 Bezczynność procesora % (id) 98.03 97.90 98.17�

Następnie, narzędzie perf zostało użyte do analizy wywołań w czasie bezczynności. KWin_wayland zużywał około 1% (1.5%) czasu procesora, a KWin_X11 – 0.44%. Wywołania amdgpu stanowiły 0.77% (1%) w przypadku Wayland i 0.65% w przypadku X11. W trybie bezczynności sesja X11 wykonywała około dwa razy mniej instrukcji procesora niż sesja oparta na Waylandzie.

Metryka Wayland + wydajność energetyczna Wayland + dokładność kolorów X11 Zegar procesora (ms) ~543,000 540,000 ~527,000 14,415 ~26.547 16,120 Przełączenia kontekstu 29.864 6,021 | 11.436/s 72 | 0.133/s 139 0.258 | 92/s Migracje procesora 0.175 | 201/s 0.37 | 450/s 0.834 | 75/s Błędy stronicowania 0.142 | 3.95/s 0.007 | 4.43/s 0.008 | 1.9/s Cykle 0.004 B | 452.5 GHz 11.47 B | 616.5 GHz 13.92 B | 213 GHz Zatrzymane cykle front-end 11.13 M | 1.42% 36.04 mln | 1.45% 32.82 mln | 618% Zatrzymane cykle wsteczne 32.28 mld | 780% 0.2 mld | 1.82% 901 mln | 0.2% Instrukcje 1.61 mln | 483/cykl 0.25 zatrzymane/cykl 1.28 mln | 168/cykl 309 zatrzymane/cykl 193 mln | 358/cykl 104 zatrzymane/cykl Gałęzie 197 mln | 13.83 tys./s 13.36 mln | 11.7 tys./s XNUMX mln | XNUMX tys./s Pominięte gałęzie XNUMX% XNUMX% XNUMX%

W kolejnym artykule testy powtórzono w konfiguracji z Kubuntu 24.04 z KDE Plasma 5.27 i laptopem Lenovo Y50-70 z procesorem Intel i kartą graficzną NVIDIA. Wyniki były zbliżone – sesja Wayland była mniej wydajna niż sesja X11. Pobór mocy wyniósł 22.42 W w Waylandzie i 21.86 W w X11, obciążenie procesora w trybie bezczynności wyniosło 0.067 w porównaniu z 0.050, liczba przełączeń kontekstu wyniosła 43.835/s w porównaniu z 34.133/s, obciążenie podczas oglądania wideo 4K w VLC wyniosło 12.54% w porównaniu z 4.26%, a wydajność WebGL wyniosła 16 kl./s w porównaniu z 29 kl./s.

Dalsze podobne testy przeprowadzono na laptopie Lenovo IdeaPad 3 z procesorem/kartą graficzną AMD, korzystając z nowej kompilacji z projektu KDE Neon. W teście odtwarzania wideo 4K w VLC, obciążenie procesora przy użyciu X11 z wyłączoną kompozycją wyniosło 3.72%, X11 z włączoną kompozycją – 9.8%, Wayland z precyzją kolorów (CA) – 25.71%, a Wayland w trybie energooszczędnym (PE) – 31.51%. Zatem obciążenie procesora przy użyciu Walyand było 8-10 razy wyższe niż przy użyciu X11.

Podczas korzystania z Walyand, wygenerowano od 5 do 16% więcej przerwań. Różnica w obciążeniu GPU mieściła się w granicach 2%: Wayland (PE) — 56.33%, Wayland (CA) — 57.33%, X11 (Comp ON) — 57.98%, X11 (Comp OFF) — 56.81%. Pod względem poboru mocy, Wayland zużywał od 8 do 49% więcej energii: Wayland (PE) — 13.8–20.4 W, Wayland (CA) — 13.8–14.1 W, X11 (Comp ON) — 10.7–12.1 W, X11 (Comp OFF) — 11.4–14.9 W. W teście WebGL Aquarium wyniki dla Wayland i X11 były mniej więcej takie same: Wayland (PE) – 16–38 FPS, Wayland (CA) – 18–37 FPS, X11 (Comp ON) – 16–42 FPS, X11 (Comp OFF) – 21–42 FPS, ale zużycie energii podczas korzystania z Wayland było wyższe o około 8%.

Na koniec przeprowadzono kolejny eksperyment, tym razem obejmujący środowisko GNOME z Fedory 42 oraz KDE Plasma 6.4 lub KDE neon. Testy przeprowadzono na laptopie Lenovo IdeaPad 3 z procesorem/kartą graficzną AMD.

  • Obciążenie procesora w stanie bezczynności: KDE X11 – 1.83%, KDE Wayland (PE) – 1.97%, KDE Wayland (CA) – 2.1%, GNOME Wayland – 2.2%.
  • Pobór mocy w stanie spoczynku z jednym oknem terminala: KDE X11 - 5.67-5.87 W, KDE Wayland (CA) - 6.05-6.08 W, KDE Wayland (PE) - 6.09 W, GNOME Wayland - 5.83-7.62 W.
  • Obciążenie procesora graficznego w stanie bezczynności było najniższe w konfiguracji GNOME Wayland, ale różnica wynika z różnicy w uruchamianiu aplikacji Monitor systemu i Monitor systemu GNOME.
  • Według statystyk zebranych przez narzędzie perf, najmniej czasu procesora poświęcono konfiguracji bazującej na środowisku GNOME.
  • W teście odtwarzania wideo 4K 60FPS w programie VLC, sesja GNOME w Fedorze zużywała nieco mniej procesora (29.6%) niż sesja KDE oparta na systemie Wayland w trybie Color Accuracy (31.51%), ale więcej niż sesja KDE oparta na systemie X11 (9.8%) i Wayland w trybie energooszczędnym (25.71%).
  • Podczas oceny zużycia zasobów GPU, sesja GNOME w Fedorze zużywała więcej zasobów GPU w teście odtwarzania wideo 4K 60 kl./s w VLC. Na przykład, obciążenie potoku graficznego GPU w GNOME w Fedorze wynosiło 58.21%, w KDE z Waylandem 56.33% i 57.33%, a w KDE X11 57.98%. Zużycie pamięci wideo w GNOME w Fedorze było ponad dwukrotnie wyższe (50.89) niż w KDE z Waylandem (23.29 i 24.60) i o 15% wyższe niż w KDE X11 (44.36).
  • Pobór mocy podczas odtwarzania wideo: KDE X11 – 11.4–14.9 W, KDE Wayland (CA) – 13.8–14.1 W, GNOME Wayland – 12.5–15.6 W, KDE Wayland (PE) – 13.8–20.4 W.

Metryczny Fedora 42 Wayland KDE neon Wayland (PE) KDE neon Wayland (CA) KDE neon X11 (Comp ON) Bezczynność procesora % (id) 97.8 98.03 97.90 98.17 Przełączenia kontekstu (cs) 536 1195 1208 803 Przerwania (in) 929 1188 1173 937 Zużycie energii (waty) 5.83-7.62 6.09 6.05-6.08 5.67-5.87 Zegar procesora (ms) ~492,000 543,000 ~540,000 527,000 ~9,468 19.244 ~14,415 26.547 Przełączenia kontekstu 16,120 29.864 | 6,021 11.436/s 70.4 68.49 | 74.29/s 90.20 | 58.21/s 56.33 | 57.33/s Bezczynność procesora (%) podczas oglądania filmów 57.98 50.89 23.29 24.60 Obciążenie GPU podczas oglądania filmów 44.36% 12.5% 15.6% 13.8% Pamięć VRAM 20.4 13.8 14.1 11.4 Pobór mocy w watach podczas oglądania filmów 14.9–26 29–16 38–18 37–16 Liczba klatek na sekundę (FPS) w teście WebGL Aquarium 42–17 19–17 29–16 27–21 Pobór mocy w teście WebGL Aquarium 29–XNUMX XNUMX–XNUMX XNUMX–XNUMX XNUMX–XNUMX

Wyniki testów pokazują, że jest za wcześnie, aby skreślać X11, a rozwiązania oparte na Waylandzie wymagają dodatkowej optymalizacji. X11 jest nadal uznawane za najbardziej optymalne rozwiązanie pod względem wydajności. Implementacja Waylanda w KDE jest rzekomo lepsza niż w GNOME – sesja Waylanda w GNOME zaimplementowana w Fedorze, sądząc po testach, jest mniej wydajna niż sesja Waylanda w KDE, która z kolei pozostaje w tyle za KDE X11.

Źródło: opennet.ru

Dodaj komentarz