L'aliasing (crénelage en français) est un phénomène récurrent sur les versions PS3 des jeux multi-plateformes. Appelé aussi "effet d'escalier", son effacement nécessite une importante sollicitation du processeur - que peu de développeurs ont réussi à obtenir à cause de l'architecture complexe de la PS3. Pourtant, le studio Pandemic a réussi à développer un anti-aliasing unique pour The Saboteur.
Un des éléments du développement multi-plateformes qui se répète à l'envi quand on compare les versions PS3 et Xbox360 est l'implantation d'un anti-aliasing.
En effet, il est fréquent que la version Xbox360 bénéficie d'un lissage des textures, là où la Playstation 3 laissera le rendu en l'état, changera la résolution, ou appliquera une technique propriétaire à Nvidia baptisée "Quincunx" (qui lissera l'image mais brouillera légèrement l'intégralité des textures).
Ces options ne sont que des rustines, bien que le Quincunx fasse un bel effet dans certains jeux, et le fait que l'image subisse un effet de "blur" est d'ailleurs appelé "l'effet Vaseline" dans le monde des développeurs. Néanmoins, des jeux récents comme Brütal Legend et Overlord II ont testé une nouvelle technique, visant à appliquer un effet de blur uniquement sur les textures aliasées plutôt que sur l'ensemble des textures apparaissant à l'écran. Mieux que rien, mais pas encore parfait.
Et c'est là qu'arrive Pandemic. Le studio, racheté puis fermé en novembre par Electronic Arts pour des problèmes de gestion financière, a choisi de développer une nouvelle technologie d'anti-aliasing pour The Saboteur. Une technologie jamais vue sur console ou sur PC, et au résultat bluffant.
En fait, dans le meilleur des cas il est possible d'obtenir par cette technique un lissage des textures équivalent à un 16x multi-sampling anti-aliasing (MSAA) voire mieux ! Le résultat est immédiat : le rendu est même meilleur que ce que peuvent proposer les derniers GPU, sans subir de baisse de performances. A mettre en perspective avec le hardware de la Xbox360, qui plafonne à un 4x MSAA.
Commençons par une rapide comparaison du rendu sur chaque version du jeu. Il est intéressant de relever que les versions PC et Xbox360 ne bénéficient toutefois pas d'un anti-aliasing (AA). Seule la version PS3 en profite. Au moins, si l'absence d'AA est curieuse sur 360, elle nous permet de faire un comparatif "avant-après" de cette nouvelle technique pour PS3.


Comment sont-ils parvenus à un tel résultat ? En fait, c'est un message d'un membre de Pandemic déposé sur le Playstation Blog US qui nous donne des indications. Tom French a parlé "d'utiliser les SPU (Synergistic Processing Units) pour créer un filtre FSAA (Full Scene Anti Aliasing)". Les processeurs satellites internes au processeur CELL sont très performants pour le calcul rapide de batches limités de données et sont parfaits pour prendre en charge ce type de tâche - qui consiste à analyser le framebuffer en recherchant toutes les textures à lisser et à les rassembler pour les traiter.
Dès lors, des forumeurs de Beyond3D ont mené l'enquête. Il s'agit d'une technique initialement créée par Intel, baptisée Morphological Anti-Aliasing (MLAA) dont vous pouvez voir les bénéfices en cliquant ici. Ainsi, le MLAA tel qu'on peut le voir dans The Saboteur offre un résultat largement supérieur aux autres méthodes d'anti-aliasing que nous avons pu voir jusqu'ici - pour peu qu'il soit appliqué dans des conditions optimales.
C'est une technique expérimentale, qui a forcément des contraintes. Quand la texture fait un pixel ou moins en largeur, le système de détection des textures ne fonctionne pas bien. Pandemic soumet l'intégralité du framebuffer à l'analyse (dont les éléments du HUD - l'affichage à l'écran des jauges de vie, d'armes, etc.) qui créent souvent du parasitage sur certaines zones (dont les zones de texte du HUD). Un problème à priori inévitable dans The Saboteur : quand le GPU commence à afficher l'image suivante, les SPU sont occupés à travailler l'AA alors qu'ils ont besoin d'avoir l'intégralité de l'image pour pouvoir l'analyser. C'est donc un problème de décalage entre ce dont est capable le GPU pour afficher une image, et ce dont ont besoin les SPU pour appliquer l'anti-aliasing à cette image.
Pandemic est resté silencieux sur cette technique d'AA, bien que quelques indications aient filtré sur les forums de NeoGAF. Selon certains messages, le filtre AA est appliqué à l'éclairage des scènes. Cela permet de conserver une bonne vitesse d'affichage mais implique que certaines couleurs (le rouge et le noir, par exemple), aient des niveaux de luminosité similaires. Par ailleurs, le filtre appliqué sur des zones soumises au Motion Blur donne parfois un rendu hasardeux avec du parasitage.
Ainsi, le filtre est efficace sur la majorité des textures mais en rate quelques autres. L'aspect global ne s'en ressent heureusement pas.
Finalement, ce que Pandemic a implanté dans The Saboteur pour PS3 est plus une technique expérimentale qu'autre chose, mais permet de constater que l'aspect visuel global est efficace. Sur la version Xbox360, le niveau "The Jaggies", par exemple, ne souffre pas trop de l'absence d'AA : le peu de contraste entre les différentes textures permet un rendu très correct.
Mais dans ce même environnement, la technique MLAA sur PS3 utilisée par Pandemic fonctionne merveilleusement bien, et le parasitage évoqué ci-dessus nécessite de regarder le jeu à la loupe. Ces parasites sont néanmoins bien présents, et on se demande comment fonctionnerait cette technique sur des jeux aux images plus contrastées tels que Battelfield Bad Company 2, Halo 3 ou encore Uncharted 2 dans lequel le MLAA aurait pu rendre le jeu encore plus beau.
Dans le même temps, nous avons ici une nouvelle méthode très intéressante d'un point de vue technique. La PS3 s'attaque à un problème en utilisant une méthode que même les GPU les plus performants n'utilisent pas. On peut d'aileurs se demander si la prochaine génération de consoles ne pourrait pas intégrer un hardware capable de gérer simultanément le MLAA et le MSAA - ce dernier pemettant de gommer le parasitage dû au MLAA.
Source : eurogamer.net