Сравнение на производителността на сесиите KDE Plasma на базата на X11 и Wayland

Игор Любунчич (Igor Ljubuncic), който до 2024 година отговаряше за продуктите, свързани с високопроизводителни изчисления в компанията Canonical, проведе тестове за производителност и енергийна консумация на сесиите KDE Plasma 6.4 на базата на X11 и Wayland. В края на юни Игор публикува преглед на възможностите на KDE Plasma 6.4, в който заключи, че сесията на базата на Wayland е по-бавна и натоварва повече CPU и GPU в сравнение със сесията на базата на X11. В серия нови статии Игор се опита да тестира по-задълбочено производителността на двете сесии.

Първоначално беше отбелязано, че при тестване на лаптопа Lenovo IdeaPad 3 с интегрирано GPU AMD в сесия Wayland, независимо от активността на CPU, натоварването постоянно е около 8%, а на всеки 2-3 секунди се наблюдава скок, който напълно натоварва GPU. В сесия X11 натоварването на CPU и GPU по време на бездействие беше нула. Допълнителната проверка с утилитата radeontop показа по-високо потребление на ресурси в сесия Wayland, особено при активиране на профила "Color Accuracy" в настройките за екрана. В таблицата по-долу е посочено средното натоварване на GPU в проценти при идентичен набор от стартирани приложения и събиране на данни всяка секунда в продължение на 60 секунди.

Метрични данни Wayland + енергийна ефективност Wayland + цвят точност X11 Графичен канал 3.31 4.03 2.47 Векторен агрегатор + Теселация 0.33 0.3 0.11 Адресатор на текстури 0.90 2.03 0.78 Експорт на шейдери 2.24 3.03 1.42 Кеш за инструкции на секвенциатор 0.06 0.08 0.03 Интерполатор на шейдери 2.58 3.31 1.61 Конвертор за сканиране 2.54 3.18 1.54 Асамблея на примитиви 0.32 0.30 0.11 Блок на дълбочината 2.51 3.18 1.53 Блок на цвета 2.51 3.18 1.54 VRAM 26.39 28.44 22.36 GTT 3.92 3.98 3.85 Час на паметта 33.33 54.90 54.81 Час на шейдерите 16.67 16.67 16.67

Тестовете за потребление на енергия с утилитата powertop също показаха предимство на сесия X11: потреблението на енергия в сесия Wayland при извършване на няколко измервания беше 6.09 вата, Wayland с профил "Color Accuracy" 6.05-6.08 вата, а X11 — 5.67-5.87 вата. В общи линии, заключението е, че сесия X11 изразходва с 3-7% по-малко енергия от батерията в сравнение с Wayland.

Проверката на натоварването на CPU с утилитата vmstat показа, че по време на бездействие сесия X11 е консумирала 1.83% CPU, а Wayland — 1.97% (2.1% с профил Color Accuracy). Утилитата беше стартирана на новосъздадени сесии в терминала Konsole и беше изчислено средното значение при ежесекундно измерване в продължение на 60 секунди. Натоварването на CPU при използване на Wayland се оказа с 7.6% по-високо (при режим Color Accuracy с 14%) в сравнение със сесия X11. В сесия Wayland бяха регистрирани с 25% повече прекъсвания и с 48% повече превключвания на контекста.

Метрика Wayland + енергийна ефективност Wayland + цветова точност X11 Среден брой задачи в опашката 0.18 0.35 0.07 Общ брой задачи в опашката 11 21 4 Прекъсвания (в) 1188 1173 937 Превключвания на контекста (cs) 1195 1208 803 Бездействащ CPU % (id) 98.03 97.90 98.17

След това с помощта на утилитата perf беше проведен анализ на извикванията по време на бездействие. KWin_wayland консумираше около 1% (1.5%) от процесорното време, а KWin_X11 — 0.44%. Обажданията към amdgpu бяха 0.77% (1%) за Wayland и 0.65% за X11. В режим на бездействие в сесия X11 бяха изпълнени около два пъти по-малко процесорни инструкции, отколкото в сесията на базата Wayland.

Метрика Wayland + ефективност на енергията Wayland + точност на цветовете X11 Часовник на CPU (ms) ~543,000 ~540,000 ~527,000 Контекстни превключвания 14,415 | 26.547/s 16,120 | 29.864/s 6,021 | 11.436/s Миграции на CPU 72 | 0.133/s 139 | 0.258/s 92 | 0.175/s Страница с грешки 201 | 0.37/s 450 | 0.834/s 75 | 0.142/s Цикли 3.95B | 0.007 GHz 4.43B | 0.008 GHz 1.9B | 0.004 GHz Задържани цикли преден план 452.5M | 11.47% 616.5M | 13.92% 213M | 11.13% Задържани цикли заднен план 1.42B | 36.04% 1.45B | 32.82% 618M | 32.28% Инструкции 780M | 0.2/cycle 1.82 задържани/cycle 901M | 0.2/cycle 1.61 задържани/cycle 483M | 0.25/cycle 1.28 задържани/cycle Клонове 168M | 309K/s 193M | 358K/s 104M | 197K/s Пропуснати клонове 13.83% 13.36% 11.7%

В следващата статия тестовете бяха повторени в конфигурация с Kubuntu 24.04, KDE Plasma 5.27 и лаптоп Lenovo Y50-70 с CPU Intel и видеокарта NVIDIA. Резултатите се оказаха приблизително същите — сесията с Wayland се оказа по-малко ефективна от X11. Консумацията на енергия беше 22.42 вата при Wayland и 21.86 при X11, натоварването на CPU в режим на покой беше 0.067 срещу 0.050, броят на контекстните превключвания — 43.835/s срещу 34.133/s, натоварването при гледане на 4K видео в VLC — 12.54% срещу 4.26%, производителността на WebGL — 16 FPS срещу 29 FPS.

