Сравнение производительности сеансов 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 секунд.

MetricWayland +

power efficiency

Wayland +

color accuracy

X11
Graphics pipe3.314.032.47
Vertex Grouper + Tesselator0.330.30.11
Texture Addresser0.902.030.78
Shader Export2.243.031.42
Sequencer Instruction Cache0.060.080.03
Shader Interpolator2.583.311.61
Scan Converter2.543.181.54
Primitive Assembly0.320.300.11
Depth Block2.513.181.53
Color Block2.513.181.54
VRAM26.3928.4422.36
GTT3.923.983.85
Memory Clock33.3354.9054.81
Shader Clock16.6716.6716.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% больше переключений контекста.

MetricWayland +

power efficiency

Wayland +

color accuracy

X11
Average no. of tasks in the runqueue0.180.350.07
Total tasks in the runqueue11214
Interrupts (in)11881173937
Context switches (cs)11951208803
Idle CPU % (id)98.0397.9098.17

Далее при помощи утилиты perf был проведён анализ вызовов во время простоя. KWin_wayland потреблял примерно 1% (1.5%) процессорного времени, а KWin_X11 – 0.44%. Обращения к amdgpu составляли 0.77% (1%) для Wayland и 0.65% для X11. В режиме простоя в сеансе X11 было выполнено примерно в два раза меньше процессорных инструкций, чем в сеансе на базе Wayland.

MetricWayland +

power efficiency

Wayland +

color accuracy

X11
CPU clock (ms)~543,000~540,000~527,000
Context switches14,415 | 26.547/s16,120 | 29.864/s6,021 | 11.436/s
CPU migrations72 | 0.133/s139 | 0.258/s92 | 0.175/s
Page faults201 | 0.37/s450 | 0.834/s75 | 0.142/s
Cycles3.95B | 0.007 GHz4.43B | 0.008 GHz1.9B | 0.004 GHz
Stalled cycles frontend452.5M | 11.47%616.5M | 13.92%213M | 11.13%
Stalled cycles backend1.42B | 36.04%1.45B | 32.82%618M | 32.28%
Instructions780M | 0.2/cycle

1.82 stalled/cycle

901M | 0.2/cycle

1.61 stalled/cycle

483M | 0.25/cycle

1.28 stalled/cycle

Branches168M | 309K/s193M | 358K/s104M | 197K/s
Branch misses13.83%13.36%11.7%

В следующей статье тесты были повторены в конфигурации c 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 c Color Accuracy (CA) – 25.71%, Wayland в режиме эффективного потребления энергии (PE) – 31.51%. Таким образом нагрузка на CPU при использовании Walyand оказалась в 8-10 раз выше, чем при использовании X11.

При использовании Walyand также зафиксирована генерация на 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 c 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 более чем в два раза превысило (50.89) показатели KDE на базе Wayland (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 ватт.

MetricFedora 42 WaylandKDE neon Wayland (PE)KDE neon Wayland (CA)KDE neon X11 (Comp ON)
Idle CPU % (id)97.898.0397.9098.17
Переключения контекста (cs)53611951208803
Число прерываний (in)92911881173937
Потребление энергии (ватт)5.83-7.626.096.05-6.085.67-5.87
CPU clock (ms)~492,000~543,000~540,000~527,000
Переключения контекста9,468 | 19.244/s14,415 | 26.547/s16,120 | 29.864/s6,021 | 11.436/s
Idle CPU % при просмотре видео70.468.4974.2990.20
Нагрузка на графический конвейер GPU при просмотре видео58.21%56.33%57.33%57.98%
VRAM50.8923.2924.6044.36
Энегропотребление в ваттах при просмотре видео12.5-15.613.8-20.413.8-14.111.4-14.9
FPS в тесте WebGL Aquarium26-2916-3818-3716-42
Энергопотребелние в тесте WebGL Aquarium17-1917-2916-2721-29

По итогам тестирования сделан вывод, что X11 ещё рано сбрасывать счетов, а решения на базе Wayland требуют дополнительной оптимизации.
X11 отмечается как по-прежнему самое оптимальное решение с точки зрения производительности. Реализация Wayland в KDE предположительно лучше, чем в GNOME – сеанс GNOME Wayland, реализованный в Fedora, судя по тестам менее производителен, чем сеанс KDE Wayland, который в свою очередь отстаёт от KDE X11.

Release. Ссылка here.