Mehr Bumms im FSX

Benutzer
Avatar
Geschlecht:
Herkunft: Deutschland
Alter: 35
Beiträge: 956
Dabei seit: 08 / 2009
Prozessor: AMD Ryzen 7 3700X
Speicher: 32 GB DDR4-3200
Grafikkarte: MSI RTX 2070 SUPER
Flugsimulator: P3D v5, MSFS
Anzahl meiner Flüge: viele
Betreff:

Mehr Bumms im FSX

 · 
Gepostet: 22.03.2015 - 20:18 Uhr  ·  #1
Liebe FSX-User,

aus aktuellem Anlass werde ich mal eine kleine Anleitung schreiben, welche Tweaks dem FSX Performance entlocken und welche eher überflüssig sind. Dabei greife ich als Beispiel auf die Config-Einträge zurück, die auf meinem Rechner das beste Ergebnis erzielt haben.
Auf einem anderen System können die für eine gute Performance erforderlichen Werte natürlich wieder vollkommen anders sein, deswegen hilft nur ausprobieren.
Und Finger weg von irgendwelchen Tools, welche die eigene Config automatisch verbessern sollen, denn diese machen in Wirklichkeit mehr kaputt als die ganze Sache wert ist. Lieber ein wenig Zeit investieren und selbst die verschiedenen Parameter ausprobieren.

Beginnen wir mit dem wohl bekanntesten Eintrag, welcher bei mir einen enormen Performance-Schub erzielt hat:

[BufferPools]
UsePools=0
RejectThreshold=2097152


Der Abschnitt [BufferPools] muss in den meisten Fällen manuell in die Config eingetragen werden, da dieser standardmäßig noch nicht vorhanden ist.

Der Eintrag UsePools=0 führt dazu, dass dem FSX kein Video-RAM in der Grafikkarte zum Zwischenspeichern reserviert wird, sondern die Daten von der CPU direkt zur GPU durchgereicht werden, ohne dass diese vorher zwischengepuffert werden. Dies führt zu einer erheblichen Reduktion der FPS-Varianz, hat jedoch den Nachteil, dass im FSX aufblitzende Artefakte auftreten können.
Der zweite Wert RejectThreshold=2097152 dient dazu, diesen Effekt zu reduzieren, ganz abstellen wird man diesen jedoch nicht können, damit muss man einfach leben. Bei diesem Eintrag kann man mit verschiedenen Werten experimentieren. Der Wert 2097152 entspricht 2 MB (2097152 Byte) und stellt eine Grenze dar, bis zu welcher die Daten noch zwischengepuffert werden. In diesem Beispiel werden GPU-Anfragen unter 2 MB zwischengepuffert, Datenpakete über 2 MB werden direkt zur GPU durchgereicht.


Der nächste Eintrag regelt die Lastverteilung der einzelnen CPU-Kerne und macht erst ab einem Quad-Core-Prozessor sinn:

[JOBSCHEDULER]
AffinityMask=14


Auch hier muss der Abschnitt [JOBSCHEDULER] manuell der Config hinzugefügt werden, sofern noch nicht vorhanden.

Der Wert 14 ist für Vierkerner ohne Hyperthreading empfohlen (z.B. Intel Core i5) und weist den FSX an, den Core 1 nicht zu benutzen, damit dieser frei bleibt für Windows und andere Programme. Bei Prozessoren mit Hyperthreading (z.B. Intel Core i7) ist auf jedem physischen Kern noch ein virtueller Kern vorhanden, sodass jeder Kern zwei Threads gleichzeitig ausführen kann. Hier muss anstatt 14 der Wert 252 eingetragen werden, damit eben der echte Core 1 und der virtuelle Core 1 vom FSX nicht benutzt werden. Da es jedoch mit aktiviertem Hyperthreading immer wieder zu Problemen kommt, empfiehlt es sich, diese Funktion im BIOS zu deaktivieren und für den Eintrag AffinityMask den Wert 14 beizubehalten, da der FSX schlicht und einfach gar kein Hyperthreading unterstützt.