След това аналогичните тестове бяха извършени на лаптоп Lenovo IdeaPad 3 с CPU/GPU AMD, използвайки нова сборка от проекта KDE Neon. В теста с възпроизвеждане на 4K видео в VLC натоварването на CPU при използване на X11 с деактивиран композитинг беше 3.72%, X11 с активиран композитинг — 9.8%, Wayland с Color Accuracy (CA) — 25.71%, Wayland в режим на ефективно потребление на енергия (PE) — 31.51%. По този начин натоварването на CPU при използване на Wayland се оказа 8-10 пъти по-високо, отколкото при X11.

При използването на Wayland също така беше регистрирано генерирането на 5-16% повече прекъсвания. Разликата в натоварването на GPU беше в границите на 2%: Wayland (PE) — 56.33%, Wayland (CA) — 57.33%, X11 (Comp ON) — 57.98%, X11 (Comp OFF) — 56.81%. По отношение на енергийната консумация Wayland консумираше повече енергия с 8-49%: Wayland (PE) — 13.8-20.4 вата, Wayland (CA) — 13.8-14.1 вата, X11 (Comp ON) — 10.7-12.1 вата, X11 (Comp OFF) — 11.4-14.9 вата. В теста WebGL Aquarium резултатите за Wayland и X11 се оказаха приблизително еднакви: Wayland (PE) — 16-38 FPS, Wayland (CA) — 18-37 FPS, X11 (Comp ON) — 16-42 FPS, X11 (Comp OFF) — 21-42 FPS, но консумацията на енергия при използване на Wayland беше по-висока с около 8%.

В крайна сметка беше проведен още един експеримент, този път обхващащ GNOME от Fedora 42 и KDE Plasma 6.4 или KDE neon. Тестването беше извършено на лаптоп Lenovo IdeaPad 3 с CPU/GPU AMD.

  • Натоварването на CPU в режим на покой: KDE X11 — 1.83%, KDE Wayland (PE) — 1.97%, KDE Wayland (CA) — 2.1%, GNOME Wayland — 2.2%.
  • Консумацията на енергия в режим на покой с едно отворено терминално прозорец: KDE X11 — 5.67-5.87 вата, KDE Wayland (CA) — 6.05-6.08 вата, KDE Wayland (PE) — 6.09 вата, GNOME Wayland — 5.83-7.62 вата.
  • Натоварването на GPU в режим на готовност се оказа най-ниско в конфигурацията с GNOME Wayland, но разликата се обяснява с различията в стартираните приложения System Monitor и GNOME System Monitor.
  • В статистиката, събрана от утилитата perf, най-малко време на процесора беше похабено в конфигурацията на базата на GNOME.
  • В теста за възпроизвеждане на видео 4K 60FPS в VLC сесията GNOME в Fedora консумираше малко по-малко CPU (29.6%) в сравнение с KDE на базата на Wayland в режим Color Accuracy (31.51%), но повече, отколкото сесията KDE на базата на X11 (9.8%) и Wayland в режим на ефективна консумация на енергия (25.71%).
  • При оценка на консумацията на ресурси GPU сесията GNOME в Fedora в теста за възпроизвеждане на видео 4K 60FPS в VLC консумираше повече ресурси на GPU. Например, натоварването на графичния конвейер на GPU в GNOME в Fedora — 58.21%, в KDE на базата на Wayland — 56.33% и 57.33%, а в KDE X11 — 57.98%. Консумацията на видеопамет в GNOME в Fedora надвиши показатели в KDE на базата на Wayland (50.89) повече от два пъти (23.29 и 24.60) и с 15% надвиши KDE X11 (44.36).
  • Консумацията на енергия при възпроизвеждане на видео: KDE X11 — 11.4-14.9 вата, KDE Wayland (CA) — 13.8-14.1 вата, GNOME Wayland — 12.5-15.6 вата, KDE Wayland (PE) — 13.8-20.4 вата.

Метрика Fedora 42 Wayland KDE neon Wayland (PE) KDE neon Wayland (CA) KDE neon X11 (Comp ON) Безделничен CPU % (id) 97.8 98.03 97.90 98.17 Превключвания на контекста (cs) 536 1195 1208 803 Брой прекъсвания (in) 929 1188 1173 937 Потребление на енергия (вата) 5.83-7.62 6.09 6.05-6.08 5.67-5.87 Час на CPU (мс) ~492,000 ~543,000 ~540,000 ~527,000 Превключвания на контекста 9,468 | 19.244/s 14,415 | 26.547/s 16,120 | 29.864/s 6,021 | 11.436/s Безделничен CPU % при гледане на видео 70.4 68.49 74.29 90.20 Натоварване на графичния конвейер GPU при гледане на видео 58.21% 56.33% 57.33% 57.98% VRAM 50.89 23.29 24.60 44.36 Изразходвана енергия в ватки при гледане на видео 12.5-15.6 13.8-20.4 13.8-14.1 11.4-14.9 FPS в теста WebGL Aquarium 26-29 16-38 18-37 16-42 Потребление на енергия в теста WebGL Aquarium 17-19 17-29 16-27 21-29

В резултат на тестовете се установи, че X11 все още не трябва да бъде отписван, а решенията на базата на Wayland изискват допълнителна оптимизация. X11 остава най-оптималното решение от гледна точка на производителност. Реализацията на Wayland в KDE предположително е по-добра от тази в GNOME — сесията GNOME Wayland, реализирана в Fedora, очевидно е по-малко производителна в сравнение с сесията KDE Wayland, която от своя страна изостава от KDE X11.

Източник: opennet.ru

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster