Considérations sur la performance

Optimisation de la performance de rendu

“” est un vieil adage, mais il se peut que vous vous demandiez pourquoi votre rendu prend autant de temps ou pire, se plante au mi-chemin ! Eh bien, il y a beaucoup à dire et beaucoup que vous pouvez faire pour accélérer le rendu ou faire qu’un rendu compliqué se termine. Aussi, c’est possible de faire le rendu d’une scène très compliquée sur un PC médiocre en étant “futé en rendu”. Ci-après une liste “top ten” des choses à faire et à ne pas faire pour accélérer le rendu ou même éviter les plantages pendant le rendu de scène. Certaines options peut diminuer la qualité de votre rendu, mais pour des rendus de brouillon vous vous en fichez.

Si vous obtenez le message “Malloc returns nil”, qui signifie en anglais simple que le gestionnaire de mémoire a essayé d’obtenir plus de mémoire physique pour Blender mais est revenu les mains vides. Cela signifie que vous n’avez pas assez de mémoire disponible pour faire le rendu de la scène, et Blender ne peut pas continuer. Vous devrez faire une ou plusieurs tâches suivantes sur cette page pour pouvoir faire un rendu.

Améliorations du matériel

  • Installez plus de mémoire système.

  • Upgrade your CPU to a multi-core/multiprocessor.
  • Upgrade your OpenGL video drivers.
  • Disposer de la mémoire plus rapide, jusqu’à la limite de la carte-mère de votre ordinateur.

  • Utiliser ou installer une ferme de rendu en utilisant tous les ordinateurs disponibles à votre domicile, ou utilisez une ferme de rendu.

Configuration du systéme d’exploitation

  • Augmenter la priorité de traitement de Blender via votre OS.

  • Increase your swap file space used by the OS for memory swapping, also called virtual memory pagefile size, up to the size of your physical memory.
  • Use a system-monitor to check if any other processes using significant CPU or RAM can be closed.
  • Faire le rendu en “mode d’arrière-plan” (depuis la ligne de commande), économise de la mémoire.

Réglages de Blender

  • Augmenter la MEM Cache Limit dans les User Preferences, onglet System & OpenGL.

  • Switch to an Orthographic camera, and render your own “parts” of the scene as separate images, and then paste those parts together in GIMP. An old trick in making your own panorama with a real camera is to take three or so pictures of a very wide (beach sunset) scene, where you take one picture, rotate to the right, snap another, then another, and when you get the pictures developed, you overlap them to make a very wide landscape image. Do the same in Blender: render out one shot to a file, then move the camera to look at a different area of the scene, and render that shot. Each shot will be of a smaller area and thus take in fewer polygons/faces. Be sure that when you position your camera that you snap overlapping shots, so that you can then match them up. If you do not want to use GIMP, you can use compositing nodes and the Translate node to match them up in Blender.
  • Minimize the render window (and the Blender window, if the UV/image editor is used). ATI users report dramatic speedup on a per frame basis, which adds up over the frame range.
  • Utiliser le script Big Render pour faire le rendu de sous-sections de l’image entière, et ensuite les coller ensemble.

