Directives d’optimisation des performances

Graphes Substance

Plus vos graphes de Substance sont complexes, plus vous avez besoin de puissance de traitement pour les restituer. Essayez de trouver un équilibre entre complexité et vitesse de rendu.
Ceci est particulièrement important si vous comptez les utiliser dans des applications graphiques en temps réel, telles que des jeux.

En règle générale, les nœuds exposant des paramètres personnalisés (qui peuvent être modifiés au moment de l’exécution) doivent être placés le plus près possible de l’extrémité du graphe.

Cela est dû au fait que la sortie de chaque nœud est mise en cache chaque fois que possible. Par conséquent, plus le graphe de votre nœud personnalisable est élevé, plus les sorties devront être traitées chaque fois que l’un de ces paramètres exposés sera modifié. Si votre nœud exposé est proche de l’extrémité du graphe, seuls les quelques nœuds situés entre lui et les nœuds de sortie devront être recalculés.

Par exemple, si vous modifiez une couleur uniforme au début de votre graphe, tous les nœuds suivants seront recalculés. Si vous modifiez un nœud TSL placé juste avant la sortie, seul ce nœud sera recalculé, ce qui améliorera considérablement les performances du graphe.

Veuillez prendre bonne note des directives suivantes :

PARAMÈTRES GÉNÉRAUX LIÉS AUX PERFORMANCES

Le moteur GPU est beaucoup plus rapide que le moteur CPU
À moins que vous ne disposiez d’une carte graphique non prise en charge (intégrée), utilisez le moteur Substance du GPU (à modifier avec la touche de raccourci F9).
La commutation de la résolution parent du graphe est lente
Il recalcule le graphe, le cache et toutes les vignettes. Il est préférable d’utiliser l’onglet Lotde la boîte de dialogue d’exportation, car cela évite un recalcul important et inutile (par exemple lors de l’exportation en résolution 8192).
Dans des cas extrêmes, une augmentation de la mémoire cache peut être nécessaire
L’application limite la quantité de RAM pouvant être utilisée pour le cache d’image, mais vous pouvez la remplacer et l’augmenter (avec précaution).

OPTIMISATION DU GRAPHE

Faites attention aux résolutions des nœuds et à l'héritage en général !

Les valeurs élevées affectent considérablement les performances. Pensez donc à la manière dont le matériau sera probablement utilisé et à la possibilité de réduire la taille des données concernées.

Nous vous recommandons d’en savoir plus sur la résolution de nœud (taille de sortie) et l’héritage dans les graphes de Substance.

Utiliser des niveaux de gris lorsqu’aucune couleur n’est nécessaire
Les opérations colorimétriques prennent quatre fois plus de temps que les opérations en niveaux de gris. Essayez également de réduire les conversions de texte entre la couleur et les niveaux de gris.
Utiliser 8 bits lorsque le mode 16 bits n’est pas nécessaire
La version CPU de la Substance Engine (SSE2) ne prend pas en charge les niveaux de gris 16 bits ou 8 bits. Le moteur GPU prend en charge les 4 combinaisons de 8/16 bits et niveaux de gris/couleur. Actuellement, seul le moteur CPU est utilisé dans les plug-ins Unity et Unreal Moteur.
Réduire autant que possible la taille de la sortie du nœud
Parfois, la réduction de certains nœuds n’affecte pas le résultat final, mais affecte les performances. Par exemple, l’utilisation d’un nœud de Couleur uniforme défini sur la même taille de sortie que le document est inutile : la Couleur uniforme doit être définie sur Absolue [16px x 16px] et le nœud suivant sur Relatif au parent. En général, cette astuce fonctionne bien pour les images basse fréquence, telles que le bruit de Perlin.
N’utilisez pas d’images inférieures à 16<>16 pixels
Cela ralentit les performances de rendu.

+++Lors de l’utilisation du nœud de Fusion, désactivez la Simulation de transparence lorsqu’elle n’est pas requise

+++

+++Les flous et les déformations sont les nœuds qui sollicitent le plus le processeur

+++

Certains générateurs de bruits sont affectés par la quantité de motifs dessinés
Par exemple, le nœud Tile Generator sera plus lent à traiter le plus de motifs que vous y ajouterez.
Certains bruits sont affectés par un facteur d’échelle
Ce facteur va en fait dessiner davantage de schémas. Les nœuds concernés sont les bruits, les modèles de Cellules, etc. Si vous avez besoin d’un motif de bruit blanc, n’utilisez pas un bruit avec une valeur d’échelle très élevée et utilisez plutôt les nœuds Bruit blanc ou Bruit blanc rapide.
Inversement, il y a des générateurs de bruit très rapides
Il s’agit notamment de Bruit blanc rapide, de Somme fractale de base et de Bruit anisotrope.
Méfiez-vous des lourdes fonctions d’échantillonnage d’image dans certains cas
Les fonctions sont exécutées sur le moteur CPU, sauf dans Processeurs de pixels. Si vous effectuez beaucoup d’échantillonnage d’image lourd (modification des coordonnées $pos) dans Processeurs de valeurs ou FXmaps, il y aura beaucoup de permutation entre la mémoire vive VRAM et la mémoire vive du processeur, ce qui entraînera des retards de performances.

OPTIMISATIONS POUR UNE UTILISATION MOBILE

Il n’est pas recommandé d’utiliser les Déformations et les FX-Maps
Elles sont très coûteuses.
Éviter les nœuds de flou
Utilisez plutôt des transformations de réduction d’échelle.
Travaillez autant que possible en niveaux de gris
Passez en mode couleur à l’extrémité du graphe.

+++Partage des nœuds autant que possible entre les sorties

+++

OPTIMISATION DE LA TAILLE POUR LES BITMAPS INCORPORÉS

La taille de sortie de bitmaps est définie sur ‘Absolue’ par défaut. Cela signifie que si le bitmap est connecté à une sortie via la chaîne de nœuds, il force alors la sortie finale à avoir la taille du bitmap incorporé.
La taille de sortie d’un nœud que vous insérez après l’image bitmap sera définie sur ‘Relative à l’entrée’. Cela signifie que le nœud va également inhérenter la taille du bitmap et transporter cette taille le long de la chaîne de nœuds jusqu’aux sorties. Pour corriger ce problème, vous devez définir le nœud après le bitmap pour que sa taille de sortie soit définie sur ‘Relatif au parent’.

Si le graphe est défini pour avoir une résolution dynamique, vous pouvez modifier la Taille de sortie sur l’image bitmap incorporée pour qu’elle soit Relative au parent.
De cette façon, la taille du bitmap change en fonction du graphe parent et vous ne vous retrouvez pas dans une situation où le graphe traite une résolution plus élevée dans le bitmap que ce qui est nécessaire.

WARNING
Définir un nœud Bitmap sur « Relatif au parent » et publier le graphe sur une ressource Substance 3D (SBSAR) enregistrera le bitmap à une résolution de 256x256 au lieu de sa taille d'origine. Il est plutôt conseillé de conserver la méthode d'héritage de la taille de sortie des nœuds Bitmap comme 'absolue' et d'utiliser un nœud Transformation 2D défini sur 'Relatif au parent' juste après le nœud Bitmap.

Optimisation des bitmaps incorporés 1

Optimisation des bitmaps incorporés 2

Il est également conseillé de définir le format des ressources Bitmap sur Jpeg afin de réduire la taille des ressources Substance 3D publiées (SBSAR).
Optimisation des bitmaps incorporés 3
recommendation-more-help
substance-3d-designer-help-guide