Glossaire du rendu 3D
Build time : définition en programmation et en rendu 3D
Le build time est le temps qu'un système consacre à « monter » quelque chose avant de l'exécuter. En programmation, c'est le temps de compilation du code. En rendu 3D, c'est l'étape de préparation de la scène : charger la géométrie, assembler les structures d'accélération, calculer les caches de lumière et, dans les moteurs temps réel, construire l'éclairage avant de générer l'image.
Build time au sens général : développement logiciel
Dans le développement logiciel, le build time (temps de build ou temps de compilation) est l'intervalle entre la commande de compilation et la génération de l'exécutable ou du paquet final. Pendant cette période, le compilateur vérifie la syntaxe, résout les dépendances, optimise le code et génère les artefacts. Des outils comme Maven, Gradle, Webpack ou Vite automatisent ce processus.
Le terme s'oppose également à runtime (temps d'exécution). Ce qui est « défini au build time » est figé à la compilation ; ce qui est « défini au runtime » n'est résolu que lorsque le programme s'exécute. Cette même logique vaut pour le rendu : il y a du travail effectué avant le calcul de l'image et du travail effectué pendant celui-ci.
En pratique : Render Fabrik est un studio de visualisation 3D pour promoteurs et architectes partout en Europe, avec un devis sous 24 heures.
Qu'est-ce que le build time en rendu 3D ?
Lorsque vous appuyez sur le bouton de rendu, le moteur ne commence pas immédiatement à dessiner les pixels. Il prépare d'abord la scène. Cette préparation est le build time, que certains programmes affichent sous les mentions « preparing scene », « building BVH », « parsing scene » ou « building light cache ». Les tâches les plus courantes sont :
- Lecture de la scène : charger les modèles, les proxies, les textures et les matériaux en mémoire.
- Structure d'accélération (BVH) : organiser des millions de polygones dans une hiérarchie qui permet au ray tracing de trouver rapidement ce que chaque rayon atteint.
- Displacement et subdivision : générer la géométrie supplémentaire des reliefs et des surfaces lissées.
- Précalculs d'éclairage : irradiance map, light cache ou d'autres caches d'illumination globale, lorsque la méthode choisie les utilise.
- Compilation des shaders : dans les moteurs GPU et temps réel, les matériaux sont convertis en programmes exécutés par la carte graphique.
Build time dans les moteurs temps réel
Dans des moteurs comme Unreal Engine et Unity, le build time prend un sens encore plus concret. La commande « Build Lighting » calcule l'éclairage statique et enregistre le résultat dans des lightmaps, des textures qui stockent la lumière et les ombres déjà prêtes. Ensuite, la scène tourne en temps réel sans refaire ce calcul.
Le build inclut aussi la compilation des shaders, la génération des niveaux de détail (LODs) et l'empaquetage du projet pour la distribution, par exemple dans une visite virtuelle.
Avec les systèmes d'éclairage dynamique, comme Lumen dans Unreal Engine 5, une grande partie de ce précalcul n'est plus obligatoire, ce qui réduit le build time en échange de plus de traitement pendant l'exécution.
Build time, render time et temps total : la différence
| Étape | Ce qui se passe | De quoi cela dépend |
|---|---|---|
| Build time | Préparation de la scène avant le premier pixel | Quantité de géométrie, textures, displacement, caches de lumière |
| Render time | Calcul effectif de l'image | Résolution, nombre d'échantillons, complexité de la lumière et des matériaux |
| Post-production | Ajustements des couleurs, composition et corrections | Nombre de passes de rendu et niveau de finition |
Pour une image fixe, le build time représente généralement une petite partie du temps total. Pour une animation, il peut peser davantage, car il se répète à chaque image lorsque la scène change. C'est pourquoi optimiser la préparation fait la différence pour les vidéos 3D comptant des centaines ou des milliers d'images.
Comment réduire le build time : bonnes pratiques
- Utiliser des proxies : les arbres, les voitures et le mobilier lourd sont chargés comme proxies, à la demande.
- Instancier les objets répétés : cent chaises identiques doivent être des instances d'un seul modèle, et non cent copies indépendantes.
- Limiter le displacement : n'appliquer le relief réel que là où la caméra voit de près ; au loin, une normal map suffit.
- Optimiser les textures : des résolutions adaptées à la distance de la caméra et des formats appropriés réduisent la charge mémoire.
- Réutiliser les caches : dans les animations avec caméra mobile et scène statique, calculez le cache de lumière une seule fois et réutilisez-le.
- Nettoyer la scène : supprimez les objets masqués, les calques oubliés et les matériaux inutilisés.
Une erreur fréquente consiste à essayer d'accélérer le rendu en baissant uniquement la qualité de l'image, alors que le goulot d'étranglement se situe dans la préparation : les scènes mal organisées peuvent passer plus de temps à assembler la structure qu'à calculer la lumière.
Build time dans le travail d'un studio de visualisation
Dans les projets d'architecture, les scènes réunissent bâtiment, environnement, végétation, personnages et véhicules. Bien organiser ces éléments permet de garder le build time sous contrôle et de libérer du temps pour l'essentiel : lumière, matériaux et cadrage. Cela vaut aussi bien pour les images 3D extérieures riches en végétation que pour les expériences en temps réel comme la maquette virtuelle interactive, où le build détermine la fluidité de la navigation.
D'autres termes techniques se trouvent dans le glossaire.
Questions fréquentes
Build time et render time sont-ils la même chose ?
Non. Le build time est la préparation de la scène avant le calcul ; le render time est le calcul de l'image en lui-même. De nombreux programmes affichent les deux séparément dans le journal ou la fenêtre de progression.
Pourquoi mon rendu reste bloqué sur « preparing scene » ?
Généralement à cause d'un excès de géométrie, d'un displacement sur de grandes zones, de textures trop lourdes ou de proxies mal configurés. Vérifier ces points permet souvent de résoudre le problème.
Qu'est-ce que « Build Lighting » dans Unreal Engine ?
C'est la commande qui précalcule l'éclairage statique de la scène et l'enregistre dans les lightmaps. Après le build, la scène tourne en temps réel avec la lumière et les ombres déjà résolues.
Une carte graphique plus puissante réduit-elle le build time ?
Cela aide en partie, principalement pour la compilation des shaders et la construction du BVH dans les moteurs GPU. Mais la lecture des fichiers, la mémoire et l'organisation de la scène pèsent aussi beaucoup.