¿Notas que el GNOME de Ubuntu va más fluido que el de otras distribuciones? En caso afirmativo, la razón podría deberse a la implementación del triple buffering dinámico, característica que está presente en las versiones 22.04 LTS y 22.10 de la distribución de Canonical, pero todavía no en la rama principal y oficial de GNOME.
La implementación del triple buffering dinámico tanto en Ubuntu como en la propuesta de fusión en GNOME llevan la firma de Daniel van Vugt, el empleado de Canonical dedicado a GNOME y que fue además uno de los principales artífices de la gran mejora a nivel de rendimiento experimentada por Mutter en el lanzamiento la versión 3.36 del escritorio. Pero antes de continuar, vamos a explicar brevemente qué hace la característica mencionada.
Básicamente, la implementación del triple buffering dinámico en GNOME permite mejorar el desempeño del propio escritorio, sobre todo en los procesadores gráficos de Raspberry Pi y en las gráficas integradas de Intel, mientras que sobre Radeon y NVIDIA la ganancia es en teoría menos apreciable, si es que es apreciable. Según explica Daniel van Vugt, la característica está implementada en Mutter y no genera lag debido a que hace un intercambio entre el doble buffering y el triple buffering de forma dinámica según sea necesario:
“Nuestra implementación de triple buffering cambia dinámicamente entre el doble y triple buffering según sea necesario. Cuando es necesario, el doble buffering solo proporcionaría la mitad de la velocidad de fotogramas ideal (o peor). Así que estás comparando dos fotogramas de latencia con dos fotogramas de latencia. El triple buffering solo duplica la velocidad de fotogramas. Si la representación es simple, cambiamos a doble buffering y la latencia cae por debajo de un cuadro”. Por otro lado, no se espera que aporte una mejora apreciable en los juegos al menos por ahora.
Ubuntu ya implementa el triple buffering dinámico y Debian se ha planteado seguir sus pasos a través de un empleado de Canonical, mientras que la llegada de la característica a la rama oficial de GNOME se está haciendo de rogar. El parche fue planteado el 14 de septiembre de 2020 por Daniel van Vugt y a día de hoy sigue sin estar fusionado. Durante el desarrollo se han encontrado algunos obstáculos que están siendo resueltos aparentemente con cierta lentitud y ahora mismo hay en la petición de fusión dos hilos sin resolver.
De todas las respuestas recientes que se pueden encontrar, posiblemente la más fácil de entender para el usuario promedio sea la del usuario ‘vtq’, quien ha publicado un vídeo mostrando la presencia de tearing después de aplicar el parche sobre GNOME 43.1 y Fedora 37 y conectar o accionar la gráfica NVIDIA de su portátil.
Veremos si el triple buffering dinámico llega al final a GNOME 44 o si la característica termina retrasándose otros seis meses más para aterrizar en la versión 45 del escritorio. La congelación de GNOME 44 está programada para mediados de febrero, el lanzamiento como estable para el 22 de marzo de 2023 y apunta a tener a Ubuntu 23.04 y a Fedora 38 como sistemas de referencia.
Por ahora Ubuntu y Debian han tomado la decisión de adelantarse (aunque a la segunda todavía le queda recorrido), mientras que el resto, empezando por Fedora (por la estrecha relación que tiene con GNOME), parece haberse quedado a rebufo. Mejor llegar tarde y bien que pronto y mal.