Comparación del rendimiento de las sesiones de KDE Plasma en X11 y Wayland

Igor Ljubuncic, responsable de productos informáticos de alto rendimiento en Canonical hasta 2024, analizó el rendimiento y el consumo de energía de las sesiones de KDE Plasma 6.4 basadas en X11 y Wayland. A finales de junio, Igor publicó un análisis de las características de KDE Plasma 6.4, en el que concluyó que la sesión de Wayland tiene un rendimiento inferior y sobrecarga la CPU y la GPU más que la sesión de X11. En una serie de nuevos artículos, Igor intentó analizar el rendimiento de ambas sesiones con mayor profundidad.

Inicialmente, se observó que, al realizar pruebas en una laptop Lenovo IdeaPad 3 con una GPU AMD integrada en una sesión de Wayland, independientemente de la actividad, la CPU se carga constantemente en aproximadamente un 8 %, y cada 2-3 segundos se produce un salto que carga completamente la GPU. En una sesión X11, la carga en la CPU y la GPU durante el modo inactivo fue cero. Pruebas posteriores con la utilidad radeontop mostraron un mayor consumo de recursos en la sesión de Wayland, especialmente cuando el perfil "Precisión de Color" está habilitado en la configuración de pantalla. La siguiente tabla muestra la carga promedio de la GPU generada en porcentaje con un conjunto similar de aplicaciones en ejecución y recopilando datos cada segundo durante 60 segundos.

Wayland métrico + eficiencia energética Wayland + precisión de color X11 Graphics pipe 3.31 4.03 2.47 Vertex Grouper + Tesselator 0.33 0.3 0.11 Texture Addresser 0.90 2.03 0.78 Shader Export 2.24 3.03 1.42 Sequencer Instruction Cache 0.06 0.08 0.03 Shader Interpolator 2.58 3.31 1.61 Scan Converter 2.54 3.18 1.54 Primitive Assembly 0.32 0.30 0.11 Depth Block 2.51 3.18 1.53 Color Block 2.51 3.18 1.54 VRAM 26.39 28.44 22.36 GTT 3.92 3.98 3.85 Memory Clock 33.33 54.90 54.81 Reloj de sombreado 16.67 16.67 16.67

Las pruebas de consumo de energía con la utilidad Powertop también mostraron la ventaja de la sesión X11: el consumo de energía de la sesión Wayland al realizar varias muestras fue de 6.09 vatios, el de Wayland con el perfil de Precisión de Color fue de 6.05-6.08 vatios, y el de X11, de 5.67-5.87 vatios. En general, se concluyó que la sesión X11 consume entre un 3 % y un 7 % menos de batería que la de Wayland.

Al comprobar la carga de CPU con vmstat, se observó que, durante el modo inactivo, la sesión X11 consumía un 1.83 % de CPU, mientras que Wayland consumía un 1.97 % (2.1 % con el perfil de Precisión de Color). La utilidad se ejecutó en sesiones de Konsole recién creadas y el valor promedio se calculó con una muestra por segundo durante 60 segundos. La carga de CPU de Wayland fue un 7.6 % mayor (en el modo de Precisión de Color, un 14 %) que la de la sesión X11. La sesión de Wayland registró un 25 % más de interrupciones y un 48 % más de cambios de contexto.

Métrica Wayland + eficiencia energética Wayland + precisión de color X11 Número promedio de tareas en la cola de ejecución 0.18 0.35 0.07 Total de tareas en la cola de ejecución 11 21 4 Interrupciones (entradas) 1188 1173 937 Cambios de contexto (cs) 1195 1208 803 % de CPU inactiva (id) 98.03 97.90 98.17

A continuación, se utilizó la utilidad perf para analizar las llamadas durante el tiempo de inactividad. KWin_wayland consumió aproximadamente el 1% (1.5%) del tiempo del procesador, y KWin_X11, el 0.44%. Las llamadas a amdgpu fueron del 0.77% (1%) para Wayland y del 0.65% para X11. En modo inactivo, la sesión X11 ejecutó aproximadamente el doble de instrucciones del procesador que la sesión basada en Wayland.

