Direct3D Vsync : Ca sert a quoi prerender limit ? - Carte graphique - Hardware
Marsh Posté le 17-09-2002 à 19:31:32
ben oui le vsync ça veut dire qu'il n'y a qu'une image par balayage d'écran. C'est bien + beau que sans Vsync et ça ne gêne pas la fluidité.
Marsh Posté le 17-09-2002 à 19:36:20
oui je trouve aussi que C bien plus beau
merci pour l'info je savez po trop a quoi ca server en fait
Marsh Posté le 17-09-2002 à 20:43:21
ça doit être liée au TripleBuffering.
sinon je -pense- que le driver bufferise les commandes pour 3 frames....
en fait tu gagnes en rendement, mais l'animation peut faire des accoups...
comment expliquer celà (et être sûr que c'est bon)...
Marsh Posté le 17-09-2002 à 20:54:44
en fait quand le moteur a fini de traçer son image, il indique au Direct3D/OpenGL, qu'il doit basculer entre le "front" et le "back" buffer.
le "front" buffer est l'image que tu voies, le "back" est l'image qui est en court de traçage.
lorsque tu as fini de traçer une image, tu bascules entre les deux, comme ça, en travaillant sur deux buffers d'image, on ne voit pas l'image se construire polygone par polygone (ok fo avoir de bon yeux ).
la vsync, synchronisation avec le retour balayage du moniteur, fait que ce basculement de "buffer" se fait quand le flux d'électrons du tube du moniteur est en train de remonter d'en bas à droite vers en haut à gauche du tube.
vsync désactivée, le basculement se fait à n'importe quel moment, ce qui fait que tu peux voir un déchirement à l'écran, du "tearing".
imagine deux images, une rouge, une verte, au basculement, avec la vsync, tu vois deux images l'une après l'autre rouge puis verte.
sans la vsync, tu as l'impression d'avoir une image avec une portion rouge et une portion verte.
le désavantage de la vsync, c'est que le "traçage" de l'image suivante est bloqué tant que l'on a pas basculé d'image.
dans le cas ou l'on souhaite conserver la Vsync, le TrippleBuffering viens, et là on utilise deux "back" buffers.
comme ça quand on sait que l'on attends la vsync pour basculer entre le "front" et le premier "back", on peut commençer à traçer l'image suivante dans le deuxième "back".
------
le prerenderlimit, doit jouer au niveau driver pour tamponner le flux de commande venant d'un appli 3d pour N images...
ceci afin de maximizer le rendement (via du parallélisme, pendant que l'on traçe, on accepte les commandes de traçage de l'image suivante).
-------
par exemple les benchmarks comme 3dmark font sauter cette optimisation qui pourrait fausser les mesures de fps, en "verrouillant" le back-buffer (bon c'est un terme d3d).
Marsh Posté le 18-09-2002 à 19:33:50
Ok merci ma poule en fait faut mieux laisser tel quel
par contre je capte pas par defaut j'ai comme valeur :
- 2 pour openGl
- 3 pour D3D
de tout facon je laisse out le temp vsync on que ca soit avec D3D ou OpenGL sinon dans certain jeux les texture sont strayer quand jbouge trop vite ma souris ( Quoi ??? C ma vie ok ok ct juste hoistoire de dire)
Marsh Posté le 19-09-2002 à 01:15:59
Merci les gars, cette discussion m'a permis de trouver d'ou venait mon problème de hachures horizontales avec directx. En fait j'ai comme l'impression que les derniers détonators m'ont changé quelques trucs dans ma config et ont mis d'office le Vsync Off dans toutes les applications... et pour me débarrasser de ces vilaines hachures, un petit tour sur ce forum et le tour est joué
Marsh Posté le 19-09-2002 à 19:16:22
de rien
en tout K ta de la chance moi j'ai mis gras de temps a capter d'ou vener C "achure"
Marsh Posté le 23-09-2002 à 01:48:58
Arf, en fait je viens de m'appercevoir que j'ai résolu en partie mon problème puisque je n'ai plus ces hachures dans mes jeux en 3D par contre... en 2D le problème persiste! C'est à dire que quand par exemple je bouge une fenetre sous windows, ca se voit vachement avec les bords verticaux mais le pire c'est avec les divx, qui ont ces memes stris assez énervant lors des mouvement horizontaux! si vous saviez quel paramétre changer, ce serait sympa parcequ'avec tous les trucs qu'on peut modifier dans les tweaker j'ai peur de faire de mauvaises manip.
Merci d'avance. à bientot
Marsh Posté le 17-09-2002 à 19:28:29
C normal que quand j'active Vsync dans les propriete de directX mes FPS ne depasse pas 85 ?
C comme si yavait un max fps = 85
Message édité par Lao le 17-09-2002 à 20:08:48