Weiter geht es mit den Einträgen HIGHMEMFIX=1 und STALE_BUFFER_THRESHOLD=1024, welche bei der Verwendung von Addons, welche mit sehr hoch aufgelösten Texturen arbeiten, OOM's ein wenig eindämmen können, ganz verhindern lassen sich diese jedoch nicht. Diese Werte werden in der Config unter dem Abschnitt [GRAPHICS] eingefügt, welcher standardmäßig vorhanden ist.


Der Eintrag TEXTURE_MAX_LOAD=4096 weist den FSX an, Texturen mit einer Auflösung von bis zu 4096x4096 zu laden, sofern ein Addon mit einer solch hohen Texturauflösung installiert ist. Der Parameter TEXTURE_MAX_LOAD ist bereits unter dem Abschnitt [GRAPHICS] vorhanden und muss nur noch umgeändert werden, da dieser standardmäßig mit dem Schieberegler Globale Strukturauflösung im FSX-Einstellungsmenü verknüpft ist und bei voll aufgedrehtem Regler den Wert 1024 annimmt. Manuell über die Config lässt sich dieser Wert eben erhöhen, dann muss dieser jedoch jedes Mal wieder manuell auf 4096 gesetzt werden, wenn irgendwelche Änderungen im FSX-Menü vorgenommen werden, da ansonsten wieder der Standardwert festgelegt wird.


Kommen wir nun zu einem sehr spannenden Parameter: FIBER_FRAME_TIME_FRACTION=0.05
Dieser Parameter ist standardmäßig nicht in der Config vorhanden und muss unter dem Abschnitt [Main] eingefügt werden.
Der Wert dieses Parameters beeinflusst das Verhältnis zwischen "Texturen nachladen" und "Frames oben halten".
Standardmäßig benutzt der FSX ein Verhältnis von 0.33, was bedeutet, dass beispielsweise alle 100 Sekunden Rendering 33 Sekunden zum Nachladen der Texturen reserviert werden. Schraubt man den Wert weiter runter, erhält man bessere Frames, jedoch kann es dazu kommen, dass die Texturen nicht mehr schnell genug nachladen und es somit zu matschigen "Blurries" kommt. Die beste Performance hatte ich bei dem Wert 0.00, jedoch ist bereits nach wenigen Minuten Flugzeit nur noch Texturmatsch am Boden zu sehen gewesen, weswegen ich als guten Kompromiss den Wert 0.05 eingestellt habe.


Dann gäbe es noch den Parameter SWAP_WAIT_TIMEOUT=20, welcher ebenfalls nicht standardmäßig in der Config vorhanden ist und unter dem Abschnitt [TERRAIN] einzufügen ist.
Dieser Eintrag schafft etwas Abhilfe, wenn es zu Timeouts beim Nachladen der Texturen kommen sollte und anstatt einer Textur nur eine blanke Fläche zu sehen ist.


Über den Parameter LOD_RADIUS, welcher bereits standardmäßig in der Config unter dem Abschnitt [TERRAIN] vorhanden ist, lässt sich die Distanz erhöhen, bis zu welcher der FSX die Texturen im Voraus lädt, um auch in weiter Entfernung scharfe und detaillierte Bodentexturen darzustellen. Dieser Parameter ist wie auch der zuvor angesprochene Parameter TEXTURE_MAX_LOAD mit einem Schieberegler im FSX-Einstellungsmenü verknüpft, nämlich mit dem Regler Radius Detailgenauigkeit. Bei voll nach rechts geschobenem Regler entspricht diese Einstellung dem Wert 4.500000 in der Config. Manuell lässt sich dieser extrem erhöhen, auf Werte von 9 oder mehr. Auch hier muss der Wert nach einer Änderung im FSX-Einstellungsmenü wieder von Hand geändert werden, da dieser wieder überschrieben wird.
Ich würde es jedoch tunlichst vermeiden, hier einen Wert höher als den Standardwert von 4.500000 zu wählen, da dies eine extreme Belastung des Speichermanagements des FSX nach sich zieht, was sehr schnell zu OOM's führen wird.