Wayland métrica + eficiencia energética Wayland + precisión de color Reloj de CPU X11 (ms) ~543,000 ~540,000 ~527,000 Cambios de contexto 14,415 | 26.547/s 16,120 | 29.864/s 6,021 | 11.436/s Migraciones de CPU 72 | 0.133/s 139 | 0.258/s 92 | 0.175/s Errores de página 201 | 0.37/s 450 | 0.834/s 75 | 0.142/s Ciclos 3.95 B | 0.007 GHz 4.43 B | 0.008 GHz 1.9 B | 0.004 GHz Ciclos estancados frontend 452.5 M | 11.47 % 616.5 M | 13.92 % 213 M | 11.13 % Ciclos estancados backend 1.42 B | 36.04 % 1.45 B | 32.82 % 618 M | 32.28 % Instrucciones 780 M | 0.2/ciclo 1.82 estancadas/ciclo 901 M | 0.2/ciclo 1.61 estancadas/ciclo 483 M | 0.25/ciclo 1.28 estancadas/ciclo Ramas 168 M | 309 K/s 193 M | 358 K/s 104 M | 197 K/s Fallos de rama 13.83 % 13.36 % 11.7 %

En el siguiente artículo, se repitieron las pruebas en una configuración con Kubuntu 24.04 y KDE Plasma 5.27, y un portátil Lenovo Y50-70 con CPU Intel y tarjeta gráfica NVIDIA. Los resultados fueron prácticamente iguales: la sesión de Wayland fue menos eficiente que la de X11. El consumo de energía fue de 22.42 vatios en Wayland y de 21.86 en X11; la carga de la CPU en modo inactivo fue de 0.067 frente a 0.050; el número de cambios de contexto fue de 43.835/s frente a 34.133/s; la carga al ver vídeo 4K en VLC fue del 12.54% frente al 4.26%; y el rendimiento de WebGL fue de 16 FPS frente a 29 FPS.

Se realizaron pruebas similares en un portátil Lenovo IdeaPad 3 con CPU/GPU AMD, utilizando una compilación nueva del proyecto KDE Neon. En la prueba con reproducción de vídeo 4K en VLC, la carga de la CPU al usar X11 con la composición desactivada fue del 3.72 %, X11 con la composición activada fue del 9.8 %, Wayland con Precisión de Color (CA) del 25.71 % y Wayland en modo de eficiencia energética (PE) del 31.51 %. Por lo tanto, la carga de la CPU al usar Wayland fue entre 8 y 10 veces mayor que al usar X11.

Al usar Walyand, se generaron entre un 5 % y un 16 % más de interrupciones. La diferencia en la carga de la GPU fue de un 2 %: Wayland (PE): 56.33 %, Wayland (CA): 57.33 %, X11 (Comp ON): 57.98 %, X11 (Comp OFF): 56.81 %. En cuanto al consumo de energía, Wayland consumió entre un 8 % y un 49 % más: Wayland (PE): 13.8-20.4 vatios; Wayland (CA): 13.8-14.1 vatios; X11 (Comp ON): 10.7-12.1 vatios; X11 (Comp OFF): 11.4-14.9 vatios. En la prueba WebGL Aquarium, los resultados para Wayland y X11 fueron aproximadamente los mismos: Wayland (PE) - 16-38 FPS, Wayland (CA) - 18-37 FPS, X11 (Comp ON) - 16-42 FPS, X11 (Comp OFF) - 21-42 FPS, pero el consumo de energía al usar Wayland fue mayor en aproximadamente un 8%.

