Symbiosis

Notre lieu de discustions
 
AccueilPortailCalendrierFAQRechercherS'enregistrerConnexion
Autopassion.net le site dédié à l'automobile créé par ses utilisateurs
Partagez | 
 

 de la syncro verticale et du racommodage d'image...

Aller en bas 
AuteurMessage
Beko
Roi posteur
Roi posteur
avatar

Masculin
Nombre de messages : 595
Age : 60
Date d'inscription : 25/07/2007

Feuille de personnage
Test: Bekofaesh, Bekomimi, Frayabeko

MessageSujet: de la syncro verticale et du racommodage d'image...   Sam 12 Juil - 14:19

Salut à tous !

Bon, alors voilà : hier IG, notre vénéré chef s'est plaint d'effets de "déchirures" dans l'image si EQ2 est configuré en désactivant la synchro verticale de la carte graphique. Je me suis dit, que j’allai donner ma leçon du jour sur ce sujet. C'est un phénomène bien connu et dont la "gravité" peut varier d'un matériel à l'autre. scratch

Qu’est-ce qu’il se passe ??? La CG dispose d'un "frame buffer" c'est à dire une mémoire dans laquelle elle "empile" les images successives qui seront utilisées pour l'affichage à l'écran. Ce qui rentre d'un côté, sort de l'autre. Il y a en permanence 1 image affichée stockée dans une partie de la mémoire et une image en cours de calcul stockée dans une autre partie. Quand c’est le moment, la CG permute les 2 parties de la mémoire, vidant la première
pour faire la place à la suivante.

Nos moniteurs sont configurés pour une fréquence de 60 images/sec en LCD et plus (au moins 75 Hz, c'est conseillé) pour les CRT. Donc tous les 60ème (ou plus) de seconde, le moniteur acceptera une nouvelle image.

Si on active le Vsync, la carte graphique videra sa mémoire tous les 60ème de seconde en envoyant l’image prête et complète au moniteur. Si elle n'a pas fini de calculer la(les) nouvelle(s) (elle est trop peu performante par
rapport aux exigences du rendu pour la scène en question), bin, elle renvoie à nouveau la première partie de la mémoire... jetera le morceau d’image incomplète et passera à la suivante et si toujours pas prête… etc., résultats : saccadeS ! Simple non ? Cela veut dire aussi que si la CG peut calculer plus d'images à envoyer au moniteur (un fps supérieur à 60), elle sera bridée par la synchro verticale... et en fait, ne calculera pas plus que les 60 fps nécessaires, donc elle va se "reposer" affraid Par contre dans ce cas, la fluidité sera exemplaire, mais il y a des phases de jeux où, aussi puissante soit elle, elle ne pourra pas suivre ce rythme (au port de Queynos par exemple, avec les ombres à fond).

Comme le fps en jeu 3d est une moyenne (contrairement aux films et aux émissions télé ou le fps est constant), pour avoir une meilleure fluidité générale, de meilleures performances, il y a tout intérêt à désactiver cette
synchro. Surtout dans le cas où la CG n’est pas très puissante car elle va alors calculer un maximum d'images pour ses capacités et ne perdra plus de temps à calculer puis rejeter des images qui arrivent trop tard. Le hic c'est que, dans ce cas, au moment où elle va devoir envoyer la nouvelle, celle-ci ne sera peut-être pas complète mais comme il n’y a plus de synchro, elle l’enverra quand même ! Ce morceau d’image sera complété par un morceau de la suivante... donc apparition des "déchirures".

Deux cas de figure :
1) la CG n’est pas capable de calculer assez vite (le fps est inférieur à 60), au moins il y aura des parties d’image intermédiaires affichées et pas des images rejetées comme dans le cas de la synchro activée, donc une améloration du fps moyen et des performances.
2) le FPS est supérieur à 60, ça ne va rien changer au fait qu’il y aura toujours des morceaux d’images affichés parfois plutôt que des complètes mais proportionnellement, l’inconvénient sera moins visible (ou plutôt, il sera visible moins longtemps Rolling Eyes) .

