3. Configuration et protocole de test, explication concernant FCAT
Nous avons commencé à travailler avec l'outil FCAT (Frame Capture Analysis Tool) de Nvidia le mois dernier ; les résultats sont probants et il va continuer à faire partie intégrante de notre protocole de test à l'avenir. Il s'agit toutefois d'une véritable rupture avec les tests que nous effectuions auparavant avec Fraps, raison pour laquelle nous ne pouvions décemment nous contenter, pour cet article, de vous laisser avec les données FCAT brutes. Nos collègues californiens ont ainsi invité dans leurs bureaux une poignée de joueurs afin de leur proposer de comparer la Radeon HD 7990 et la GeForce GTX 690 dans huit titres différents. Objectif de la manœuvre : obtenir une montagne de données FCAT puis demander à ces quelques passionnés de les confronter à la réalité. Nous voulons déterminer si cette analyse de la latence entre images successives trouve réellement son pendant dans l'expérience de jeu.
Configuration de test Processeur Intel Core i7-3770K (Ivy Bridge) 3,5 GHz overclocké à 4,0 GHz (40 x 100 MHz), LGA 1155, 8 Mo de cache L3 partagé, Hyper-Threading activé, fonctions d’économie d’énergie activées Carte-mère Gigabyte Z77X-UD5H (LGA 1155), chipset Z77 Express, BIOS F15q Mémoire 16 Go (4 x 4 Go) de DDR3-1600 G.Skill, F3-12800CL9Q2-32GBZL @ 9-9-9-24 et 1,5 V Stockage SSD Crucial m4 256 Go SATA 6 Gbit/s Cartes gr. AMD Radeon HD 7990 6 Go AMD Radeon HD 7970 GHz Edition 3 Go Nvidia GeForce GTX 690 4 Go Nvidia GeForce GTX 680 2 Go Nvidia GeForce GTX Titan 6 Go Alimentation Cooler Master UCP-1000 watts OS et pilotes OS Windows 8 Professionnel 64 bits DirectX DirectX 11 Pilotes gr. AMD Catalyst 13.5 (Beta 2) Nvidia GeForce 320.00 AMD Catalyst Frame_Pacing_Prototype v2 For Radeon HD 7990
Parallèlement, nous sommes pleinement conscients du fait que les nouvelles données que nous générons sont bien plus sophistiquées que les simples moyennes de framerate que nous utilisions auparavant, et qui avaient l'avantage de permettre de comparer très facilement les cartes graphiques entre elles. Fort heureusement, nous avons encore des moyennes à publier ainsi que des graphes d'évolution du framerate dans le temps. L'ajout le plus récent à notre arsenal de test est une donnée nommée variance interimages. Nous avons déjà brièvement abordé le concept dans notre article Quel processeur à moins de 200 € pour jouer en 2013 ? et nettement plus en détail dansPerformances des cartes graphiques : les nouvelles données selon FCAT, mais une explication supplémentaire ne fera sans le moindre doute pas de mal.
Pourquoi ne nous contentons-nous pas de présenter la durée d'affichage des images ? Tout simplement parce qu'il nous semble que cette donnée brute est associée à un nombre bien trop important de variables et ne permet pas de tirer les bonnes conclusions.
Prenons par exemple une image affichée pendant 40 millisecondes ; à première vue, c'est long, trop long. Mais est-ce que cela indique un rendu saccadé ? Peut-être, mais pas nécessairement. Passons en revue les deux scénarios suivants :
Dans un premier cas, notre image affichée 40 ms est entourée de part et d'autre par des images affichées pendant la même durée. Le résultat est un framerate constant de 25 images/s sans saccades perceptibles. Ce framerate n'est pas formidable, mais sa régularité contribue à une impression de fluidité.
Considérons maintenant que cette même image de 40 ms s'insère dans un flot d'images affichées 16,7 ms. Elle occupe donc plus de deux fois plus de temps que les autres à l'écran et, à ce titre, sera très probablement perçue comme une saccade.
Nous simplifions bien entendu, mais les faits sont là : pour déceler les saccades dans un jeu, on ne peut se contenter de la simple durée d'affichage des images, il faut du contexte. Nous avons donc formulé le concept de variance interimages.
Nous calculons la durée d'affichage de chaque image et la comparons à celle des images qui la précédent et qui la suivent. Dans notre premier exemple, l'image de 40 ms entourée d'autres images de 40 ms donnerait une variance interimages de zéro. Dans le deuxième exemple, cette même image de 40 ms entourée d'autres images de 16,7 ms donnerait une variance interimages de 23,3 ms.
Nous continuons à expérimenter avec ce concept en laboratoire, mais d'après nos premiers résultats, les joueurs sont capables de percevoir les variations dès qu'elles atteignent 15 ms. Nous avons donc choisi cette valeur comme référence : si la variance interimages est inférieure à 15 ms, une image isolée a peu de chances de produire un artéfact visible. Si la variance interimages moyenne approche 15 ms avec des pics au-delà de cette valeur, on peut raisonnablement s'attendre à ce qu'un joueur se plaigne de saccades.
La formule Excel que nous utilisons est la suivante (sur des durées d'affichage d'images classées chronologiquement de haut en bas) :
=ABS(B20-(TRIMMEAN(B2:B38, 0.3)))
Cette formule calcule la variance interimages de la 20e image d'une capture, dont la durée d'affichage est stockée dans la cellule B20.
Décomposons cette formule : elle prend en compte les durées d'affichage des 18 cellules précédant l'image cible et des 18 cellules la suivant, puis en fait la moyenne (débarrassée de 30 % des aberrations afin que les anomalies ne l'affectent pas). Cette durée moyenne est ensuite soustraite de la durée d'affichage de l'image cible. Enfin, nous ne conservons que la valeur absolue du résultat.
Nous espérons toujours obtenir une variance interimages égale à zéro, mais en réalité, celle-ci n'est jamais nulle. Nous analysons donc l'ensemble des résultats et vous donnons les valeurs moyennes, au 75e centile et au 95e centile.
Tout cela peut paraître particulièrement compliqué, mais en procédant de la sorte, nous avons réussi à tirer des informations extrêmement intéressantes des 1,5 To de vidéos que nous avons capturés sur les cartes graphiques en lice pour ce test : l'AMD Radeon HD 7990, deux Radeon HD 7970 en CrossFire, la Nvidia GeForce GTX 690, la GeForce GTX Titan et deux GeForce GTX 680 en SLI. Tous les tests ont été réalisés à une résolution de 2560 x 1440 pixels dans huit jeux différents.
Benchmarks et paramètres Battlefield 3 Paramètres de qualité « Ultra », v-sync désactivé, 2560x1440, DirectX 11, Going Hunting, enregistrement de 90 secondes, FCAT Far Cry 3 Paramètres de qualité « Ultra », v-sync désactivé, 2560x1440, DirectX 11, parcours personnalisé, enregistrement de 50 secondes, FCAT Borderlands 2 Paramètres de qualité « Highest », PhysX faible, AF 16x, 2560x1440, parcours personnalisé, FCAT Hitman: Absolution Paramètres de qualité « Ultra », MSAA désactivé, 2560x1440, séquence de benchmark intégrée, FCAT The Elder Scrolls V: Skyrim Paramètres de qualité « Ultra », FXAA activé, 2560x1440, parcours personnalisé, enregistrement de 25 secondes, FCAT 3DMark Benchmark Fire Strike BioShock Infinite Paramètres de qualité « Ultra », DirectX 11, Diffusion Depth of Field, 2560x1440, séquence de benchmark intégrée, FCAT Crysis 3 Paramètres de qualité « Very High », MSAA : faible (2x), résolution des textures : élevée, 2560x1440, parcours personnalisé, enregistrement de 60 secondes, FCAT Tomb Raider Paramètres de qualité « Ultimate », FXAA activé, AF 16x, cheveux TressFX, 2560x1440, parcours personnalisé, enregistrement de 45 secondes, FCAT LuxMark 2.0 Exécutable 64 bits, version 2.0, scène « Sala » SiSoftware Sandra 2013 Professional Sandra Tech Support (Engineer) 2013.SP1, modules « Cryptography » et « Financial Analysis Performance »