Améliorer vos FPS - Scalability Settings et Resolution Scale

Les tips et astuces à connaitre avec Unreal Engine, l'éditeur, les raccourcis et messages d'erreurs
Avatar de l’utilisateur
Bender
Site Admin
Messages : 385
Inscription : 15 sept. 2022, 13:14

Les paramètres de rendu vous permettent d'ajuster la qualité de diverses fonctionnalités afin de maintenir les meilleures performances de votre jeu sur différentes plateformes et matériels. Bien utile pour travailler sur des assets lourds.



Scalability Settings

L'accès aux Scalability Settings dans l'éditeur se fait via le menu Settings de la barre d'outils. Les Scalability Settings du moteur contiennent des raccourcis vers les paramètres les plus couramment utilisés définis dans le fichier BaseScalability.ini, tandis que le niveau de qualité des matériaux définit le paramètre global de qualité des matériaux.





Resolution Scale

Unreal Engine 4 peut rendre une scène en basse résolution et mettre l'image à l'échelle de la résolution cible. Étant donné que les interfaces utilisateur 2D sont généralement moins performantes et souffrent davantage d'une résolution inférieure, l'Unreal Engine 4 n'applique pas cette technique aux interfaces utilisateur. Le passage à l'échantillonnage supérieur a un coût mineur, mais en général, l'effort en vaut la peine.


Left: 50% no AA, Middle: 50% with AA, Right: 100% (no resolution scale) with AA

Ce paramètre est accessible avec la variable de console r.ScreenPercentage. Elle prend une valeur de 10 à 100, -1 étant également égal à 100%.



View Distance

Les objets peuvent être triés en fonction de leur distance par rapport à l'observateur. Par défaut, tous les objets ne sont pas triés en fonction de leur distance (distance de dessin maximale souhaitée de 0). En plus de la valeur spécifiée par le concepteur, il existe un paramètre de mise à l'échelle globale fonctionnant comme un multiplicateur (r.ViewDistanceScale). Vous pouvez voir ici quelques objets d'herbe (distance maximale souhaitée de 1000) :


left: r.ViewDistanceScale 0.4, middle: r.ViewDistanceScale 0.7, right: r.ViewDistanceScale 1.0 (default)



Anti-Aliasing


From the left: r.PostProcessAAQuality 0 to 6. The first 3 equal the Low, Medium, High, Epic settings in the View -> Scalability Options -> AA settings.

Le réglage du niveau de qualité de l'anti-aliasing à l'aide de la commande de console r.PostProcessAAQuality permet d'ajuster la qualité de la méthode d'anti-aliasing que vous utilisez (FXAA ou Temporal AA). Pour l'une ou l'autre des méthodes d'anti-aliasing, une valeur de 0 utilisée avec r.PostProcessAAQuality désactivera l'effet. Pour FXAA, l'effet des valeurs 2, 4 et 6 est visible dans l'image ci-dessus ; le lissage des bords irréguliers est de plus en plus efficace. Les valeurs supérieures à 6 n'ont aucun effet.

Pour Temporal AA, il y a un compromis entre la vitesse de remplissage de l'effet et la qualité, plus la valeur que vous utilisez est élevée. r.PostProcessAAQuality 2 avec Temporal AA se règle rapidement mais l'effet sera plus prononcée. r.PostProcessAAQuality 4 se règle plus lentement mais ne pose pas de problème.



Detail Mode

Chaque Acteur placé possède une propriété Detail Mode dans la catégorie Rendering. Essentiellement, ce paramètre définit le niveau de détail minimum pour le rendu d'un Acteur.



Le scability mode peut être modifié depuis la console :
Avec r.DetailMode 0 = faible, r.DetailMode 1 = moyen et, r.DetailMode 2 = mode de détail élevé.

Code : Tout sélectionner

r.DetailMode 1


Il est facile d'utiliser cette fonction pour désactiver les décals, les objets de détail, les lumières ou les effets de particules individuels. Veillez à n'utiliser cette fonction que sur les objets qui n'ont aucun effet sur le gameplay, sinon vous rencontrerez des problèmes de gameplay en réseau, de sauvegardes ou de cohérence.



Material Quality Level



Les matériaux peuvent utiliser le nœud d'expression matérielle Quality Switch pour désactiver certaines parties matérielles coûteuses qui ont un effet mineur sur l'aspect final. Pour en voir l'effet, vous devez passer en mode basse qualité.



Quelle que soit la valeur du niveau de qualité du matériau, faible ou élevée, elle déterminera quelles expressions seront évaluées pour ce matériau (la broche faible ou élevée). L'épingle par défaut remplira soit high soit low (ou les deux) si elle n'a pas d'entrée. Ce matériau contient 2 opérations raisonnablement coûteuses lorsqu'il est réglé sur haut :



Cet exemple est simplement destiné à montrer le nœud Material Switch. Les nœuds Noise sont très chers, ce qui les rend très utiles pour cet exemple, mais ils doivent être utilisés avec parcimonie car il existe des moyens moins coûteux d'obtenir cet effet.

Cette fonction n'est pas destinée au LOD à distance car vous ne pouvez pas avoir deux niveaux de qualité en même temps. Cette fonctionnalité peut être utilisée pour réduire :

- Les calculs du shader (par exemple, désactiver la couche de fuzz).
- Utilisez le mode Shader Complexity (Alt+8 dans l'éditeur) et le nombre d'instructions pour vérifier votre optimisation.
- Les recherches de textures (par exemple, aucune carte de bosse détaillée).
- Largeur de bande de la mémoire (par exemple, en utilisant moins de textures).
Vous devrez effectuer un profilage sur votre hardware pour vérifier cela.

La plupart des sorties de l'éditeur de matériaux n'affectent que le pixel shader. Le décalage de la position du monde et toutes les sorties de tessellation affectent les autres types de shaders. Les shaders de pixels ne coûtent cher que s'ils occupent de grandes portions de l'écran (skybox par exemple), tandis que les autres shaders n'ont d'importance que si l'objet n'est pas culled (à l'intérieur de la vue, pas caché derrière des objets opaques).
Répondre