Scène et objets spécifiques

  1. Supprimer les lampes, ou les déplacer sur des calques non rendus, ou les lier aux calques.

  2. Désactiver certaines ombres de lampes, en n’utilisant qu’une ou deux lampes sun pour jeter des ombres. Quelques lumières “shadows only” vont permettre un rendu plus rapide que chaque lampe avec activation des ombres.

  3. Use Buffer Shadows rather than ray-traced Shadows.
  4. Précalculer vos ombres en utilisant Render Baking Full Render bake sur les surfaces qui ne bougent pas. Utiliser cette texture pour ce maillage, puis désactiver lesombres pour ce matériau.

  5. Simplifier les maillages (supprimer des polygones). Plus vous avez de sommets, plus cela prendra du temps pour faire le rendu.

  6. Supprimer les Doubles, ou utiliser la fonction d’édition de maillage Decimator.

  7. Supprimer les modificateurs Subdivision Surface et Multiresolution.

  8. Supprimer l’arrière des maillages (en supprimant la géométrie invisible).

  9. Faire le rendu de quelques objets seulement à la fois ; au début de votre projet, faire le rendu des objets en arrière-plan qui ne changeront pas et se trouveront toujours en arrière-plan.

  10. Put the buildings on another layer, and, through render layers, do not render them. Then composite them back in later.
  11. Rendre la caméra statique de sorte que vous pouvez mieux appliquer les deux idées ci-dessus.

  12. Éviter l’utilisation d’Area lights.

  13. Rendre les matériaux Shadeless.

  14. Render Bake AO and textures, and then make those materials Shadeless.
  15. Diminuer la Clip distance pour les lumières spot.

  16. Diminuer la Clip distance pour la caméra.

  17. Turn off world AO.
  18. Turn off Material SSS.
  19. Utiliser des textures image plus petites. Une image 256x256 prend seulement 1% de la mémoire d’une image 2k, souvent sans perte de qualité dans le rendu ultime.

  20. Réduire les Subdivision Surfaces. Chaque niveau quadruple (4x) le nombre de faces du niveau précédent.

  21. Réduire Multires.

  22. Make a matte render of background objects, like buildings, and put the image of them on a billboard in the scene instead of the object themselves. This will reduce vertex/face count.
  23. Si vous avez beaucoup d’instances liées d’un objet, utiliser DupliFaces, instanciés. Si vous en avez 100, Blender n’enregistre que la géométrie for 1 (les instances elles-mêmes ne prennent qu’une petite quantité de mémoire).

Réglages de rendu

Panneau Output
  • Désactiver le rendu Edge.

  • Save Buffers.
  • Faire le rendu dans un éditeur UV/Image, pas dans une Fenêtre de rendu pop-up.

  • Utiliser les Threads sur un CPU multi-core (avec des Portions multiples).

  • Diminuer le nombre de frames de l’animation (et utiliser un framerate plus bas pour la même durée d’animation). Faire le rendu de 30 frames à 10 frames par seconde pour une animation de 3 secondes, à la place de 75 frames à 25 frames par seconde.

Panneau Render Layers
  • Faire uniquement le rendu des calques intéressants.

  • Render with all lights set to one simple spot (enter its name in the Light: field).
  • Render with one material override (enter its name in the Mat: field).
  • Désactiver les passes de rendu non nécessaires, telles que Z, ou faire uniquement le rendu pour la passe intéressante telle que Diffuse.

Panneau Shading
  • Désactiver Shadows.

  • Désactiver Environment Mapping.

  • Désactiver Panoramic Rendering.

  • Désactiver Raytracing.

  • Désactiver SSS Subsurface Scattering.

  • Désactiver ou baisser oversampling/aliasing OSA.

  • Désactiver ou baisser Motion Blur.

  • Faire le rendu par portions. Cela va vaous permettre de faire le rendu d’images immenses sur un PC faible. Sur un PC multi-core, un thread sera aussi assigné à chaque portion.

  • Augmenter la résolution de l’octree.

  • Faire le rendu à une taille en pourcentage de votre résolution finale (comme 25%).

  • Désactiver le rendu Fields.

  • Utiliser le rendu Border pour faire le rendu d’un sous-ensemble de l’image entière.

Panneau Bake
  • Bake Full Render creates a UV Texture that colors the objects based on materials, and then uses that UV Texture shadeless instead of the material.
  • Bake Ambient Occlusion only.
  • Précalculer les textures des objets.

  • Baking Normals or Displacement does not speed up render time, and are used for other things.
Panneau Format
  • Faire le rendu à une résolution plus basse. Des images plus petites prennent moins de temps pour faire le rendu.

  • Choisir un CODEC plus rapide ou certains réglages des CODEC.

  • Faire le rendu en blanc et noir (bouton BW).

  • Si FFMPEG est utilisé, ne pas activer Multiplex audio.

  • Si FFMPEG est utilisé, Autosplit Output (bouton du panneau Video).

  • Faire le rendu seulement en mode RVB si vous voulez simplement de la couleur, le canal A (bouton RGBA) prend plus de mémoire et n’est pas utilisé lors de l’enregistrement d’un fichier film.

Compositing multipasses

