Le traitement d’image peut nécessiter beaucoup de mémoire vive. GIMP utilise les services du système d’exploitation pour gérer cette mémoire, en particulier la mémoire virtuelle qui est mise en œuvre quand la RAM est pleine. Mais il utilise aussi son propre système de mémoire virtuelle de façon à laisser de la place aux autres applications. Ce système consiste à envoyer les données les plus anciennes sur le disque dur dans un « répertoire d’échange ». Le réglage du cache d’image détermine la quantité de mémoire vive utilisée par les images au-delà de laquelle les données les plus anciennes seront envoyées sur le disque dur, dans le répertoire d’échange.
Une faible valeur fera que, très rapidement, GIMP enverra les données sur le disque, sans utiliser la ressource en mémoire vive et obligeant le disque à tourner beaucoup. Une valeur trop forte handicapera les autres applications utilisées en multi-tâche et elles solliciteront elles aussi le disque dur, et pourra même entraîner un dysfonctionnement par manque de RAM.
Comment choisir une valeur pour la mémoire virtuelle ? Voici quelques trucs pour vous aider :
La méthode la plus simple est de ne pas y penser et d’espérer que la valeur par défaut conviendra. C’était valable quand les ordinateurs avaient peu de RAM, et que la plupart des gens s’essayaient à la création de petites images tout en faisant marcher une ou deux autres applications. Si vous utilisez GIMP simplement pour des logos ou des captures d’écran, ça peut aller.
Si vous avez un ordinateur récent avec quantité de mémoire -- disons 512 Mo ou plus --, une valeur égale à la moitié de la RAM donnera de bons résultats dans la plupart des situations, sans pénaliser les autres applications en multi-tâches. Et même 3/4 de votre RAM serait bien.
Demander à quelqu’un de le faire pour vous, dans le cas d’un ordinateur desservant plusieurs utilisateurs en même temps, ce peut être une bonne idée ; cela évitera que l’administrateur ne se fâche parce que vous abusez de la machine. S’il s’agit de votre machine, ça vous vaudra l’obligation de payer une verre pour le service.
Augmenter un peu la valeur à chaque fois et voir si GIMP augmente sa vitesse sans qu’un manque de mémoire se manifeste. Sachez que le manque de mémoire peut apparaître subitement et que quelques applications peuvent être fermées pour faire de la place.
Faire un petit calcul d’une valeur viable. Vous pourrez toujours utiliser les autres méthodes si ça ne marche pas.
Supposons que vous préfériez la dernière option et que vous vouliez trouver une valeur valable. Vous devez d’abord réunir quelques données sur votre ordinateur : la quantité de RAM installée, la taille du répertoire d’échange (swap) de votre système, la vitesse du disque dur utilisé pour le fichier d’échange du système et le répertoire du fichier d’échange de GIMP. Vous n’avez pas besoin de connaître vraiment le nombre de tours par minute de vos disques, simplement de savoir quel est le plus rapide. Vous pouvez changer le répertoire du fichier d’échange de GIMP dans la rubrique Dossiers des Préférences.
Ensuite, vous devez déterminer la quantité de mémoire nécessaire pour les applications que vous voulez faire tourner en même temps que GIMP. Démarrez toutes vos applications, sauf GIMP, effectuez quelque travail avec, et voyez le taux d’occupation de la mémoire. Sous Linux, les commandes « free » et « top » vous fournissent ces données, en anglais. Avec free, notez la valeur free "-/+ buffers/cache" et le free swap.
C’est maintenant le temps de la décision et d’un peu de math. L’idée de base est de décider si vous voulez baser tout le cache d’image en RAM ou le partager entre la RAM et le fichier d’échange du système :
Vous changez souvent d’application ? Ou vous travaillez longtemps sur GIMP ? Alors vous pouvez considérer que le partage entre la RAM et le fichier d’échange du système (OS swap) est valable. Sinon, vous allez devoir suivre les étapes suivantes (si vous n’êtes pas sûr de vous, passez-les). Si vous êtes certain que vous changez très souvent d’application, ne comptez que la free RAM et passez à la décision finale.
Le fichier d’échange du système d’exploitation réside sur le même disque physique que le fichier d’échange de GIMP ? Alors additionnez RAM et OS swap. Sinon, passez à l’étape suivante.
Le disque portant le fichier d’échange du système est moins rapide que le disque portant le fichier d’échange de GIMP ? Alors ne prenez que la free RAM. Sinon, additionnez free RAM et OS swap.
Vous avez maintenant un nombre, qu’il s’agisse seulement de la RAM libre ou de la RAM libre plus le fichier d’échange libre du système. Réduisez-le un peu par sécurité : c’est le cache d’image qu’il vous faut.
Comme vous le voyez, tout tourne autour de la question des ressources libres et de savoir s’il vaut le coup d’utiliser l’OS swap ou si ça ne va pas causer encore plus de problèmes.
Il y a néanmoins de bonnes raisons d’ajuster cette valeur. La principale est une modification des capacités de votre ordinateur qui peuvent vous permettre d’améliorer la vitesse de GIMP en multi-tâches.
Une autre raison est un GIMP trop lent, tandis que les autres applications en multi-tâche fonctionnent normalement. Cela signifie que GIMP pourrait être amélioré sans aggraver la situation des autres applications. L’inverse signifierait que GIMP est trop gourmand.
Si vous avez décidé de n’utiliser que la RAM et que GIMP est lent, essayez d’augmenter un peu la valeur mais sans jamais utiliser aussi tout le free swap. S’il s’agit au contraire d’utiliser la RAM et l’OS swap, alors vous devez réduire le montant de RAM disponible pour GIMP.
Une autre astuce consiste à placer le répertoire d’échange sur un disque très rapide, ou sur un disque différent de celui où se trouvent la majorité de vos fichiers. Répartir le fichier d’échange du système sur plusieurs disques est aussi, en général, une bonne façon d’accélérer les choses. Et bien sûr, vous pouvez acheter plus de mémoire ou éviter d’utiliser trop de programmes en même temps.
Vous pouvez aussi faire le point sur le besoin en mémoire de vos images, et sur le nombre d’Annulations que vous utilisez. C’est une autre façon de choisir une valeur de cache d’image. Mais ce n’est valable que si vous utilisez à peu près toujours la même taille d’image.