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

Igor Ljubuncic, który do 2024 roku był odpowiedzialny w firmie Canonical za produkty związane z obliczeniami wysokowydajnymi, przeprowadził testy wydajności i zużycia energii sesji KDE Plasma 6.4 opartych na X11 i Wayland. Pod koniec czerwca Igor opublikował przegląd możliwości KDE Plasma 6.4, w którym stwierdził, że sesja oparta na Wayland ma gorszą wydajność i większe obciążenie CPU i GPU niż sesja oparta na X11. W serii nowych artykułów Igor próbował dokładniej przetestować wydajność obu sesji.

Początkowo zauważono, że podczas testowania na laptopie Lenovo IdeaPad 3 z zintegrowanym GPU AMD w sesji Wayland, niezależnie od aktywności CPU, obciążenie wynosiło stale około 8%, a co 2-3 sekundy występował skok, który całkowicie obciążał GPU. W sesji X11 obciążenie CPU i GPU podczas bezczynności wynosiło zero. Dalsze sprawdzenie za pomocą narzędzia radeontop pokazało większe zużycie zasobów w sesji Wayland, szczególnie przy włączeniu profilu „Dokładność kolorów” w ustawieniach ekranu. W tabeli poniżej przedstawiono średnie obciążenie GPU w procentach przy podobnym zestawie uruchomionych aplikacji oraz zbieraniu danych co sekundę przez 60 sekund.

Metryka Wayland + wydajność energetyczna Wayland + dokładność kolorów X11 Rura graficzna 3.31 4.03 2.47 Grupowanie wierzchołków + Tesselator 0.33 0.3 0.11 Adresowanie tekstur 0.90 2.03 0.78 Eksport shadera 2.24 3.03 1.42 Pamięć podręczna instrukcji sekwencera 0.06 0.08 0.03 Interpolacja shadera 2.58 3.31 1.61 Konwerter skanów 2.54 3.18 1.54 Zbiór prymitywów 0.32 0.30 0.11 Blok głębokości 2.51 3.18 1.53 Blok kolorów 2.51 3.18 1.54 VRAM 26.39 28.44 22.36 GTT 3.92 3.98 3.85 Zegar pamięci 33.33 54.90 54.81 Zegar shadera 16.67 16.67 16.67

Testowanie zużycia energii przy użyciu narzędzia powertop również wykazało przewagę sesji X11: zużycie energii przez sesję Wayland podczas przeprowadzania kilku próbek wyniosło 6.09 watta, Wayland z profilem „Dokładność kolorów” 6.05-6.08 watta, a X11 — 5.67-5.87 watta. Ogólnie stwierdzono, że sesja X11 zużywa od 3 do 7% mniej energii niż Wayland.

Test obciążenia CPU za pomocą narzędzia vmstat wykazał, że podczas bezczynności sesja X11 zużywała 1,83% CPU, a Wayland — 1,97% (2,1% w trybie Color Accuracy). Narzędzie zostało uruchomione na świeżo utworzonych sesjach w terminalu Konsole, obliczając średnią wartość przy wybieraniu co sekundę przez 60 sekund. Obciążenie CPU przy użyciu Wayland okazało się wyższe o 7,6% (w trybie Color Accuracy o 14%) niż przy użyciu sesji X11. W sesji Wayland zarejestrowano o 25% więcej przerwań oraz o 48% więcej przełączeń kontekstu.

Metryka Wayland + efektywność energetyczna Wayland + dokładność kolorów X11 Średnia liczba zadań w kolejce uruchamiania 0,18 0,35 0,07 Łączna liczba zadań w kolejce uruchamiania 11 21 4 Przerwania (wewnętrzne) 1188 1173 937 Przełączania kontekstu (cs) 1195 1208 803 Bezczynność CPU % (id) 98,03 97,90 98,17﷯