Une autre stratégie qui peut être mise en œuvre pour répondre au problème de durées des (re-)rendus est de structurer votre flux de travail de sorte qu une utilisation agressive du compositiong, comme décrit dans la section “Post-production”. Dans cette approche, vous réduisez chaque tir en composants qui peuvent être rendus séparément, puis vous combinez ces éléments rendus séparément pour obtenir le clic fini. Par exemple :

  • Si la caméra ne bouge pas, alors l’arrière-plan non plus : une seule frame est nécessaire. (la même chose est vraie pour tout objet non mobile à dans la frame.) Ces éléments individuels, ayant été générés une plus, peuvent être réutilisés autant de fois que nécessaire sur autant de frames que nécessaire.

  • Les Ombres et les peuvent être capturés séparément des objets qui sont illuminés ou ombrées, telles que l’intensité, la couleur, et la profondeur de l’effet peuvent être ajustées plus tard sans refaire de rendu.

  • Start by using lights that do not cast shadows (shadow calculations are big time-killers). Then, use “shadow-only” lights (which cast shadows, but do not cast light) to create shadows only where you judge that they are actually necessary (it is very often the case that only a few of the shadows which could exist in the scene actually matter, and that the rest of them simply will not be noticed).
  • Les situation d’éclairage délicates peuvent être évitées en manipulant les objets séparément, puis en combuinnt les clips rendus individuellement et “ajuster” le résultat.

This is a very familiar idea. Modern sound recordings, for example, always use a “multi-track” approach. Individual components of the song are captured separately and in isolation, then the components are “mixed” together. The “final mix” then goes through additional processing stages, called mastering, to produce the finished product(s) (in fact, the features and design of modern sound-processing software are directly comparable to that of Blender’s node-based compositor).

Il y a des avantages convaincants pour cette approche :

  • Si quelque chose n’est “pas tout à fait correct”, vous ne devez pas nécessairement repartir de zéro.

  • In practice, the deadline-killer is re- rendering, which ordinarily must be done (in its entirety) just because “‘one little thing’ about the shot is wrong.” Compositing helps to avoid this, because (ideally...) only the specific parts that are found to be in error must be repeated (or, maybe, the error can be blocked out with a “garbage matte” and a corrected version can be inserted in its place).
  • Parfois c’est presque ce que vous voulez, mais maintenant vous aimeriez ajouter ceci et peut-être enlever cela.” une approche basée sur le compositing vous permet de faire simplement cela, et de plus, de faire ainsi de manière non destructive. En d’autres termes, en ayant généré l‘“ajout” (ou le “masque”) comme canal d’information distinct, vous pouvez maintenant régler finement son influence dans le “mix” global, ou même changer d’avis et le supprimer complètement, et ce sans rien altérer définitivement.

  • By and large, these stages work two- dimensionally, manipulating what is by that time

    “un raster bitmap avec information R, V, B, Alpha et profondeur Z”, ainsi celles-ci sont systématiquement rapides.

  • Puisque chaque tâche discrète de rendu a été simplifiée, l’ordinateur va les accomplir avec beaucoup moins de ressources.

  • Les tâches peuvent être distribuées entre différents ordinateurs.

  • “Après tout, il n’est pas nécessaire que la scène soit réellement physiquement parfait pour être convaincant”. Une approche basée sur le compositing vous permet de tirer pleinement avantage de cela. Vous pouvez focaliser votre attention (et celle de Blender) sur ces aspects spécifiques de la scène qui vont faire réellement une différence. Il est possible d’économiser un temps considérable en choisissant consciencieusement d’exclure les aspects moins importants qui (bien que “techniquement corrects”) probablement ne se feront pas remarquer.

Bien sûr, cette approche n’est pas sans ses propres compromis. Vous devez imaginer un système fonctionnel de gestion d’actifs pour garder une trace exacte du matériel dont vous disposez, pour connaître son emplacement, s’il est à jour, et exactement comment le recréer. Vous devez comprendre et utiliser les fonctions de “liaison de bibliothèques” de Blender pour vous permettre de vous retrouver dans les objets, nœuds, matériaux, textures et scènes dans une collection d’autres fichiers soigneusement organisée. Vous avez besoin d’avoir une notion très claire, en avance, de quoi exactement sera fait le cliché fini et de ce que doit être la répartition de tâches. Vous devez être un preneur de notes et un documentaliste scrupuleux. Mais parfois c’est la meilleure façon, sinon la seule, pour accomplir une production conséquente.