Accueil / Le moteur Unreal a la solution aux saccades de shaders.

Le moteur Unreal a la solution aux saccades de shaders.

06/02/2025 00:04:17
La dernière mise à jour du moteur Unreal Engine 5.2 introduit un nouveau système de préchargement des objets d'état de pipeline (PSOs) qui vise à réduire les saccades liées aux shaders dans les jeux PC. Ces saccades, causées par la compilation à l'exécution de shaders complexes, sont un problème courant. Le nouveau système analyse les matériaux et les paramètres du jeu pour préparer les PSO nécessaires en amont, minimisant ainsi les retards perceptibles. Bien que ce système ne résolve pas tous les problèmes liés aux shaders, il représente une avancée significative dans la réduction des saccades et améliore l'expérience de jeu.
Le moteur Unreal a la solution aux saccades de shaders.

Le moteur Unreal 5.2 a introduit un nouveau système de préchargement des objets d'état de pipeline (PSOs) pour aider à réduire les saccades causées par la compilation des shaders dans les jeux. Cela atténue les saccades liées aux shaders, qui constituent un problème majeur dans les jeux PC actuellement.

La compilation des shaders (également appelée saccade de shaders) se produit lorsqu'un jeu doit préparer un shader juste avant qu'il puisse être affiché, entraînant des retards perceptibles et l'apparition soudaine du shader. Ce délai est dû au fait que la conversion du code source haut niveau en code machine compréhensible par les différentes cartes graphiques est une opération complexe.

Les API graphiques modernes comme DirectX 12 et Vulkan ont introduit les PSO (Pipeline State Objects) pour améliorer les performances. Les PSO combinent des shaders et des paramètres de rendu afin qu'ils puissent être préparés à l'avance. Cependant, le nombre immense de combinaisons PSO possibles peut devenir écrasant dans les jeux complexes avec de nombreux matériaux et options de rendu différents. Les méthodes précédentes, comme la "Bundled PSO Cache" d'Unreal Engine, n'arrivaient pas à suivre. Cette cache nécessitait beaucoup de ressources pour être suivie et était difficile à gérer.

Le nouveau système de pré-mise en cache PSO d'Unreal résout certains problèmes précédents. Lors du chargement, il examine les matériaux, les maillages et les paramètres globaux pour déterminer quels PSO (objets d'état de pipeline) sont probablement nécessaires. Ceux-ci sont préparés pendant un écran de chargement ou juste avant d'être utilisés. Si des objets apparaissent plus tard, ils peuvent soit attendre que les PSO soient prêts, soit utiliser un matériau basique. Cela permet de réduire les retards notables.

C'est formidable que les moteurs de jeu s'efforcent de résoudre ce problème. Ce qui est intéressant, c'est que ce problème n'existe que grâce aux progrès technologiques. Par le passé, les jeux étaient livrés avec un code de shader précompilé, que le pilote graphique convertissait pendant l'exécution du jeu. Cela fonctionnait bien pour les jeux plus simples, mais des problèmes de performance sont apparus lorsque les shaders sont devenus plus complexes et que les cartes graphiques ont été améliorées.

Gardez à l'esprit que la gestion des changements de matériaux est un travail en cours et s'applique actuellement uniquement à certains shaders. Par exemple, les shaders globaux (utilisés pour des effets comme le flou de mouvement) sont gérés différemment et rencontreront toujours des problèmes. Cependant, il est prévu d'améliorer cela dans le futur.

Néanmoins, il semble qu'Unreal soit en tête pour résoudre ce problème pour les joueurs. Espérons qu'une solution permanente fera disparaître le scintillement des shaders à jamais.

"

Vous pourriez aimer