Dans ce court tutoriel, je vais vous présenter la fonctionnalité Texture Cache pour Cycles, introduite dans Blender 5.2. Elle offre une meilleure gestion de la mémoire pendant le rendu, ce qui permet de réaliser le rendu de scènes contenant un très grand nombre de textures.


La version vidéo de ce tutoriel n’est actuellement pas disponible dans cette langue. Vous pouvez regarder ci-dessous la version en anglais avec des sous-titres ; sous la vidéo, vous trouverez la transcription traduite en français.


Transcription de la vidéo

Bonjour à tous ! Dans ce court tutoriel, je vais vous présenter la fonctionnalité Texture Cache pour Cycles, introduite dans Blender 5.2. Elle offre une meilleure gestion de la mémoire pendant le rendu, ce qui permet de réaliser le rendu de scènes contenant un très grand nombre de textures.

Pour vous montrer son fonctionnement avec un exemple concret, j'utilise la scène complète de l'école maternelle que j'ai créée et que j'ai également utilisée dans d'autres tutoriels. Dans ces vidéos, je devais toujours conserver uniquement la partie de l'environnement dont j'avais besoin, comme une salle de classe, le théâtre ou l'aire de jeux, car le projet complet, textures comprises, occupe actuellement 4 Go d'espace disque. Blender ne pouvait effectuer le rendu d'aucun plan, même d'une zone contenant relativement peu de textures comme la cour de récréation. À la place, il affichait le message d'erreur : « System is out of GPU and shared host memory. » Voyons comment utiliser Texture Cache pour résoudre ce problème.

Avant de poursuivre, je voudrais vous rappeler que, comme pour beaucoup de mes autres vidéos, une version écrite de ce tutoriel ainsi que des ressources complémentaires sont disponibles sur mon site web, y compris des traductions dans d'autres langues, via le lien figurant dans la description.

L'option Texture Cache se trouve dans le panneau Render > Performance du Properties Editor. Sur mon système, elle était activée par défaut. La documentation explique que, lorsqu'elle est activée, Blender génère des versions optimisées de vos images au format TX, les enregistre sur le disque et les utilise pendant le rendu.

L'emplacement où ces images sont stockées peut être défini dans la section Data Render Texture Cache de l'onglet File Paths du Preferences Editor. Si vous laissez ce champ vide, les textures TX seront enregistrées dans un sous-dossier situé dans le répertoire contenant les textures d'origine.

Pour le moment, comme les images sont intégrées au fichier Blender et n'existent pas sous forme de fichiers séparés sur le disque, Texture Cache ne trouve aucune image à convertir au format TX. Blender affiche donc le message : « No image files found to generate TX files. »

La première chose à faire consiste à extraire les textures du fichier Blender afin de les enregistrer séparément sur le disque. Je le fais avec Unpack Resources, accessible via File > External Data, après avoir désactivé Automatically Pack Resources dans le même menu. Plus précisément, je choisis l'option Write files to current directory, overwrite existing files, qui crée un dossier Textures à côté du fichier Blender du projet. Blender m'indique également que le projet contient 745 fichiers. Les images de texture d'origine sont extraites et enregistrées dans ce nouveau dossier, mais pour appliquer ces modifications au projet, je dois enregistrer le fichier Blender. Après l'enregistrement, la taille du fichier est réduite de moitié, car environ 2 Go de sa taille initiale correspondaient aux textures intégrées.

À ce stade, je dois préciser que, dans mon cas, Blender est désormais capable d'effectuer le rendu du projet même sans Texture Cache, car le simple fait d'extraire les textures sur le disque suffit à rendre la scène à nouveau calculable. C'est la première partie du titre de ce tutoriel : utiliser Unpack pour résoudre les problèmes de mémoire insuffisante causés par les textures. Toutefois, certains projets continuent à manquer de mémoire même après cette opération et d'autres techniques d'optimisation. Voyons donc comment Texture Cache peut aider dans ces situations.

Maintenant que les textures sont enregistrées sur le disque, je clique sur Generate dans la section Texture Cache pour laisser Blender créer les fichiers TX. Ces fichiers sont générés rapidement et enregistrés dans un sous-dossier du répertoire Textures.

Si je lance maintenant le rendu, Blender chargera les textures depuis le dossier TX. Dans mon cas, le rendu a même été plus rapide qu'auparavant, même si cela peut aussi être dû à d'autres optimisations, comme Persistent Data dans la section Performance. Texture Cache est avant tout conçu pour réduire l'utilisation de la mémoire. Son impact sur le temps de rendu peut varier considérablement selon la scène, le matériel et les autres paramètres de rendu.

À ce stade, vous pourriez faire remarquer que nous avons tout de même passé quelques secondes à générer les textures TX du projet, et que ce temps devrait donc être ajouté au temps total de rendu. C'est une remarque tout à fait valable. Cependant, outre le fait que, sans Texture Cache, le rendu ne pouvait parfois même pas démarrer, il est important de se rappeler que les textures TX ne doivent être générées qu'une seule fois. Elles restent ensuite enregistrées sur le disque et sont réutilisées pour les rendus suivants, y compris pour le rendu d'autres zones du projet. À l'écran, je suis passé à une autre partie de la scène, j'ai lancé un rendu et celui-ci s'est terminé en 51 secondes. Pour moi, c'est une amélioration majeure.

L'inconvénient de cette méthode de travail est l'espace disque occupé par les textures TX. Dans cet exemple, elles utilisent 3,21 Go, contre un peu moins de 2 Go pour les textures d'origine, et les deux ensembles de fichiers doivent être conservés. C'est le compromis voulu par les développeurs : une consommation de mémoire plus faible pendant le rendu en échange d'un espace disque plus important. Personnellement, cela me convient parfaitement si cela me permet d'effectuer le rendu de toute la scène de manière fiable et en beaucoup moins de temps.

C'est tout pour ce tutoriel ! Si vous l'avez trouvé utile, n'hésitez pas à laisser un Like et à vous abonner à la chaîne. À la prochaine !

Rechercher dans les Tutoriels

Saisissez une expression ou plusieurs mots-clés séparés par des virgules.

Ce site est personnel et ne constitue pas un canal de vente. Les pages consacrées aux modèles 3D documentent une sélection de mes travaux et ne contiennent ni offres, ni prix, ni procédures d’achat, ni liens commerciaux. Je n’accepte actuellement aucune demande de travaux personnalisés, de conseil ou d’autres collaborations professionnelles.


POLITIQUE GENERALE DE CONFIDENTIALITE ET D'UTILISATION DES COOKIES