Woordenlijst 3D visualisatie

Build time: wat is het bij programmeren en 3D-render?

Build time is de tijd die een systeem nodig heeft om iets "op te bouwen" voordat het wordt uitgevoerd. Bij programmeren is dat de compileertijd van de code. Bij 3D-rendering is het de voorbereidingsfase van de scène: geometrie laden, acceleratiestructuren opbouwen, lichtcaches berekenen en bij realtime engines de belichting opbouwen voordat de afbeelding wordt gegenereerd.

Build time in algemene zin: softwareontwikkeling

Bij softwareontwikkeling is build time (buildtijd of compileertijd) de periode tussen het compileercommando en het genereren van de executable of het uiteindelijke pakket. In die periode controleert de compiler de syntaxis, lost afhankelijkheden op, optimaliseert de code en genereert de artefacten. Tools zoals Maven, Gradle, Webpack of Vite automatiseren dit proces.

De term staat ook tegenover runtime (uitvoeringstijd). Iets dat "in build time is gedefinieerd" wordt bij compilatie vastgelegd; iets dat "in runtime is gedefinieerd" wordt pas opgelost wanneer het programma draait. Dezelfde logica geldt voor rendering: er is werk vóór de beeldberekening en werk tijdens de beeldberekening.

In de praktijk: Render Fabrik is een studio voor 3D visualisatie voor projectontwikkelaars en architecten in heel Europa, met een offerte binnen 24 uur.

Wat is build time bij 3D-rendering?

Als je op de renderknop drukt, begint de engine niet meteen pixels te berekenen. Eerst bereidt hij de scène voor. Die voorbereiding is de build time, die sommige programma's weergeven als "preparing scene", "building BVH", "parsing scene" of "building light cache". De meest voorkomende taken zijn:

  • Scène inlezen: modellen, proxies, texturen en materialen in het geheugen laden.
  • Acceleratiestructuur (BVH): miljoenen polygonen ordenen in een hiërarchie waarmee ray tracing snel kan bepalen wat elke straal raakt.
  • Displacement en onderverdeling: extra geometrie genereren voor reliëfs en gladde oppervlakken.
  • Voorberekeningen voor belichting: irradiance map, light cache of andere caches voor globale verlichting, als de gekozen methode die gebruikt.
  • Shadercompilatie: bij GPU-engines en realtime engines worden materialen omgezet in programma's die de videokaart uitvoert.

Build time in realtime-engines

In engines zoals Unreal Engine en Unity heeft build time een nog concretere betekenis. Het commando "Build Lighting" berekent de statische belichting en schrijft het resultaat naar lightmaps, texturen die licht en schaduw kant-en-klaar opslaan. Daarna draait de scène in realtime zonder die berekening opnieuw te doen. Ook shadercompilatie, het genereren van niveaus van detail (LOD's) en het verpakken van het project voor distributie, bijvoorbeeld voor een interactieve tour, horen bij de build.

Met dynamische belichtingssystemen zoals Lumen in Unreal Engine 5 is veel van die voorberekening niet meer verplicht, wat de build time verlaagt in ruil voor meer verwerking tijdens de uitvoering.

Build time, render time en totale tijd: het verschil

FaseWat gebeurt erWaar hangt het van af
Build timeVoorbereiding van de scène vóór de eerste pixelHoeveelheid geometrie, texturen, displacement, lichtcaches
Render timeDaadwerkelijke berekening van het beeldResolutie, aantal samples, complexiteit van licht en materialen
PostproductieKleuraanpassingen, compositing en correctiesAantal renderpasses en afwerkingsniveau

Bij een stilstaand beeld is de build time meestal een klein deel van het totaal. Bij een animatie kan hij zwaarder wegen, omdat hij zich bij elk frame herhaalt wanneer de scène verandert. Daarom maakt het optimaliseren van de voorbereiding verschil bij 3D-video's met honderden of duizenden frames.

Hoe verlaag je de build time: best practices

  1. Gebruik proxies: zware bomen, auto's en meubilair komen als proxies binnen en worden on-demand geladen.
  2. Gebruik instanties voor herhaalde objecten: honderd dezelfde stoelen moeten instanties zijn van één model, geen honderd losse kopieën.
  3. Beperk displacement: pas echt reliëf alleen toe waar de camera dichtbij kijkt; in de verte volstaat een normal map.
  4. Optimaliseer texturen: resoluties die passen bij de camera-afstand en geschikte formaten verminderen de geheugenbelasting.
  5. Hergebruik caches: bereken bij animaties met bewegende camera en statische scène de lichtcache één keer en gebruik hem opnieuw.
  6. Ruim de scène op: verwijder verborgen objecten, vergeten lagen en ongebruikte materialen.

Een veelgemaakte fout is het renderen alleen te versnellen door de beeldkwaliteit te verlagen, terwijl het knelpunt in de voorbereiding zit: slecht georganiseerde scènes kunnen meer tijd besteden aan het opbouwen van de structuur dan aan het berekenen van het licht.

Build time in het werk van een visualisatiestudio

Bij architectuurprojecten bevatten scènes gebouw, omgeving, vegetatie, mensen en voertuigen. Door deze elementen goed te organiseren blijft de build time onder controle en komt er tijd vrij voor wat telt: licht, materialen en compositie. Dat geldt zowel voor externe 3D-visualisaties met veel vegetatie als voor realtime ervaringen zoals de interactieve virtuele maquette, waarbij de build bepaalt hoe soepel de navigatie verloopt. Andere technische termen vind je in het glossarium.

Veelgestelde vragen

Zijn build time en render time hetzelfde?

Nee. Build time is de voorbereiding van de scène vóór de berekening; render time is de berekening van het beeld zelf. Veel programma's tonen beide afzonderlijk in het logboek of het voortgangsvenster.

Waarom blijft mijn render hangen op "preparing scene"?

Meestal door een teveel aan geometrie, displacement op grote oppervlakken, te zware texturen of verkeerd ingestelde proxies. Deze punten nakijken lost het vaak op.

Wat is "Build Lighting" in Unreal Engine?

Dat is het commando dat de statische belichting van de scène voorberekent en in lightmaps opslaat. Na de build draait de scène in realtime met licht en schaduw al opgelost.

Verlaagt een krachtigere videokaart de build time?

Gedeeltelijk, vooral bij shadercompilatie en het opbouwen van BVH in GPU-engines. Maar het lezen van bestanden, geheugen en scène-organisatie wegen ook zwaar.

Vraag een offerte aan