Un remède aux déchirures est d'activer le "triple buffer" (au lieu d'avoir une mémoire en 2 parties, il y en a 3). Cela va permettre à la CG d'envoyer toujours une image complète : la CG commence à calculer l’image 1 (la stocke dans la partie 1 de la mémoire), puis elle calcule l’image 2 et la met dans son buffer (partie n°2 de la mémoire) pendant qu'elle envoie la 1 au moniteur. Pendant que s'affiche l'image 1, elle calcule l'image 3 dans la partie de mémoire n°3. L'algorithme d'affichage est "prédictif" c'est à dire qu'il va prévoir le temps qu'il faut pour calculer l'image 2 et l'image 3 puisqu'il a déjà pu mesurer le temps qu'il lui a fallu pour faire la 1... Donc quand il se sera passé la moitié du temps d'affichage de l'image 1, il pourra savoir si il aura le temps de finir la 3. Si ce n'est pas le cas, il aura le temps par contre de faire la 4, puisqu'il lui reste la moitié du temps de la 1 plus celui de la 2 encore à afficher... alors la CG permute les mémoires 1 et 2, vide la 1 ...et la 3 est envoyée aux oubliettes ! ET apparition d'une saccade ! Si on tourne à 20 fps, la saccade sera nette puisque la scène change beaucoup (on saute de la 2 à la 4) par contre, si on est à 70 fps, la saccade sera proportionnelle (il y aura moins de changements entre la 2 et la 4) et donc bien moins visible.

On distingue donc les saccades (sauts d'images complètes), des déchirures (une image incomplète reçoit un complément décallé).

De tout ça, on conclu qu'un triple buffer fera baisser le FPS puisqu'il y a calcul sur 1 image plus prédiction de la suivante, au lieu de 1 mais aussi gestion de la mémoire plus complexe (voir plus bas), ceci par rapport à la syncro ou une désynchro verticale pure et simple. Mais si on ne l'active pas, il y a risques de déchirures puisqu'il n'y a plus de tampon.

Même avec le triple tampon la CG peut aussi pédaler dans la choucroute et devoir rejeter plusieurs images n’étant plus pertinentes (parce qu’arrivant trop tard) à la suite les unes des autres, dans le cas d’un gros changement de scène par exemple. C’est pareil lorsque la synchro verticale est activée, il n’y a plus de risque de déchirure, mais la saccade sera plus forte vu que la carte calcule moins de fps « à l’avance » et qu’il n’y aura pas d’images intermédiaires pour compenser. Et enfin, le triple buffer consomme plus de mémoire vive avec les inconvénients de devoir éventuellement envoyer le résidu de données à la mémoire centrale, rajoutant une charge sur le processeur qui a bien d’autres choses à faire… study

Conclusion : ces réglages sont à effectuer en fonction de votre matériel et des résultats obtenus en essayant les différentes options. Vous avez (j'espère) compris les mécanismes, à vous de voir. Sachez aussi que pour un même moteur de jeu, les résultats peuvent être très différents suivant la scène, il reste donc à trouver le bon compromis visuel.
La leçon est finie, Docteur Lulu a parlé geek jocolor Sleep

Et pour Chris en particulier, puisque nous avons comparé nos matériels (non je ne parle pas de ... Evil or Very Mad ) (presqu'identiques car dans EQ2 le nombre de cores ne compte pas Razz ), j'ai vérifié un peu dans les forums techniques, je n’ai pas trouvé de réponse : je persiste à penser qu'il y a une variante dans nos réglages de pilote et d'autre part j'ai une plus grande rémanence sur mon LCD... Bref, désynchro avec buffer, je n'ai pas de déchirures et elles ne devraient pas être aussi évidentes pour toi (elles ne devraient même pas exister d'ailleurs). T’es pas sous Vista par hasard ? lol!

A mon grand dam, je dois bien avouer que le SLI n’apporte rien à EQ2, au contraire : depuis que j’ai prêté ma 2ème CG, je trouve qu’il tourne mieux. Par contre je suis passé d’un E6600 (overclocké à 3400 Mhz) à un E8400 (à 4400 Mhz) et là je vois la différence !!! … mais c’est un fait connu qu’EQ2 fait travailler le CPU plutôt que le GPU. Les choses sont bien différentes d’un moteur de jeu à l’autre.
Revenir en haut Aller en bas
ohiunia
Roi posteur
Roi posteur
avatar

Masculin
Nombre de messages : 571
Age : 59
Date d'inscription : 02/01/2007

Feuille de personnage
Test:

MessageSujet: Re: de la syncro verticale et du racommodage d'image...   Lun 14 Juil - 4:00

affraid Mais non j'ai tout compris lol! .Merci docteur lulu. Je tourne sous xp, lelen sous vista et avec un moins bon matos, elle a moins de déchirure sans la synchro, mais elle tourne sans anticrénelage...
Revenir en haut Aller en bas
 
de la syncro verticale et du racommodage d'image...
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Dégustation verticale Joblot
» Festival de la verticale à la SAQ...
» Les membres en image
» [Aide] Insérer une image
» Verticale Clos des Papes etc.

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Symbiosis :: La taverne :: Bidouillage-
Sauter vers: