niCO | lundi 24 novembre 2003 a 00 h 33

NoFrag

Framerate et FPS : l'éternelle question enfin résolue (enfin, presque)

Devant la multitude de débats auxquels j'ai pu participer sur Internet, afin de savoir s'il était utile ou non de faire tourner Quake à 24 ou 100 images par seconde, j'ai procédé à quelques recherches afin d'écrire un article permettant de résoudre une fois pour toute l'éternelle question :

"Dans un FPS, à partir de combien de frames par seconde devient-il inutile d'en rajouter ?"

Je n'ai peut-être pas trouvé la réponse exacte, mais mon article devrait vous donner les armes nécessaires pour mettre fin à 99% des threads parlant de ce sujet.

Poser les bonnes questions avant de chercher les réponses

Au fur et à mesure que je récoltais des données pour rédiger cet article, l'objet même de la question à laquelle je me proposais de répondre a évolué. À l'origine, je voulais savoir combien d'images l'oeil humain pouvait percevoir en une seconde. Une question qui aurait du sens pour un capteur électronique mais qui est parfaitement stupide pour des organes biologiques comme notre oeil et notre cerveau.

Je me suis donc demandé quel était le nombre d'images optimal pour un jeu vidéo, une question dont la réponse n'a que peu d'intérêt : plus il y a d'images, mieux c'est. Il est plus intelligent de se demander à partir de quel framerate un jeu paraît parfaitement fluide, mais là encore il n'y pas de réponse unique : si un film à 24 images par seconde parait parfaitement fluide au cinéma, pourquoi ne pourrait-il en être autant dans un jeu vidéo ?

Je me suis donc résolu à énoncer des faits qui répondent à des questions simples : quelle est l'influence de la persistance rétinienne dans un jeu vidéo ou au cinéma, pourquoi un film est fluide à 24 images/seconde alors qu'un jeu semble haché, d'où vient l'impression de mouvement dans une succession d'images fixes, combien de temps une image doit-elle être affichée pour que l'oeil puisse la saisir. Des questions simples, mais dont les réponses mettront fin à de nombreux débats où les gens s'appuient sur des idées reçues souvent complètement fausses.

Faire table rase des idées reçues

L'oeil ne peut voir que 24 images par seconde : faux.

Le taux de 24 images par seconde au cinéma a été choisi afin de donner une impression de fluidité : faux.

Une succession de 24 images par seconde permet l'illusion d'un mouvement fluide : faux.

L'impression de mouvement dans un défilement d'images fixes a pour origine le phénomène de la persistance rétinienne : vrai, heu non, faux !

Persistance rétinienne et cinéma

Au cinéma, entre deux images projetées à l'écran, il n'y a que du noir, ou plus exactement, il n'y a rien. C'est pour compenser la faible luminosité de l'image qui en résulte que les films sont projetés dans le noir. C'est grâce à la persistance rétinienne que nous ne voyons pas l'écran s'éteindre.

La persistance rétinienne est la relative inertie des cellules de la rétine qui gardent, pendant un court temps, la trace d'une impression lumineuse. La persistance rétinienne fait en sorte que l'image imprimée sur la rétine, celle que notre cerveau doit analyser, est en réalité une intégrale pondérée des précédentes 120-125 ms d'informations.

Cependant, la persistance ne joue pratiquement aucun rôle dans la perception cinématographique, contrairement à ce que l'on a souvent affirmé et qu'on affirme encore. Elle n'est en rien à l'origine de la perception du mouvement, bien au contraire : c'est elle qui, dans la réalité, fait en sorte qu'une hélice tournant rapidement nous apparaisse comme étant une paroi translucide et immobile.

L'impression de mouvement au cinéma vient d'un phénomène psychophysiologique : le phénomène phi, ou effet phi.

L'illusion du mouvement : l'effet phi

Ce sont avant tout des phénomènes psychologiques, donc sans rapport avec le fonctionnement de l'oeil, qui permettent de combler un écart réel entre deux images grâce à des processus mentaux. L'effet phi est au premier rang de ces phénomènes : lorsque des points lumineux espacés les uns des autres sont allumés successivement, on voit un trajet lumineux continu là où se trouve en réalité fixité et discontinuité.

Vous pouvez mettre en évidence ce phénomène en vous plaçant dans une chambre parfaitement noire : illuminez un point en face de vous, puis éteignez le tout en en illuminant un second situé à une certaine distance du premier : vous verrez alors un point unique se déplacer lentement d'une position à l'autre de façon parfaitement fluide.

Voilà pour l'illusion du mouvement, mais qu'en est-il de la fluidité ?

Fluidité au cinéma, avec un F comme Flou

Les mouvements au cinéma semblent fluides tout simplement parce que lors d'un mouvement rapide, l'image est floue. Pas un peu flou, complètement floue ; tellement floue que si vous mettez un film sur pause lors d'un combat de karaté, vous ne distinguerez même pas les bras des combattants.

Les constructeurs de cartes graphiques ont d'ailleurs tenté de copier ce phénomène en implémentant le "motion blur", un effet qui permet de rendre un jeu parfaitement fluide avec un framerate très bas en rendant floues toutes les parties de l'image qui sont en mouvement.

