Acelerar la carga de GIMP

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


Acelerar la carga de GIMP

22 comentarios en “Acelerar la carga de GIMP”

  1. genial Guti, muy util y muy bien explicado. Yo me confieso otro incondicial de fireworks, por eso no entiendo, habida cuenta de lo que dices que sueles usar en gimp: ¿Por que no continuas usando fireworks?

  2. Javier Gutiérrez Chamorro (Guti)

    Fue una combinación de factores. Primero que sólo tenía el Firefox como parte de Adobe Creative Collection CS6. Como me actualicé a la CC 2014, que ya no trae Firefox, me daba un poco de tedio buscar el DVD de la vieja e instalar sólo Firefox. Descubrí también, que se colgaba con algunos archivos JPEG, y como no había nuevas versiones, me frustré. Además, hace algún tiempo empecé a habituarme a GIMP, primero en Linux, y luego en el PC secundario de casa, donde no me apetecía instalar el CS6 sólo para Firefox.

    Total, que GIMP, cumple lo que hacía con Firefox y todavía más. Por supuesto ideológicamente, es libre, así que me encaja más.

  3. Bueno lo probé, pero no me funcionó directamente el target como está escrito, lo modifique para que tenga los dos guiones de esta forma y sí, de verdad que se reduce muchísimo el tiempo de arranque

    “C:\Archivos de programa\GIMP\bin\gimp-2.8.exe” –no-data –-no-fonts –-no-splash

  4. En el comentario anterior el modificador –no-data también lleva dos guiones al inicio pero no salió bien, seria de esta manera

    “C:\Archivos de programa\GIMP\bin\gimp-2.8.exe” –no-data –-no-fonts –-no-splash

  5. Javier Gutiérrez Chamorro (Guti)

    Estás en lo cierto Robinson. Por alguna razón el blog ha convertido los dos guiones ( — ) a un guión simple ( – ). Disculpa. Para hacerlo más fácil, se pueden usar también los modificadores abreviados, que van precedidos sólo un guión, es decir:
    –no-data: -d
    –no-fonts: -f
    –no-splash: -s

  6. Javier Gutiérrez Chamorro (Guti)

    Es algo en lo que no han pensado bianamaran, así que no hay opción. Lo único, crearte diferentes accesos directos, dependiendo de si vas a necesitar fuentes o no. Se ha sugerido multitud de veces, GIMP debería cargar en segundo plano una vez arrancado, fuentes, plugins, texturas etcétera. Así, se abriría rápido, mientras que a los pocos segundos todas estas funciones estarían disponibles.

    Sin embargo nunca lo implementan. Ante el deconocimiento, no parece que sea complicado, pero lo cierto es que ni Fireworks ni Photoshop lo hacen. Todos cargan esos datos durante el arranque.

  7. ya, pero si tienes un programa que da la opcion de no cargar esos elementos, me parece bastante cutre no permitir una carga a posteriori. O sea, tienes que cerrarlo y volver a abrirlo… En fin, tipicas soluciones de los linux-programadores. Por cosas como esas tiene gnu tan mala fama entre el usuario corriente. Como cuando sacaban un escritorio y decian: “puede fallar algo pero no sabemos el que”, no digo que no pongan empeño pero joder, no des una opcion y lo hagas a medias.

  8. Javier Gutiérrez Chamorro (Guti)

    Son de esas cosas “Linuxeras” como bien dices bianamaran. Photoshop también tiene ese problema. Es decir, tarda muchísimo en arrancar, porque durante el arranque, carga fuentes, y plugins. En GIMP ocurre lo mismo, así que decidieron implementar un switch para omitir la carga, algo que en Adobe no contemplaron, porque no es una solución sino un remiendo.

  9. Gracias tío.
    Tampoco lo uso mucho, pero sí que me ralentizaba cuando iba a editar o imprimir alguna imágen. He desactivado las extensiones y entra casi instantaneamente.

  10. Javier Gutiérrez Chamorro (Guti)

    Me alegra que te haya servido Ender. Precisamente cuando se usa puntualmente, es cuando más necesitas que se abra rápido, y cuando menos necesitas extensiones y cosas raras.

  11. Saludos,

    – No se porque yo leo en los comentarios FireFox en llugar de FireWorks O_o?
    – Bueno, como soy bastante fastidioso solo decir que:
    — Gimp tarda x5 veces más que Photoshop CS6, el CC 2014 tarda igual que Gimp, las nuevas versiones 2015, 2016 y 2017 tardan ligeramente más que el CS6.
    — En el primer arranque, tanto Gimp como Photoshop tardan casi igual, pero para los siguientes Gimp se tarda casi lo mismo y Photoshop carga en unos segundos.
    — Yo hago testeos en PC de gama baja/media/alta y ahí se ve realmente las diferencias.
    — Aún conservo una version 2.6 de Gimp con apenas 15MB, no sé que paso luego que “engordó” hasta los 80MB que pesa ahora XD.
    — Debo decir que abandoné Gimp por el cambió anterior + a veces se colgaba y perdía mi trabajo x_x + excesivo tiempo de carga desde que “engordó” + efectos

  12. Javier Gutiérrez Chamorro (Guti)

    Yo estuve a punto de abandonar GIMP también EdSon, hasta que investigando sus argumentos por linea de comandos, conseguí eliminarle aquello que no necesitaba, y entonces ahora carga muy rápido. De hecho tengo varios accesos directos creados, dependiendo de las funciones que vaya a necesitar.

    De Photoshop, cada vez me molesta más su precio, o sus cracks. Para el uso puntual y básico que le doy, simplemente no vale la pena el precio, o el esfuerzo. Fireworks, me encantaba, pero estando abandonado, ahora tiene muchos problemas de estabilidad.

    La pena, es que no haya más alternativas en el procesado de imagen que GIMP, y que GIMP no mejore en cuanto a rendimiento al ritmo que los usuarios demandamos.

  13. No me llegan notificaciones de nuevos mensajes T_T, tengo que anotarme los links de las entradas para visitarlas de vez en cuando para ver si hay novedades, todo a mano.

    Correcto, yo también utilizaba GIMP para pequeñas cosas: Escanear, mejorar colores, contraste, luminosidad, redimensionar, recortar, para esto excelente. Por cierto muy buena la forma que tiene GIMP de mostrar los límites de selección, son muy fáciles de manipular, aunque en Photoshop ya me acostumbré a darle a las teclas adecuadas y terminó superando a GIMP XD.

    El problema vino luego, cuando ya necesitaba crear los famosos efectos de capas y de texto manteniendolos re-editables, aqui lo intentaba hacer con GIMP, yo muy concentrado trabajando y de pronto GIMP de cierra @_@, jeje, se que hay que guardar a cada rato, pero si uno está concentrado se le pasa.

    Supongo que siempre hay gente que tiende a manifestar su rebeldía informática (así como yo) diciéndole NO a Windows, NO al ShareWare, SI al OpenSource, SI al FreeWare, etc. Como a veces hago diseños en Offimática o Gráfico Publicitario, me plantee la idea de utilizar LibreOffice, GIMP y InkScape en pro del FreeWare/OpenSource para reemplazar MSOffice, Photoshop y Corel Draw que son los que más “fluyen” en mi región. Linux no, porque no podía ni jugar XD. Hay que tener una fuerza de voluntad férrea para mantenerse rebelde, jeje yo al final sucumbí a la “Usabilidad Estandar Práctica”, que puedo decir, soy débil T_T. Ir a la guerra con tu navaja favorita mientras que el enemigo utiliza armamento ilegal no suele ser muy práctico XD.

  14. Javier Gutiérrez Chamorro (Guti)

    Así es EdSon. El software libre, aún requiere cierto esfuerzo, que no es necesario en el comercial. Pero en mi caso, con GIMP, tengo suficiente, al final, sólo redimensiono, cambio de formato, recorto, y ajusto niveles. Nada más.

  15. Muy útil, además si que hay una forma de cargar las tipografías a posterioridad, aunque también se pega un rato, pero es preferible a cerrarlo y tenerlo que abrir. Basta con entrar en la herramienta de texto y pulsar en el botón de tipografías, despliega una ventana en cuya base hay un botón de recarga, basta con pulsarlo, esperar un rato y tienes cargadas las tipografías. Espero que sea útil. Un saludo.

  16. Javier Gutiérrez Chamorro (Guti)

    Muy bueno el truco Ana M. Gil. Está algo escondido, y me ha costado de encontrar, pero funciona perfectamente. Así que podemos cargar GIMP con “–no-fonts”, y de esta forma cargar las fuentes cuando nos hagan falta. Tienes razón en que tardará mucho, lo mismo que haría al abrirlo. Y que mientras las está cargando no podemos hacer nada con él, pero sí, es mejor que cerrarlo y volverlo a abrir.

    Doy los pasos detallados. En la barra de herramientas, escogemos la “Herramienta de texto” (T). Pulsamos sobre el selector de tipografía (Aa). Le damos a “Abrir el diálogo de selección de tipografía”, y entonces, pulsamos sobre el botón de recargar que aparece abajo de la lista.

  17. Javier Gutiérrez Chamorro (Guti)

    Claro tobi, verbose significa verboso en español, es decir, que GIMP genere más mensajes. Para ello solamente debes agregar el argumento “–verbose” en su linea de comandos, bien desde el Ejecutar de Windows, desde un acceso directo, o desde una consola de comandos.

Deja un comentario