Finalmente, se realizó otro experimento, esta vez con GNOME desde Fedora 42 y KDE Plasma 6.4 o KDE neon. Las pruebas se realizaron en una laptop Lenovo IdeaPad 3 con CPU/GPU AMD.

  • Carga de CPU inactiva: KDE X11 - 1.83%, KDE Wayland (PE) - 1.97%, KDE Wayland (CA) - 2.1%, GNOME Wayland - 2.2%.
  • Consumo de energía inactivo con una ventana de terminal: KDE X11: 5.67-5.87 vatios, KDE Wayland (CA): 6.05-6.08 vatios, KDE Wayland (PE): 6.09 vatios, GNOME Wayland: 5.83-7.62 vatios.
  • La carga de la GPU en reposo fue más baja en la configuración de GNOME Wayland, pero la diferencia se explica por la diferencia en la ejecución de las aplicaciones Monitor del sistema y Monitor del sistema GNOME.
  • En las estadísticas recopiladas por la utilidad perf, el menor tiempo de CPU se gastó en la configuración basada en GNOME.
  • En la prueba de reproducción de video 4K 60FPS en VLC, la sesión de GNOME en Fedora consumió un poco menos de CPU (29.6%) que KDE basado en Wayland en modo de precisión de color (31.51%), pero más que la sesión de KDE basada en X11 (9.8%) y Wayland en modo de eficiencia energética (25.71%).
  • Al evaluar el consumo de recursos de la GPU, la sesión de GNOME en Fedora consumió más recursos de la GPU en la prueba de reproducción de vídeo 4K a 60 FPS en VLC. Por ejemplo, la carga del flujo de trabajo de gráficos de la GPU en GNOME en Fedora fue del 58.21 %, en KDE basado en Wayland fue del 56.33 % y del 57.33 %, y en KDE X11 fue del 57.98 %. El consumo de memoria de vídeo en GNOME en Fedora fue más del doble (50.89 %) que en KDE basado en Wayland (23.29 %) y un 24.60 % superior al de KDE X15 (11 %).
  • Consumo de energía al reproducir vídeo: KDE X11: 11.4-14.9 vatios, KDE Wayland (CA): 13.8-14.1 vatios, GNOME Wayland: 12.5-15.6 vatios, KDE Wayland (PE): 13.8-20.4 vatios.

Métricas Fedora 42 Wayland KDE neon Wayland (PE) KDE neon Wayland (CA) KDE neon X11 (Comp ON) % de CPU inactiva (id) 97.8 98.03 97.90 98.17 Cambios de contexto (cs) 536 1195 1208 803 Interrupciones (in) 929 1188 1173 937 Consumo de energía (vatios) 5.83-7.62 6.09 6.05-6.08 5.67-5.87 Reloj de CPU (ms) ~492,000 543,000 ~540,000 527,000 ~9,468 19.244 ~14,415 26.547 Cambios de contexto 16,120 | 29.864 6,021/s 11.436 70.4 | 68.49/s 74.29 | 90.20/s 58.21 | 56.33/s % de CPU inactiva mientras se ven videos 57.33 57.98 50.89 23.29 Carga de GPU mientras se ven videos 24.60% 44.36% 12.5% 15.6% VRAM 13.8 20.4 13.8 14.1 Consumo de energía en vatios mientras se ven videos 11.4-14.9 26-29 16-38 18-37 FPS en la prueba WebGL Aquarium 16-42 17-19 17-29 16-27 Consumo de energía en la prueba WebGL Aquarium 21-29 XNUMX-XNUMX XNUMX-XNUMX XNUMX-XNUMX

Los resultados de las pruebas muestran que es prematuro descartar X11, y que las soluciones basadas en Wayland requieren mayor optimización. X11 sigue siendo la solución más óptima en términos de rendimiento. La implementación de Wayland en KDE supuestamente es mejor que en GNOME. La sesión de Wayland de GNOME implementada en Fedora, a juzgar por las pruebas, es menos productiva que la sesión de Wayland de KDE, que a su vez se queda atrás de KDE X11.

Fuente: opennet.ru

Añadir un comentario