Sans motion blur, c'est un fait que les mouvements dans un jeu à 24 images par seconde ne sont pas fluides. D'autre part, un film dont les images seraient parfaitement nettes et qui serait projeté au cinéma à 24 images secondes serait horriblement haché. Les créateurs d'effets spéciaux image par image, de films en images de synthèse et même de dessins animés sont parfaitement conscients de ces faits et sont obligés de jouer avec. C'est ainsi que dans Robocop 1 et 2, on a rajouté un effet de flou permettant aux effets spéciaux en image par image d'être fluides là où ceux de la fin de Terminator 1 sont affreusement hachés.

Cet effet de flou est tel qu'au cinéma, 18 images par seconde suffisent à rendre les mouvements fluides mais on a finalement choisi 24 images comme standard professionnel afin de caser la bande sonore sur la pellicule.

Pour des images nettes, comme celles affichées dans les jeux vidéo n'utilisant pas de motion blur, on a pour habitude de dire qu'un jeu est fluide à partir de 50 images par seconde. Mais cela dépend évidemment de la rapidité des mouvements et des capacités de chaque personne. C'est d'ailleurs pour cette raison que les jeux de course sont les principaux utilisateurs de motion blur. C'est aussi pour cela que les joueurs de Quake qui ont l'habitude de faire des rotations et des mouvements très rapides sont plus sensibles au framerate que les joueurs de jeux où les mouvements sont plus lents comme dans Raven Shield ou Counter-Strike.

Le temps nécessaire pour détecter et analyser une l'image

Imaginez-vous en train de fixer un mur blanc. Si ce mur devient noir pendant 1/25ème de seconde, vous vous en rendrez probablement compte. Il sera plus dur de le détecter s'il ne disparaît qu'1/50ème de seconde. A partir d'1/100ème de seconde, il y a peu de chance que vous vous aperceviez de quoique ce soit.

Imaginez-vous à présent dans une pièce sombre. Si une lumière s'allume en face de vous ne serait-ce qu'1/200ème de seconde, nul doute que vous vous en apercevrez. Certains flashs d'appareil photo ne durent qu'1/2000ème de seconde et pourtant, vous n'avez aucune difficulté à les percevoir. De plus, vous pouvez réussir à saisir de nombreux détails de la scène qui n'a pourtant été illuminée qu'un temps extrêmement court.

La luminosité l'emporte sur les ténèbres, c'est une conséquence directe de la persistance rétinienne : plus une image est lumineuse, plus longtemps elle restera imprimée sur la rétine. Fixez le Soleil 1 seconde si vous n'êtes toujours pas convaincu.

Mais ce qui est important dans cette expérience, pour en revenir à nos jeux vidéo, c'est que dans certaines occasions l'oeil peut saisir une image en moins d'1/2000ème de seconde. Des tests effectués sur des pilotes de l'US Air Force ont démontré qu'ils étaient capables de reconnaître le modèle d'un avion dont l'image ne leur est présentée qu'1/220ème de seconde. On est loin des 1/24ème de seconde du cinéma ou des 50 frames par secondes qu'on estime suffisantes pour rendre un jeu fluide... mais soyons clair, nous ne parlons pas ici de fluidité.

Le temps nécessaire pour détecter une image dépend donc de sa luminosité. De plus, la durée d'exposition nécessaire au cerveau pour l'analyser dépend de la complexité de l'image et de votre familiarité avec ce qui y est représenté.

Si nous voulons réaliser une simulation parfaite de la réalité, il faut donc afficher plus de 2000 images par seconde, bien plus...

Pour en revenir aux jeux vidéo

Dans un jeu où il n'existe pas de flash aussi court, il n'est pas nécessaire d'en arriver à de telles extrémités. Dans un jeu d'action, une telle débauche d'images ne saurait être utile que dans des cas extrêmes, par exemple si vous êtes dans une pièce sombre et qu'une roquette passe devant vos yeux à plus de 1000 Km/h. Et encore, nul doute que le temps que votre cerveau décode l'image, il aura déjà saisi la situation en analysant le son capté par votre oreille.

Quelle est donc le framerate idéal dans un jeu vidéo ? Si l'on oublie la fréquence de rafraîchissement de nos écrans, la sensibilité de nos souris, le nombre d'événements effectivement calculés (et non affichés) par le moteur 3D, on peut conclure que plus il y a d'images, mieux c'est.

Ce qui est sûr, c'est qu'avec la technologie dont nous disposons aujourd'hui, ce n'est pas l'oeil et encore moins le cerveau qui rendent inutile le fait d'afficher des centaines d'images à la seconde dans un jeu vidéo, ce sont les périphériques d'entrée (la souris et sa définition) et de sortie (l'écran et son taux de rafraîchissement).

Et pour être honnête, il n'est pas très intelligent de parler de la perception humaine en terme d'images par seconde alors que l'oeil et le cerveau perçoivent un flux continu de lumière et d'informations.

Sources :
Lire les commentaires...