[Tuto] Optimiser Battlefield 3
2 participants
Page 1 sur 1
[Tuto] Optimiser Battlefield 3
-Commencer par vous rendre dans votre dossier d'installation de Battlefield 3
C:\Program Files (x86)\Origin Games\Battlefield 3 --> Cela dépend de votre installation.
Dans le dossier "Battlefield 3" créer un fichier texte "user.cfg"
-Vérifier les options des dossiers sous Windows afin de décocher la case: "Masquer les extentions des fichiers dont le type est connu" dans l'onglet Affichage. Autrement le fichier "user.cfg" risque en réalité d'être appeler "user.cfg.txt".
-Votre fichier en place il ne vous reste plus qu'à optimiser le jeu à votre façon.
1 = Activer
0 = Désactiver
-----------------------------------------------------------------------------------------------------------------------------
----------------------------! ! ! Pour les utilisateurs avancés ! ! !-----------------------------
-----------------------------------------------------------------------------------------------------------------------------
RenderDevice.Dx11Enable 1 ou 0
(1) Pour utiliser l'API Direct3D11 "DirectX11" / (0) Pour utiliser l'API Direct3D10 "DirectX10"
Render.PerfOverlayEnable 1 ou 0
Affiche les FPS en instantané ainsi que l'utilisation cpu/gpu
Render.DrawFps 1 ou 0
Affiche les FPS moyenne fixe
Render.PerfOverlayVisible 1 ou 0
Affiche l'utilisation cpu/gpu
RenderDevice.TripleBufferingEnable 1 ou 0
Désactive le TripleBuffering et vous passe en DoubleBuffering
Equivalents ou assimilés : Triple buffering
La technique du triple buffer (ou triple buffering) est une amélioration de la technique du double buffer. Au lieu d'utiliser 2 buffers, on en utilise 3. De cette manière, le processeur graphique peut toujours écrire dans deux buffers afin que l'image contenue dans le troisième soit envoyée à l'écran.
En fait tant le double que le triple buffering implique, pour éviter tout effet de décalage de l'image lors de son affichage, que la production de pixels par le processeur graphique soit synchronisée avec la vitesse de rafraîchissement de l'écran. Toutefois, il arrive que le processeur graphique remplisse parfois plus rapidement ou plus lentement un buffer que la vitesse à laquelle ne s'affiche les images. Dans cette situation, il est préférable de disposer d'un maximum de buffers. On parle de la théorie des buffers séquentielle infinie. Evidemment, on ne peut pas avoir une infinité de buffers dans la mémoire de la carte vidéo, ni même une dizaine. Le triple buffer représente un bon compromis. Ainsi quand le processeur est trop lent durant une courte période, l'un des buffers dispose d'une image complète en avance. Avec le double buffering, il n'en dispose d'aucune d'avance.
Comme pour le double buffering, on peut utiliser le page flipping ou le bloc transfert pour changer les buffers. Avec le triple buffer, le buffer où sont écrites les informations du processeur se nomme toujours le back buffer, le buffer où sont lues les informations destinées à l'écran se nomme le front buffer. Le buffer intermédiaire n'a pas vraiment de nom. L'ensemble de ces buffers forme le frame buffer.
RenderDevice.ForceRenderAheadLimit 0 ou 2,3,4 ou 5
Le "RenderAheadLimit" est une fonction qui limite le nombre d'images que pré calcule par avance le CPU avant de les envoyer à la carte graphique pour traitement, car dans certains cas, cela génère du freeze d'images, voir lag permanent, voir même plantages du client.
à 0 le CPU pré calcule un max d'image, et plus le paramètre monte, plus le nombre d'image pré calculées est petit.
Ainsi en fonction de la config :
- si le CPU est légèrement surpuissant par rapport à la CG, il faut monter le chiffre de ce paramètre (vers 2, 3, 4 ou 5) : (genre un i7-950 avec une GT8800 : il faut le mettre à 5)
- si le CPU est légèrement en sous capacité par rapport à la CG (genre un 6600 avec une HD5870), il faut le mettre à 0
En clair si vous n'avez pas de lag ou plutôt de freeze d'images réguliers et que le FPS ne fait pas de yoyo, mettez le à 0
si le FPS fait du yoyo (même sur une grosse config) genre 120 en crête mais avec des chuttes à 60 dans certains cas, mettez le RenderAheadLimit à 2 ou à 3 (faites des tests) : ça diminue les crêtes de FPS un peu mais stabilise son niveau en moyenne.
RenderDevice.VSyncEnable 0 ou 1
L'écran a une fréquence de rafraichissement particulière. ex : 100 Hz, signifie qu'il "change" l'image 100 fois par seconde.
Or le PC peut calculer parfois plus d'images par secondes. La Vsynchro permet de limiter la création d'images par ta CG à la vitesse de ton écran. Dans le cas au dessus tu aura 100 images/s max.
Si pas de synchro alors le PC envoie autant d'images qu'il peut à l'écran sans ce soucier de quand il les envois. C'est pourquoi sans synchro il peut y avoir parfois des "lignes" lors des mouvement. En effet l'image n'est pas fini d'afficher à l'écran que ton pc envoie une nouvelle image (j'ai encore jamais vue ). A l'écran il y a un bout de l'image précédente (1 dans l'exemple en dessous) et un autre bout de l'image qu'il vient de calculer (2).
ex : 1111111111
1111111111
1111111111
1111122222
2222222222
2222222222
Donc:
Avec synchro bien mais perte de perfs.
Sans synchro gain de perfs mais effet désagréable
WorldRender.MotionBlurEnable 1 ou 0
Active ou désactive les flou qui font vomir lors des mouvement rapide en jeux.
WorldRender.FxaaEnable 1 ou 0
https://www.youtube.com/watch?feature=player_embedded&v=T1KePfUFYMA [youtube.com]
WorldRender.SpotLightShadowmapResolution 256
Ombres autour des lumières par contre j'ai chercher je ne sais pas à quoi correspond le chiffre mais c'est celui qui reviens le plus souvent autrement les autres choix sont 2048 & 4096 (je crois que c'est la résolution de l'ombre)
PostProcess.DynamicAOEnable 1 ou 0
Permet de s'assurer qu'aucune forme d’Occlusion ambiante n'est employée
WorldRender.DxDeferredCsPathEnable 1ou 0
Permet de gagner entre 5 et 30 fps et de corriger quelques bugs avec les cartes nVidia
WorldRender.TransparencyShadowmapsEnable 1 ou 0
Active (1) desactive (0) la transparence des ombres sur les bâtiments et autre objets sur la map
Une fois les modifications effectuées click droit sur le fichier "propriétés" cocher le case "lecture seule"
Vous pouvez aussi éditer d'autres lignes dans Documents\Battlefield 3\settings\PROF_SAVE_profile
GstAudio.CarRadio 0 ou 1 // musique dans les véhicules (marche pas chez moi)
GstRender.AmbientOcclusion 0 ou 1 // occlusion ambiante modifie l'intensité de la lumière
GstRender.FieldOfView 70.000000 // (FOV) en le réduisant à 70 vous augmentez votre distance de vision. si vous augmentez vous verrez plus large mais moins loin, donc 70 est un bon compromis .
GstRender.MotionBlur 0.000000 // flou en mouvement
GstRender.MotionBlurEnabled 0
GstRender.VSync 0 ou 1 // synchronisation vertical
GstInput.MouseRawInput 1 // permet d'utiliser les boutons secondaire de la souris
C:\Program Files (x86)\Origin Games\Battlefield 3 --> Cela dépend de votre installation.
Dans le dossier "Battlefield 3" créer un fichier texte "user.cfg"
-Vérifier les options des dossiers sous Windows afin de décocher la case: "Masquer les extentions des fichiers dont le type est connu" dans l'onglet Affichage. Autrement le fichier "user.cfg" risque en réalité d'être appeler "user.cfg.txt".
-Votre fichier en place il ne vous reste plus qu'à optimiser le jeu à votre façon.
1 = Activer
0 = Désactiver
-----------------------------------------------------------------------------------------------------------------------------
----------------------------! ! ! Pour les utilisateurs avancés ! ! !-----------------------------
-----------------------------------------------------------------------------------------------------------------------------
RenderDevice.Dx11Enable 1 ou 0
(1) Pour utiliser l'API Direct3D11 "DirectX11" / (0) Pour utiliser l'API Direct3D10 "DirectX10"
Render.PerfOverlayEnable 1 ou 0
Affiche les FPS en instantané ainsi que l'utilisation cpu/gpu
Render.DrawFps 1 ou 0
Affiche les FPS moyenne fixe
Render.PerfOverlayVisible 1 ou 0
Affiche l'utilisation cpu/gpu
RenderDevice.TripleBufferingEnable 1 ou 0
Désactive le TripleBuffering et vous passe en DoubleBuffering
Equivalents ou assimilés : Triple buffering
La technique du triple buffer (ou triple buffering) est une amélioration de la technique du double buffer. Au lieu d'utiliser 2 buffers, on en utilise 3. De cette manière, le processeur graphique peut toujours écrire dans deux buffers afin que l'image contenue dans le troisième soit envoyée à l'écran.
En fait tant le double que le triple buffering implique, pour éviter tout effet de décalage de l'image lors de son affichage, que la production de pixels par le processeur graphique soit synchronisée avec la vitesse de rafraîchissement de l'écran. Toutefois, il arrive que le processeur graphique remplisse parfois plus rapidement ou plus lentement un buffer que la vitesse à laquelle ne s'affiche les images. Dans cette situation, il est préférable de disposer d'un maximum de buffers. On parle de la théorie des buffers séquentielle infinie. Evidemment, on ne peut pas avoir une infinité de buffers dans la mémoire de la carte vidéo, ni même une dizaine. Le triple buffer représente un bon compromis. Ainsi quand le processeur est trop lent durant une courte période, l'un des buffers dispose d'une image complète en avance. Avec le double buffering, il n'en dispose d'aucune d'avance.
Comme pour le double buffering, on peut utiliser le page flipping ou le bloc transfert pour changer les buffers. Avec le triple buffer, le buffer où sont écrites les informations du processeur se nomme toujours le back buffer, le buffer où sont lues les informations destinées à l'écran se nomme le front buffer. Le buffer intermédiaire n'a pas vraiment de nom. L'ensemble de ces buffers forme le frame buffer.
RenderDevice.ForceRenderAheadLimit 0 ou 2,3,4 ou 5
Le "RenderAheadLimit" est une fonction qui limite le nombre d'images que pré calcule par avance le CPU avant de les envoyer à la carte graphique pour traitement, car dans certains cas, cela génère du freeze d'images, voir lag permanent, voir même plantages du client.
à 0 le CPU pré calcule un max d'image, et plus le paramètre monte, plus le nombre d'image pré calculées est petit.
Ainsi en fonction de la config :
- si le CPU est légèrement surpuissant par rapport à la CG, il faut monter le chiffre de ce paramètre (vers 2, 3, 4 ou 5) : (genre un i7-950 avec une GT8800 : il faut le mettre à 5)
- si le CPU est légèrement en sous capacité par rapport à la CG (genre un 6600 avec une HD5870), il faut le mettre à 0
En clair si vous n'avez pas de lag ou plutôt de freeze d'images réguliers et que le FPS ne fait pas de yoyo, mettez le à 0
si le FPS fait du yoyo (même sur une grosse config) genre 120 en crête mais avec des chuttes à 60 dans certains cas, mettez le RenderAheadLimit à 2 ou à 3 (faites des tests) : ça diminue les crêtes de FPS un peu mais stabilise son niveau en moyenne.
RenderDevice.VSyncEnable 0 ou 1
L'écran a une fréquence de rafraichissement particulière. ex : 100 Hz, signifie qu'il "change" l'image 100 fois par seconde.
Or le PC peut calculer parfois plus d'images par secondes. La Vsynchro permet de limiter la création d'images par ta CG à la vitesse de ton écran. Dans le cas au dessus tu aura 100 images/s max.
Si pas de synchro alors le PC envoie autant d'images qu'il peut à l'écran sans ce soucier de quand il les envois. C'est pourquoi sans synchro il peut y avoir parfois des "lignes" lors des mouvement. En effet l'image n'est pas fini d'afficher à l'écran que ton pc envoie une nouvelle image (j'ai encore jamais vue ). A l'écran il y a un bout de l'image précédente (1 dans l'exemple en dessous) et un autre bout de l'image qu'il vient de calculer (2).
ex : 1111111111
1111111111
1111111111
1111122222
2222222222
2222222222
Donc:
Avec synchro bien mais perte de perfs.
Sans synchro gain de perfs mais effet désagréable
WorldRender.MotionBlurEnable 1 ou 0
Active ou désactive les flou qui font vomir lors des mouvement rapide en jeux.
WorldRender.FxaaEnable 1 ou 0
https://www.youtube.com/watch?feature=player_embedded&v=T1KePfUFYMA [youtube.com]
WorldRender.SpotLightShadowmapResolution 256
Ombres autour des lumières par contre j'ai chercher je ne sais pas à quoi correspond le chiffre mais c'est celui qui reviens le plus souvent autrement les autres choix sont 2048 & 4096 (je crois que c'est la résolution de l'ombre)
PostProcess.DynamicAOEnable 1 ou 0
Permet de s'assurer qu'aucune forme d’Occlusion ambiante n'est employée
WorldRender.DxDeferredCsPathEnable 1ou 0
Permet de gagner entre 5 et 30 fps et de corriger quelques bugs avec les cartes nVidia
WorldRender.TransparencyShadowmapsEnable 1 ou 0
Active (1) desactive (0) la transparence des ombres sur les bâtiments et autre objets sur la map
Une fois les modifications effectuées click droit sur le fichier "propriétés" cocher le case "lecture seule"
Vous pouvez aussi éditer d'autres lignes dans Documents\Battlefield 3\settings\PROF_SAVE_profile
GstAudio.CarRadio 0 ou 1 // musique dans les véhicules (marche pas chez moi)
GstRender.AmbientOcclusion 0 ou 1 // occlusion ambiante modifie l'intensité de la lumière
GstRender.FieldOfView 70.000000 // (FOV) en le réduisant à 70 vous augmentez votre distance de vision. si vous augmentez vous verrez plus large mais moins loin, donc 70 est un bon compromis .
GstRender.MotionBlur 0.000000 // flou en mouvement
GstRender.MotionBlurEnabled 0
GstRender.VSync 0 ou 1 // synchronisation vertical
GstInput.MouseRawInput 1 // permet d'utiliser les boutons secondaire de la souris
nicaw- Administrateur
- Nombre de messages : 704
Age : 41
Date d'inscription : 07/07/2010
Nicaw78
Re: [Tuto] Optimiser Battlefield 3
Tu as appliqué personnellement ces paramètres Nicaw ? Si oui, as-tu vu une RÉELLE différence ?
Si certains d'entres vous ont appliqués ces modif', je suis curieux d'avoir vos retours.
Si certains d'entres vous ont appliqués ces modif', je suis curieux d'avoir vos retours.
Re: [Tuto] Optimiser Battlefield 3
voila le contenu de mon user.cfg
Render.PerfOverlayEnable 0
Render.PerfOverlayVisible 0
Render.DrawFps 1
RenderDevice.Dx11Enable 0
RenderDevice.TripleBufferingEnable 1
RenderDevice.ForceRenderAheadLimit 3
RenderDevice.VSyncEnable 0
WorldRender.MotionBlurEnable 0
PostProcess.DynamicAOEnable 0
ces paramètres te permettent d'être sûr de la désactivation ou activation de tels ou tels options, par exemple la désactivation du motionblur et de dynamicAO qui s'applique bien grâce à ce fichier car avant elles s'affichaient quand même alors qu'elles étaient désactivées dans le menu.
ce fichier te permet aussi d'afficher tes fps et l'overlay au lancement du jeu plutôt que de retaper la commande dans la console à chaque fois.
après à toi de voir ce que tu veux activer ou non selon ta config ou tes préférences.
Render.PerfOverlayEnable 0
Render.PerfOverlayVisible 0
Render.DrawFps 1
RenderDevice.Dx11Enable 0
RenderDevice.TripleBufferingEnable 1
RenderDevice.ForceRenderAheadLimit 3
RenderDevice.VSyncEnable 0
WorldRender.MotionBlurEnable 0
PostProcess.DynamicAOEnable 0
ces paramètres te permettent d'être sûr de la désactivation ou activation de tels ou tels options, par exemple la désactivation du motionblur et de dynamicAO qui s'applique bien grâce à ce fichier car avant elles s'affichaient quand même alors qu'elles étaient désactivées dans le menu.
ce fichier te permet aussi d'afficher tes fps et l'overlay au lancement du jeu plutôt que de retaper la commande dans la console à chaque fois.
après à toi de voir ce que tu veux activer ou non selon ta config ou tes préférences.
nicaw- Administrateur
- Nombre de messages : 704
Age : 41
Date d'inscription : 07/07/2010
Nicaw78
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum