Os hablaba hace tiempo sobre el editor de imágenes libre GIMP, y que desde que Adobe Fireworks quedó abandonado, es la herramienta que utilizo para mis necesidades de proceso de imágenes a la hora de publicar contenido.

Básicamente lo que uso son los reescalados, recortes, reducción de colores, normalización de niveles de color, y exportación a formatos web, y aunque puntualmente con las características que proporcionan los visualizadores de imágenes potentes como Irfanview o Xnview, puedo salir del paso, no es lo habitual.

Sin embargo, GIMP es un programa que se abre muy lento, no porque sea pesado, pues en realidad es mucho más ligero que Adobe/Macromedia Fireworks por ejemplo. El caso, es que al final, es casi igual de lento en ejecutarse que el propio Adobe Photoshop.

Habrás leído los típicos consejos sobre como hacer que se abra más rápido: instálalo en un disco SSD, usa Linux, o ponte un procesador más rápido y más cantidad de memoria. Es un hecho que GIMP, a igualdad de hardware, se ejecuta más ágil, y se lanza con mayor agilidad en Linux que en Windows. Es normal, al final, su código original, aunque portable, se basa en las bibliotecas GTK nativas de Linux. Por otro lado, un hardware más veloz, ayuda sobre manera, pero no debe ser la solución que estás buscando, o no habrían llegado a leer hasta aquí.

Lo que ralentiza la carga de GIMP, no es el propio GIMP, sino los componentes externos que carga el programa, una vez éste se ha cargado. Es decir, que GIMP se abre muy rápido, pero una vez abierto, es cuando vemos su pantalla de splash, que carga datos, fuentes y plugins.

Precisamente estos tres elementos son los que frenan tanto que se abra. No es un problema de harware o de Windows, sino un fallo de diseño, al que la comunidad parece que sólo es capaz de dar excusas. En mi opinión, ni las fuentes disponibles, ni los plugins, ni los datos (brochas, degradados, patrones, …), son un componente necesario para que se abra el programa. De hecho éstos, podrían cargarse en background una vez tuviéramos la interfaz de usuario disponible. De este modo, cuando fuéramos a necesitar un plugin, probáblemente ya estaría cargado. Todo ello, sin habernos frenado su apertura inicial.

Como esto no es así, hay varias herramientas que nos da GIMP, para que podamos mejorar esto. Si abres el programa con el argumento –verbose, verás que te indica lo que va ocurriendo durante la carga. Como verás, esos frenos, son los 3 puntos que comentaba antes. De nuevo, si abrimos GIMP con el argumento –help-all, verás que nos muestra los argumentos por linea de comandos que acepta:

Uso:
  gimp-2.8.exe [OPCIÓN…] [ARCHIVO|URI…]

Programa de manipulación de imágenes de GNU

Opciones de ayuda:
  -h, --help                          Mostrar opciones de ayuda
  --help-all                          Muestra todas las opciones de ayuda
  --help-gegl                         Show GEGL Options
  --help-gtk                          Mostrar opciones GTK+

GEGL Options
  --babl-tolerance=            babls error tolerance, a value beteen 0.2 and 0.000000001
  --gegl-swap=                   Where GEGL stores it's swap
  --gegl-cache-size=       How much memory to (approximately) use for caching imagery
  --gegl-tile-size=     Default size of tiles in GeglBuffers
  --gegl-chunk-size=pixel count       The count of pixels to compute simultaneously
  --gegl-quality=            The quality of rendering a value between 0.0(fast) and 1.0(reference)
  --gegl-threads=            The number of concurrent processing threads to use

Opciones GTK+
  --class=CLASE                       Clase del programa tal como la usa el gestor de ventanas
  --name=NOMBRE                       Nombre del programa tal como lo usa el gestor de ventanas
  --screen=PANTALLA                   Pantalla [screen] X que usar
  --sync                              No poner en lotes las solicitudes GDI
  --no-wintab                         No usar el API Wintab para el soporte de tablas digitalizadoras
  --ignore-wintab                     Lo mismo que --no-wintab
  --use-wintab                        No usar el API Wintab [predeterminado]
  --max-colors=COLORES                Tamaño de la paleta en modo 8 bits
  --gtk-module=MÓDULOS                Cargar módulos adicionales GTK+
  --gtk-g-fatal-warnings              Hacer todas las advertencias fatales

Opciones de la aplicación:
  -v, --version                       Mostrar información de la versión y salir
  --license                           Mostrar información de la licencia y salir
  --verbose                           Ser más detallado
  -n, --new-instance                  Iniciar una instancia de GIMP nueva
  -a, --as-new                        Abrir imágenes como nuevas
  -i, --no-interface                  Ejecutar sin una interfaz de usuario
  -d, --no-data                       No cargar los pinceles, los degradados, los patrones, …
  -f, --no-fonts                      No cargar ninguna tipografía
  -s, --no-splash                     No mostrar una pantalla de arranque
  --no-shm                            No compartir la memoria entre GIMP y los complementos
  --no-cpu-accel                      No utilizar las funciones de aceleración especiales de la CPU
  --session=                    Usar un archivo «sessionrc» alternativo
  -g, --gimprc=             Usar un archivo de usuario «gimprc» alternativo
  --system-gimprc=          Usar un archivo de sistema «gimprc» alternativo
  -b, --batch=               Instrucción por lotes que ejecutar (puede usarse varias veces)
  --batch-interpreter=          El procedimiento con el que se procesarán las instrucciones en lotes
  -c, --console-messages              Enviar las advertencias a la consola en vez de usar un diálogo
  --pdb-compat-mode=            Modo de compatibilidad PDB (off|on|warn)
  --stack-trace-mode=           Depurar en caso de error (never|query|always)
  --debug-handlers                    Activar los manejadores de señales no fatales de depuración
  --g-fatal-warnings                  Hacer todas las advertencias fatales
  --dump-gimprc                       Sacar un archivo gimprc con la configuración predeterminada
  --display=VISOR                     Visor [display] X que usar

Si no vas a necesitas las fuentes, porque no vayas a usar las herramientas de texto del programa, puedes añadir el modificador –no-fonts, que evitará su listado y su carga, y que es lo que más nos va a acelerar su apertura.

El siguiente beneficio de rendimiento, lo tienes con –no-data, que evitará la carga de brochas, patrones y degradados. Si necesitas de estos datos, o al menos algunos de ellos, siempre puedes evitar la carga de los que no necesites, eliminándolos de \share\gimp\2.0\.

El tercer punto, son los plugins, en especial hay uno, que se llama Script-Fu, y que permite que nos programemos scripts con el leguaje de programación Scheme. Si no lo necesitas, puedes borrarlo, y notarás como ganas velocidad a la hora de abrir GIMP. Está dentro de \lib\gimp\2.0\plug-ins\script-fu.exe.

El último punto, da una leve reducción de tiempo a la hora de abrir GIMP, y es eliminar su pantalla de lanzamiento (splash). Puedes agregar el argumento –no-splash.

Para hacerlo fácil, puedes crearte un acceso directo, que apunte a algo como: “C:\Archivos de programa\GIMP\bin\gimp-2.8.exe” –no-data –no-fonts –no-splash