Zuletzt möchte ich noch auf ein besonderes Thema eingehen, nämlich das Begrenzen der Framerate, was beim FSX extrem wichtig ist.
Fliegt man im FSX mit unlimitierter Framerate, versucht dieser, da nämlich kein Limit definiert ist, die Frames so weit wie möglich oben zu halten, was zu sehr hohen FPS-Varianzen nach sich ziehen kann, welche zu Stottern, Mikrorucklern und sogar Texturmatsch führen können. NVidia-User haben es besonders einfach. Im FSX wird die Framerate auf 30 begrenzt
und im Tool NVIDIA Inspector unter dem Profil MS Flight Simulator X beim Parameter Vertical Sync im Abschnitt Common die Einstellung 1/2 Refresh Rate gewählt. Sehr wichtig ist hierbei, dass bei den Monitor-Einstellungen in Windows der Monitor mit genau 60 Hertz angesteuert wird. Durch den Eintrag im NVIDIA Inspector wird das VSync dann auf 30 Frames begrenzt, was im FSX zu einem sehr viel ruhigeren Bild führt. Dieser Tweak funktioniert nur, wenn der FSX im Vollbildmodus betrieben wird, was sowieso dringend zu Empfehlen ist, da der FSX im Fenstermodus einfach nicht smooth läuft und immer wieder Mikroruckler produziert.

So, ich hoffe, dass dieser Guide denjenigen etwas helfen kann, die mit Performance-Problemen im FSX zu kämpfen haben.
Viel Spaß beim Experimentieren :-)

Hier noch ein Screenshot meiner NVIDIA Inspector-Settings, welche bei meiner GeForce GTX 560 Ti ein gutes Ergebnis bei guter Performance erzielt haben:




Und zum Schluss noch die Quellen meiner Recherchen, falls sich jemand noch tiefer in die Materie einlesen will:

http://www.simforums.com/forum…33172.html

http://www.sim-outhouse.com/so…BufferPool

http://flightx.net/board4-micr…beispielen

http://forum.aerosoft.com/inde…framerates

http://forum.aerosoft.com/inde…ighmemfix1

http://www.simforums.com/forum…25507.html

http://www.fsmagazin.de/forum/index.php?topic=939.0
D-EDMH
 
Avatar
 
Betreff:

Re: Mehr Bumms im FSX

 · 
Gepostet: 22.03.2015 - 20:38 Uhr  ·  #2
Sehr geil...hätteste das ma früher gemacht..ich hab dafür jetzt mühevoll 5 std in eigenregie google durch sucht :D

Aber sehr geil! Danke! :)
Benutzer
Avatar
Geschlecht:
Herkunft: Deutschland
Alter: 35
Beiträge: 956
Dabei seit: 08 / 2009
Prozessor: AMD Ryzen 7 3700X
Speicher: 32 GB DDR4-3200
Grafikkarte: MSI RTX 2070 SUPER
Flugsimulator: P3D v5, MSFS
Anzahl meiner Flüge: viele
Betreff:

Re: Mehr Bumms im FSX

 · 
Gepostet: 22.03.2015 - 20:41 Uhr  ·  #3
Lösche am besten mal deine Config (FSX erstellt die beim Start dann neu, vorher aber Sicherungskopie machen) und dann wende nur die von mir beschriebenen Sachen an, nicht dass da nochwas durcheinander gerät.
D-EDMH
 
Avatar
 
Betreff:

Re: Mehr Bumms im FSX

 · 
Gepostet: 22.03.2015 - 20:44 Uhr  ·  #4
Keine Sorge - passt alles soweit. meine einstellungen differieren halt etwas aber ist ja auch angepasst auf das was schlummert...

merke schon, dass - trotz der tatsache dass der fsx sehr cpu lastig ist - es ganz gut, dass bald die GTX 780 im pc ist :)

BTW: komm doch mal bitte online s ofern du kannst - wäre ganz nett :)
Gewählte Zitate für Mehrfachzitierung:   0

Registrierte in diesem Topic

Aktuell kein registrierter in diesem Bereich

Die Statistik zeigt, wer in den letzten 5 Minuten online war. Erneuerung alle 90 Sekunden.
MySQL Queries: 15 · Cache Hits: 15   58   73 · Page-Gen-Time: 0.162084s · Speichernutzung: 2 MB · GZIP: ein · Viewport: SMXL-HiDPI