Einzelnen Beitrag anzeigen
Alt 28.11.2008, 01:31   #1 (permalink)
redilS
Extrem Performer
 
Benutzerbild von redilS
 

Registriert seit: 22.11.2004
Beiträge: 1.169

redilS ist jedem bekanntredilS ist jedem bekanntredilS ist jedem bekanntredilS ist jedem bekanntredilS ist jedem bekannt

Standard Fallout 3 - The way it's meant to be tweaked

Vorwort
Kommen neue Spiele auf den Markt finden sich kurz darauf im Netz massenweise "Tweaks", die den Spielen zu mehr Grafikpracht und/oder Leistung verhelfen sollen. Die vorgeschlagenen Änderungen sind aber tatsächlich zu einem Großteil unsinnig und optimieren lediglich den Placebo-Effekt, nicht aber das Spiel selbst. Fallout 3 ist dabei aktuell das beste Beispiel... Keiner der Autoren dieser Tweak-Guides hat sich tatsächlich die Zeit genommen um sich mit Fallout 3 auseinanderzusetzen. Viel mehr sieht es so aus, als hätte Einer vom Anderen abgeschrieben und die ganze Gruppe im Anschluss dann noch Flüsterpost gespielt.


Der Anfang vom Ende
Will man FO3 optimieren, dann bereiten die Konfigurationsdateien (.ini Dateien) bei weitem die meisten Kopfschmerzen. Bethesda hat es tatsächlich geschafft eine INI Datei auf die FO3 DVD zu packen, welche noch aus der Zeit von TES4 - Oblivion stammt. Kein Problem möchte man meinen, verwenden doch beide Spiele die gleiche Engine. Richtig? Falsch! Die in FO3 eingesetzte Version der GameBryo Engine unterscheidet sich dank Weiterentwicklungen in erheblichem Maße von der, die damals in Oblivion zum Einsatz kam. Allein der TerrainManager z.B. wurde grundlegend überarbeitet. In den INI Dateien dümpeln daher Variablen herum, welche für die Engine komplett uninteressant sind.

Und genau hier kommen die bisher veröffentlichten Tweaks ins Spiel. Wie soll man schon ein Spiel optimieren, wenn der einzig greifbare Angelpunkt in Wirklichkeit gar keiner ist? Vielleicht hätte es geholfen, wenn die Herren Meisteroptimierer auch nur einmal hinter die Fassaden geblickt hätten, statt nur stupide und auf gut Glück an etwas frickeln.


Real Tweaks
Jetzt aber meine Tweaks die garantiert nirgendwo abgeschrieben wurden und alles andere sind als ein nur Placebo....

Holt euch zunächst die korrigierte und optimierte FALLOUT.ini. Diese kopiert ihr unter Windows XP in den Ordner Eigene Dateien/My Games/Fallout3. Die vorhandene Datei könnt ich im Grunde direkt überschreiben, denn FO3 stellt selbstständig das Original wieder her, sobald diese Datei gelöscht werden sollte.

Abgesehen von den korrekten Variablen habe ich darin noch folgende Anpassungen vorgenommen:

Zitat:
[TerrainManager]
bKeepLowDetailTerrain=0

[Grass]
iMinGrassSize=160
"bKeepLowDetailTerrain" ändert nichts an der Darstellungsqualität, entlockt der Engine bei maximalen Details aber bis zu 10 Bilder/s mehr. Spielt man mit niedrigeren Details wirkt sich diese Einstellung zwar kaum aus, hat aber sonst keinen nachteiligen Effekt.

"iMinGrass" bewirkt, dass weniger Gras gerendert wird. Wie ich finde sehr passend, denn dadurch sieht die Landschaft lebloser aus und wirkt so überzeugender. Abermals ein Plus von etwa 10 Bildern/s.


Jetzt geht es der FalloutPrefs.ini an den Kragen. Diese befindet sich auch im zuvor genannten Ordner. Von dieser Datei erstellt ihr aber bitte sicherheitshalber eine Kopie. Öffnet die Datei, löscht den kompletten Inhalt darin, dann speichert und schliesst ihr die Datei. Führt nun den Fallout Launcher aus - dieser analysiert euer System und übernimmt automatisch die "optimalen" Werte. Wechselt dann in die Optionen und nehmt eure gewünschten Einstellungen vor.

Änderungen die ich anschliessend an meiner FalloutPrefs.ini vorgenommen habe:

Zitat:
[Water]
bUseWaterRefractions=1
bUseWaterReflections=1
bForceHighDetailReflections=1
bAutoWaterSilhouetteReflections=0
bUseWaterDepth=1
bUseWaterDisplacements=1
iWaterReflectWidth=512
iWaterReflectHeight=512
bUseWaterReflectionBlur=0
iWaterBlurAmount=4

[TerrainManager]
fTreeLoadDistance=100000
fBlockLoadDistanceLow=100000
fSplitDistanceMult=1.2
Die Qualität der Wasserreflektionen wurde reduziert, und das Weichzeichnen der Reflektionen abgeschaltet. Beides zusammen spart Leistung, lässt das Wasser aber besser Aussehen als mit Ultra Einstellungen. Zum Thema Wasser noch eine Anmerkung: Die GameBryo Engine berechnet Wasser selbst dann wenn meilenweit keines zu sehen ist. Mitten im Gelände bedeutet daher ein Umschalten von der höchsten zur niedrigsten Wasserqualität (auch Effekte) ein Plus von 25 bis 40 Bildern pro Sekunde.

Für den Terrainmanager wurde die Entfernung zur Darstellung von Bäumen und Gebäuden erhöht. Dies kostet zwar ein wenig der gewonnen Leistung (ca. 5 FPS), dafür sieht die entfernte Landschaft nicht mehr nach unbevölkerter Wüste aus. Auch die Geländequalität in der Entfernung wurde korrigiert - "fSplitDistanceMult" liegt mit dem Wert "1.2" unterhalb den Ultra Settings (1.5), der Unterschied fällt aber kaum auf. Reduziert man den Wert weiter fällt die Qualität merklich, erhöht man ihn dagegen geht die Bildrate ohne merklichen Qualitätszuwachs in die Knie.


Screenshots bei 1600x1200 2xAA 16xAF (Framerate rechts oben im Bild)

Landschaft 1 "Ultra": http://i37.tinypic.com/vmw2tz.jpg
Landschaft 1 "Ultra tweaked": http://i33.tinypic.com/faxykh.jpg

Landschaft 2 "Ultra": http://i38.tinypic.com/xognrs.jpg
Landschaft 2 "Ultra tweaked": http://i33.tinypic.com/1zgc5ua.jpg

Wasser "Ultra": http://i37.tinypic.com/htbrmd.jpg
Wasser "Ultra tweaked": http://i33.tinypic.com/2cdld5.jpg

Wasser "Ultra": http://i37.tinypic.com/96dh1w.jpg
Wasser "Ultra tweaked": http://i37.tinypic.com/14mg7s5.jpg


Das wars so weit. Ich hab noch einiges mehr in der Mache, speziell was die Stabilität beim Nachladen von Terrain-Zellen betrifft, diese Punkte brauchen aber noch ein paar Tests mehr.


Gruss,
redilS



P.S.
Absolut unsinnige Tweaks die gerne von andere Seiten genannt werden:
  • Multithreading anpassen: bringt 0,0 Leistung, dafür aber Hänger und Abstürze
  • uGridsToLoad: mehr Details in der näheren Umgebung, dafür mindestens 50% schlechtere Bildrate und grottige Stabilität
  • uGridDistantCount: wird in FO3 nicht mehr verwendet
  • uNumDepthGrids: wird in FO3 nicht mehr verwendet
  • iPreloadSizeLimit: angeblich ein Cache für Spielinhalte; im Code zusammen mit "iIntroSequencePriority" und "bPreloadIntroSequence" in einem Block zu finden; Klar was das ist, oder?

Geändert von redilS (30.11.2008 um 14:58 Uhr)
redilS ist offline   Mit Zitat antworten
10 Benutzer bedanken sich für den Beitrag:
Aloyse (24.12.2009), Castor_23 (28.11.2008), io.sys (28.11.2008), Killerpixel (28.11.2008), Kodak (28.12.2009), redfalcon (17.02.2009), Seebaer (25.12.2009), VL (02.12.2008), [EID]-Mr.GiZMO (29.11.2008)