Publicidad

JavaScript no tiene la culpa de que Gnome Shell sea tan lento y pesado, en Ubuntu tienen un plan para solucionarlo

JavaScript no tiene la culpa de que Gnome Shell sea tan lento y pesado, en Ubuntu tienen un plan para solucionarlo
12 comentarios

Publicidad

Publicidad

En 2018 Canonical lanzó Ubuntu 18.04, una versión de la distro que tras muchos años decía adiós a Unity y se pasaba a GNOME como entorno de escritorio por defecto. Esta decisión le trajo tanto alabanzas como quejas, estas últimas porque muchos consideran que Gnome Shell es demasiado lento y pesado.

Recientemente, Daniel Van Vugt, miembro del equipo de desarrollo del escritorio de Ubuntu en Canonical, escribió una muy detallada explicación para la comunidad sobre el estado de Gnome Shell en Ubuntu, cómo funciona exactamente, y qué están haciendo para mejorar su rendimiento. De sus palabras hay cosas bastante interesantes que aprender.

La culpa no era de JavaScript

Ubuntu Gnome

Van Vugt explica que muchos de los problemas que se presentaron con Gnome Shell fueron sorprendentes, y parte de la sorpresa viene de que muchos no saben exactamente lo qué es Gnome Shell, un entorno de escritorio escrito en C y JavaScript encima de Mutter, un gestor y compositor de ventanas.

Gnome Shell está compuesto casi a partes iguales de código escrito en C y código escrito en JavaScript, un lenguaje que suele ser criticado en múltiples frentes por causar problemas difíciles de predecir y peor rendimiento.

Aunque Gnome Shell se lleva todas las críticas, Van Vugt explica que la mayoría de la lógica la maneja Mutter, y Mutter está compuesto principalmente de archivos escritos en C. Gnome Shell es más pequeño y añade cosas como el panel del escritorio y en lanzador de aplicaciones, de la misma forma en la que Unity funciona sobre Compiz.

Así que mientras muchos critican que Gnome Shell use JavaScript, un lenguaje interpretado, y lo culpan de su pobre rendimiento, la realidad es que cuando tomas en cuenta Mutter, el 90% del código de Gnome Shell está escrito en C y solo el 10% de todo el entorno en JavaScript.

La mayoría de las veces si sólo estás interactuando con una aplicación, Gnome Shell está ejecutando código nativo escrito en C.

La lección que aprendió el equipo de Ubuntu de esto es que asumir que JavaScript es más lento que todo lo demás que está escrito en C, es un error. Y asumir que JavaScript siquiera está en uso, es otro.

Un Gnome apto para ordenadores viejos de pocos recursos

Ubuntu

Si bien desde el lanzamiento de Ubuntu 18.04 en Canonical han estado trabajando para que Gnome Shell no se sienta más lento y pesado que Unity u otros escritorios, hasta Ubuntu 19.04 solo habían logrado añadir mejoras muy menores en el rendimiento de Gnome Shell.

Sin embargo, con la llegada de Ubuntu 19.10, esas mejoras han pasado a ser sustanciales. El objetivo para Ubuntu 20.04 será hacer que Gnome Shell tenga el más alto rendimiento en máquinas modernas y potentes, y para Ubuntu 20.10 esperan que Gnome Shell funcione rápido incluso en ordenadores viejos con hardware modesto.

La idea es que Gnome Shell sea "más rápido" manteniendo el frame rate total de nuestros monitores sin parpadeos. Para ello necesitan trabajar principalmente en Mutter y reescribir partes de su código para evitar la perdida de frames, y para completar el renderizado multimonitor de alto rendimiento de Wayland.

Esto es algo en lo que el mismo equipo de Gnome ya está trabajando. Aún queda mucho por probar, y el primer paso es asegurarse que Gnome Shell sea mucho más rápido en los ordenadores más potentes para después hacer lo propio con los más modestos, donde, honestamente, es casi imposible de usar.

Temas

Publicidad

Publicidad

Publicidad

Inicio
Compartir