Następnie za pomocą narzędzia perf przeprowadzono analizę wywołań podczas bezczynności. KWin_wayland zużywał około 1% (1,5%) czasu procesora, a KWin_X11 — 0,44%. Odwołania do amdgpu stanowiły 0,77% (1%) dla Wayland i 0,65% dla X11. W trybie bezczynności w sesji X11 wykonano około dwa razy mniej instrukcji procesora niż w sesji na bazie Wayland.

Metryka Wayland + efektywność energetyczna Wayland + dokładność kolorów X11 Zegar CPU (ms) ~543,000 ~540,000 ~527,000 Przełączania kontekstu 14,415 | 26.547/s 16,120 | 29.864/s 6,021 | 11.436/s Migracje CPU 72 | 0.133/s 139 | 0.258/s 92 | 0.175/s Błędy stron 201 | 0.37/s 450 | 0.834/s 75 | 0.142/s Cykle 3.95B | 0.007 GHz 4.43B | 0.008 GHz 1.9B | 0.004 GHz Zatrzymane cykle przodu 452,5M | 11,47% 616,5M | 13,92% 213M | 11,13% Zatrzymane cykle tyłu 1.42B | 36,04% 1.45B | 32,82% 618M | 32,28% Instrukcje 780M | 0.2/cykle 1.82 zatrzymane/cykle 901M | 0.2/cykle 1.61 zatrzymane/cykle 483M | 0.25/cykle 1.28 zatrzymane/cykle Rozgałęzienia 168M | 309K/s 193M | 358K/s 104M | 197K/s Błędy rozgałęzień 13,83% 13,36% 11,7%

W następnym artykule testy zostały powtórzone w konfiguracji z Kubuntu 24.04 z KDE Plasma 5.27 oraz laptopem Lenovo Y50-70 z procesorem Intel i kartą graficzną NVIDIA. Wyniki okazały się zbliżone — sesja Wayland okazała się mniej wydajna niż X11. Zużycie energii wyniosło 22,42 watta w Wayland i 21,86 w X11, obciążenie CPU w trybie bezczynności wyniosło 0,067 wobec 0,050, liczba przełączeń kontekstu to 43,835/s wobec 34,133/s, obciążenie przy odtwarzaniu wideo 4K w VLC wyniosło 12,54% wobec 4,26%, a wydajność WebGL wyniosła 16 FPS wobec 29 FPS.

Następnie podobne testy zostały przeprowadzone na laptopie Lenovo IdeaPad 3 z CPU/GPU AMD przy użyciu świeżej wersji projektu KDE Neon. W teście odtwarzania wideo 4K w VLC obciążenie CPU przy użyciu X11 bez kompozycji wyniosło 3.72%, X11 z włączoną kompozycją – 9.8%, Wayland z dokładnością kolorów (CA) – 25.71%, Wayland w trybie efektywnego zużycia energii (PE) – 31.51%. Tak więc obciążenie CPU przy użyciu Wayland okazało się 8-10 razy wyższe niż przy użyciu X11.

Podczas korzystania z Wayland zarejestrowano również generację o 5-16% większą ilość przerwań. Różnica obciążenia GPU wynosiła około 2%: Wayland (PE) – 56.33%, Wayland (CA) – 57.33%, X11 (Comp ON) – 57.98%, X11 (Comp OFF) – 56.81%. Pod względem zużycia energii Wayland zużył więcej energii o 8-49%: Wayland (PE) – 13.8-20.4 watta, Wayland (CA) – 13.8-14.1 watta, X11 (Comp ON) – 10.7-12.1 watta, X11 (Comp OFF) – 11.4-14.9 watta. 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 przy korzystaniu z Wayland było wyższe o około 8%.

Ostatecznie przeprowadzono jeszcze jeden eksperyment, tym razem obejmujący GNOME z Fedora 42 oraz KDE Plasma 6.4 lub KDE Neon. Testy przeprowadzono na laptopie Lenovo IdeaPad 3 z CPU/GPU AMD.

  • Obciążenie CPU w trybie bezczynności: KDE X11 – 1.83%, KDE Wayland (PE) – 1.97%, KDE Wayland (CA) – 2.1%, GNOME Wayland – 2.2%.
  • Zużycie energii w trybie bezczynności z jednom oknem terminala: KDE X11 – 5.67-5.87 watta, KDE Wayland (CA) – 6.05-6.08 watta, KDE Wayland (PE) – 6.09 watta, GNOME Wayland – 5.83-7.62 watta.
  • Obciążenie GPU w trybie bezczynności okazało się najmniejsze w konfiguracji z GNOME Wayland, ale różnica tłumaczy się różnicą uruchomionych aplikacji Monitor systemu i GNOME Monitor systemu.
  • W statystykach zebranych przez narzędzie perf najmniej czasu procesora wydano w konfiguracji opartej na GNOME.
  • W teście odtwarzania wideo 4K 60FPS w VLC sesja GNOME w Fedora zużyła nieco mniej CPU (29.6%) niż KDE oparty na Waylandzie w trybie dokładności kolorów (31.51%), ale więcej niż sesja KDE oparta na X11 (9.8%) i Wayland w trybie efektywnego zużycia energii (25.71%).
  • Podczas oceny zużycia zasobów GPU sesja GNOME w Fedory podczas odtwarzania wideo 4K 60FPS w VLC zużywała więcej zasobów GPU. Na przykład, obciążenie potoku graficznego GPU w GNOME na Fedorze wynosiło 58,21%, w KDE opartym na Waylandzie — 56,33% oraz 57,33%, a w KDE X11 — 57,98%. Zużycie pamięci wideo w GNOME na Fedorze przekroczyło ponad dwa razy (50,89) wyniki KDE opartego na Waylandzie (23,29 i 24,60) i o 15% przekroczyło KDE X11 (44,36).
  • Zużycie energii podczas odtwarzania wideo: KDE X11 — 11,4-14,9 watów, KDE Wayland (CA) — 13,8-14,1 watów, GNOME Wayland — 12,5-15,6 watów, KDE Wayland (PE) — 13,8-20,4 watów.

Metryka Fedora 42 Wayland KDE neon Wayland (PE) KDE neon Wayland (CA) KDE neon X11 (Comp ON) Idle CPU % (id) 97,8 98,03 97,90 98,17 Przełączenia kontekstu (cs) 536 1195 1208 803 Liczba przerwań (in) 929 1188 1173 937 Zużycie energii (wat) 5,83-7,62 6,09 6,05-6,08 5,67-5,87 CPU clock (ms) ~492,000 ~543,000 ~540,000 ~527,000 Przełączenia kontekstu 9,468 | 19.244/s 14,415 | 26.547/s 16,120 | 29.864/s 6,021 | 11.436/s Idle CPU % podczas oglądania wideo 70,4 68,49 74,29 90,20 Obciążenie potoku graficznego GPU podczas oglądania wideo 58,21% 56,33% 57,33% 57,98% VRAM 50,89 23,29 24,60 44,36 Zużycie energii w watach podczas oglądania wideo 12,5-15,6 13,8-20,4 13,8-14,1 11,4-14,9 FPS w teście WebGL Aquarium 26-29 16-38 18-37 16-42 Zużycie energii w teście WebGL Aquarium 17-19 17-29 16-27 21-29

Po przeprowadzeniu testów można stwierdzić, że X11 wciąż jest istotnym rozwiązaniem, a systemy oparte na Waylandzie wymagają dodatkowej optymalizacji. X11 jest nadal uznawane za najbardziej optymalne rozwiązanie pod względem wydajności. Implementacja Waylanda w KDE prawdopodobnie jest lepsza niż w GNOME — sesja GNOME Wayland, wdrożona w Fedorze, według testów jest mniej wydajna niż sesja KDE Wayland, która z kolei ustępuje KDE X11.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster