de A320 hérétique » Dim 23 Nov 2014 12:47
Bonjour Cyrille,
voilà une tentative d'explication simple.
Une image FSX, c'est une géométrie, des textures, de l'éclairage, de la rasterisation, du clipping, et plein de choses encore, la CG est équipée de tout ce qu'il faut pour traiter massivement toutes ces fonctions.
La géométrie de chaque image FSX est composée de vertices ; à chaque nouvelle image, FSX envoie les vertices dans des buffers gérés par lui (ces buffers, "bufferpools" sont sur la CG mais dans l'espace adressable du PC) ; la CG puise dans ces buffers pour élaborer l'image.
La fluidité de l'affichage va grandement dépendre de la fluidité de ce flux FSX -> Vertex buffer -> unités de traitement vertex de la CG.
Il est clair que si la CG n'arrive pas à traiter suffisament vite les vertices stockés dans le buffer, FSX va les écraser avec les vertices de l'image suivante, ou alors le buffer va refuser les nouvelles vertices, et la CG affichera des images abimées ; on va donc avoir intérêt à augmenter la taille totale de ces buffers, mais cela se fera au détriment des perfs, car la gestion de ces buffers est lourde, elle coute des fps.
[BUFFERPOOLS]
userpools=1
poolsize=xxxx
avec xxx = taille en bytes du buffer :
1048576 : 1 MB
2097152 : 2 MB
4194304 : 4 MB
8388608 : 8MB, ...
Si la carte graphique est plus rapide que FSX, le tweak classique est de by-passer ces buffers, de telle sorte que FSX envoie ses vertices directement à la CG : on y gagne les fps que FSX perdait à gérer les buffers ; mais attention, si la CG est à la bourre, pb !
Il y a un second paramètre très efficace, le "rejectthreshold" qui permet d'établir 2 flux de vertices : un premier flux, composé de petits vertices, envoyés aux buffers, et un second, contenant tous les plus volumineux autres vertices directement à la CG. En ajustant ce paramètre, on parvient à optimiser assez finement l'équilibre performances/stabilité.
Le "rejectthreshold" est la taille exprimée en bytes du plus lot de vertices envoyé aux buffers.
[BUFFERPOOLS]
rejectthreshold=xxxx
avec xxx = taille maximale, exprimée en bytes, des vertices envoyés aux buffers :
524288 : 512 kB
262144 : 256 kB
131072 : 128 kB
65536 : 64 kB, ...
arrivé à 0, cela équivaut donc à userpools=0.
A la lecture de tout ça, tu comprendras qu'il n'y a pas de paramétrage type ! ça dépend complètement de ton couple CPU/GPU, de ton paramétrage de complexité graphique et des scènes que tu utilises. Il va falloir que tu fasses des essais successifs. Tu peux par exemple commencer par :
[BUFFERPOOLS]
userpools=1
poolsize=4194304
rejectthreshold=262144
Si tu as toujours de pb, augmente userpools, et supprime ou augmente rejectthreshold.
Si c'est bon, tu peux diminuer poolsize, et surtout mais progressivement le rejectthreshold.
Ceci dit, si tu restes sur FSX, tu as quand même beaucoup à gagner à changer ta conf ...
Bon courage, Michel
http://www.myA320sim.comSimu mixte P3D/FS2020, serveur P3Dv4/A320 FMGS (7700k et GTX 1070 sous W10 64), client P3Dv4/FS2020 (i9-12900K et RTX 4070 Ti Super sous W10 64), 3 vdp Optoma GT1080E, client A320 FMGS (2600k sous W10 64).