Puedo decir, sin temor a equivocarme, que Google Chrome actualmente es el rey indiscutido de los navegadores. Más específicamente los navegadores basados en Chromium
. Opera, Vivaldi, MS EDGE, Brave, etc, etc, etc... todos comparten el mismo corazón. Hay que reconocer que hasta no hace mucho utilizaban demasiada RAM para lograr su velocidad superior.
Sin embargo esos tiempos pasaron, se mejoró la gestión de memoria en todas las pestañas y actualmente es bastante eficiente en liberar memoria en pestañas que no están en uso. Entonces, ¿de qué va este artículo?. Bueno, cómo soy fanatico del rendimiento, voy a pasar a contar de que manera podés exprimir al máximo las capacidades de Chrome. Estas modificaciones funcionan en Android, Linux y Windows.
Para todo esto nos vamos a servir de los flags
(banderas) u opciones experimentales del navegador. Estos flags
permiten habilitar opciones que todavía no han sido aprobadas para un uso general o que Google considera inestables. Dicho esto un pequeño disclaimer:
⚠️ si bien estos flags fueron probados, no significa que puedan tener problemas y/o consuman mucha batería ⚠️.
Por lo tanto, lo mejor es ir probando de a poco y viendo que cómo se comporta el navegador en tu computadora. En el caso que el navegador deje de funcionar (sobre todo en la parte gráfica) lo que hay que hacer es cerrar Chrome y volver a ejecutarlo con el switch --no-experiments
. Ej:
chrome.exe --no-experiments
Lo que hace es arrancar el browser pero ignorando todos los flags que hayamos modificado.
Vamos a trabajar primero en la red. Para eso vamos a activar los siguientes 4 flags
chrome://flags/#enable-quic
chrome://flags/#enable-tls13-early-data
chrome://flags/#enable-lazy-image-loading
chrome://flags/#enable-lazy-frame-loading
chrome://flags/#enable-parallel-downloading
QUIC
es la implementación del nuevo HTTP/3 y permite una mejor performance en sitios que tenga activado el protocolo. Por ahora solo los servicios de Google (buscador, Docs, Drive, Gmail, etc) soportan QUIC
pero en corto tiempo se espera una adopción masiva.
TLS 1.3 Early Data activa el soporte para 0-RTT
que permite la re|conexión rápida a servidores.
Los flags Lazy loading
hacen que las imágenes e iframes
se carguen de manera diferida, haciendo que las páginas carguen más rápido.
Finalmente, Parallel downloading
permite crear varias conexiones para realizar la descarga en paralelo. Resultado: descargas más rápidas.
¿Querés más velocidad?. Bueno, si la respuesta es positiva, entonces tenés que tener FasterChrome instalado. Lo que hace esta pequeña maravilla es precargar (descarga en segundo plano) el link donde se posa el mouse. De esta manera, cuando finalmente se hace click, la página siguiente se encuentra en nuestra computadora y el acceso parece instantáneo. Una extensión que si o si hay que tener.
Pasamos a la parte de dibujo. El renderizado es el proceso de dibujar el contenido de las páginas en la pantalla. Para esto puede utilizar el CPU, pero lo que nosotros queremos es que utilice la GPU que es el especialista en gráficos.
chrome://flags/#overlay-strategies (Desactivar)
chrome://flags/#enable-gpu-rasterization
chrome://flags/#enable-oop-rasterization
chrome://flags/#enable-zero-copy
chrome://flags/#enable-skia-renderer
Desactivando el overlay-strategies y activando el resto hacemos que todo el renderizado pase a ser realizado por la GPU. Según el equipo que tengas se puede traducir en un rendimiento genial con los FPS por las nubes o... Puede haber problemas de artefactos u otros glitches gráficos. Es cuestión de probar. Por otro lado, en Android la ganancia de performance puede que la paguemos en consumo de batería.
Si te sientes particularmente aventurero, podés activar el nuevo motor Vulkan que promete mejor desempeño que OpenGL.
chrome://flags/#enable-vulkan
Para ir cerrando te dejo estas últimas recomendaciones:
chrome://flags/#smooth-scrolling
chrome://flags/#enable-heavy-ad-intervention
chrome://flags/#texture-layer-skip-wait-for-activation
smooth-scrolling
permite un scroll más fluido, se nota bastante más en Android. Lo mismo para enable-heavy-ad-intervention
, hace que los anuncios que consumen recursos sean desactivados. Por último texture-layer-skip-wait-for-activation
hace que el renderizado de capas de texturas se procesen inmediatamente, aunque no hayan terminado.