martes, septiembre 16, 2008

Rendimiento del KDE 4.0

En reddit.programming he visto esta tarde un enlace a un artículo de Aaron Seigo, titulado On KDE4 Performance. Elabora una lista de problemas de rendimiento que uno se puede encontrar a la hora de utilizar KDE 4, y que desde mi punto de vista, resume muy bien alguno de los problemas que me encontré cuando usaba KDE de manera habitual (o uso, cuando monto una distribución Linux es el entorno de escritorio que monto por defecto):

Drivers

Un problema recurrente que he encontrado cuando usaba Linux era buscar dispositivos que estuviesen soportaados por el sistema, y que además, funcionara a pleno rendimiento. En el caso del soporte 2D y 3D de las tarjetas gráficas, podía convertirse en una odisaea. A día de hoy sólo quedan tres jugadores en el mercado: ATI/AMD, nVidia e Intel. Actualmente todos tienen drivers, todos ellos ejecutándose en núcleo para acelerar las operaciones gráficas. Sin embargo, no todos tienen el mismo grado de madurez, lo que repercute en la estabilidad y rendimiento de los mismos. KDE 4 puede tener diferencias de rendimiento en función de esto:
...At the same time, if the drivers for older hardware are simply not up to the task and those drivers aren't updated ... there's not much we can do about it and that hardware...

Código de depuración

Para poder obtener información precisa de los posibles problemas que se produzca en el entorno y poder informar a los desarrolladores de los mismos,es necesario recurrir a compilaciones con toda la información de depuración y las rutas de código del mismo. Esto puede enlentecer muchísimo la velocidad de ejecuación del entorno
...There are some code paths which are god awful slow in a full debug build of some parts of KDE 4...

Hardware

Cuanto más memoria mejor. En cuanto el sistema toca el swap el rendimiento cae en picado. Con la potencia de proceso actual y suponiendo el soporte hardware para la tarjeta gráfica, KDE no debería comerse la CPU. Uno de los problemas más flacos que tiene KDE 4, es el uso de la GPU para descargar a la CPU de la tarea de dibujo en la pantalla.
...GPU under-utilization can degrade painting performance. This is probably one of our biggest weak points right now...

X Window y el soporte de transparencia

El soporte para transparencia, tanto en X Window como en los drivers de algunas tarjetas gráficas tienen problemas de implementación y de rendimiento. Plasma, el componente encargado del escritorio exige el máximo de la implementación de X Window, revelando diversos problemas en la misma, que se han ido corrigiendo con el tiempo.
...when Plasma came onto the scene there weren't any other production apps doing to the graphics stack in x.org what Plasma was. Untested code equals unfound bugs and unknown performance boundaries...
Otro problema que se han encontrado es la extensión XRender, usada sobre todo para mostrar texto con antialising, no se mapea bien las implementaciones hardware que se utilizan hoy en día. Esto ha hecho, que algunos fabricantes, como nVidia, hayan reescrito todo el código que toque parte de la tarjeta gráfica. Esta divergencia en código crea toda una nueva serie de problemas, de tal manera que si se detecta algo en la parte de X Window, nVidia deba trasladarlo a su código. La aceleración de esta extensión, en función del soporte que se tenga en los drivers hardware y como estén implementados puede ser abismal.
... So while there is decent acceleration for some or most of XRender in some graphics drivers, it's abismal on others and never really reaches the full potential we should be seeing due to design issues...

Qt

QT es el toolkit que utiliza KDE. Hay rutas de código que podrían acelerarse en hardware u optimizarse más. Aaron desea tambien un mejor soporte para OpenGL.
Qt4 itself has room for improvement. There are graphics paths that do things in software that should be done either smarter in software or in hardware. A proper OpenGL paint engine for Qt4 woudl also rock the house considerably.

KDE

Aaron reconoce que pasaron años optimizando KDE 3 para tener un entorno estable y rápido (y así es). Ahora hay que repeterir el mismo trabajo con KDE 4. Todo esto implica descubrir nuevos fallos, corregirlos y optimizar las rutas de código más lentas. Mucho trabajo por delante, pero que siempre los usuarios pueden colaborar probando el entorno y sobre todo mandando los correspondientes informes de problemas..

Opinión personal

Llevo años sin usar diariamente un entorno en Linux (uso MacOS X personalmente y en el trabajo uso Windows XP). Lo que cuenta Aaron es muy prometedor, al menos la dirección que están tomando, pero les queda mucho camino por recorrer. Al igual que hace 6 años, a la hora de montar una máquina Linux que esté preparada para el escritorio hay que estar atento a qué hardware funciona bien y que tiene drivers estables con toda las extensiones que utiliza KDE. Si tengo algo de tiempo, lo miraré sobre todo porque es un entorno que me puedo encontrar en el trabajo.

No hay comentarios: