PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : aths' Ultima IX Tweaking Guide


aths
2001-11-10, 00:10:36
Vorneweg: Der Guide ist Februar/März 2001 entstanden und wurde von mir seither nicht geupdated. Gepostet hab ich das nun wegen einer Anfrage von einem anderen Thread.

Der Ultima-IX-Tweaking-Guide.

Um U9 vernünftig zu spielen, benötigt man entgegen dem Text auf der Packung:

- Eine schnelle CPU (ab PIII 500)
- Viel RAM (128 MB Minimum, bis 192 MB spürbare Verbesserungen)
- Eine 3dfx-Karte (ab Banshee, sehr gute Ergebnisse ab Voodoo3/4. Optimal ist Voodoo5.)

Ist *eine* der drei Bedinungen nicht erfüllt, kann man in der Regel *trotzdem* noch ein halbwegs anständiges Spiele-Erlebnis hinbekommen. Sind *zwei* Bedinungnen nicht erfüllt, wird U9 jedoch keinen richtigen Spass mehr machen.

Um das Spiel nun anzupassen, sollte die options.ini direkt editiert werden. Vorher *unbedingt* eine Sicherheits-Kopie erstellen!

Es wird nicht auf alles eingegangen. Um den Guide nicht ewig lang werden zu lassen, habe ich mich auf Optionen beschränkt wo sich die Änderungen deutlich auf die Leistung auswirken. Die anderen Optionen kann man in der Regel so lassen. Die Einstellmöglichkeiten werden von mir mit C, R oder V bezeichnet. Das bedeutet, die Werte haben Einfluss auf CPU-, RAM- oder VGA-Leistung. G bedeutet, dass die Option nur bei Glide eine Bedeutung hat. Wird D3D benutzt, bitte keine mit G bezeichnete Option ändern. D bedeutet, dass die Option nur für D3D gilt. Glide-Nutzer sollten hier nichts ändern.

Bitte achtet auf G und D!

[Performance]
FarClippingPlaneDistance=
MiddleClippingPlaneDistance=

(C, R) Hier sind in der INI-Datei selbst Beispiele für die Werte angegeben. Das kann man so übernehmen. Persönlich spiele ich mit 8000 / 4000.

Use16BitTextures=

(G: R) Mit 8-Bit-Texturen (also 0 setzen) sieht es vergleichbar aus, aber die Performance steigt. Wichtig: Die 8-Bit-Texturen müssen auch installiert sein. Bei 16 Bit sind einige Farbverläufe glatter, aber es werden nicht mehr alle Texturen gefiltert (bilinear interpoliert.) Da bei 8-Bit-Texturen im Vergleich die doppelte Anzahl im lokalen RAM auf der Karte gehalten werden können, empfehle ich dringend der Leistung wegen diese Texturen zu verwenden.

DungeonClippingPlaneDistance=

(C, R) Persönlich wähle ich hier 2500. Bei schwacher CPU oder wenig RAM jedoch knallhart sparen, 1500 reicht noch aus.

UseCompressedTextures=

(D: R) Wenn DXTC (=S3TC) von der Hardware unterstützt wird, und das entsprechende Texturformat installiert wurde, kann sich die Leistung kräftig verbessern (Ab Savage4, Geforce256). Um RAM zu sparen, auf 1 setzen. Ansonsten auf 0 lassen. Nochmals: Hardware-Unterstützung ist unabdingbar! Besitzer von 3dfx-Karten können komprimierte Texturen in Glide nicht verwenden.

HiResSky=

(R) Sobald es die Leistung zulässt, auf 1 setzen. Der Himmel sieht am Tag und vorallem nachts deutlich besser aus.

DeadPoolLifeTime=

(D: R) Je grösser der Wert, desto mehr RAM wird benötigt. Aber desto geringer ist die Wahrscheinlichkeit, dass bereits geladene Texturen erneut geladen werden müssen.

DeadPoolSize=

(D: R) Hiermit wird der oben erwähnte Cache auf eine Grösse begrenzt. Die Angabe erfolgt in Anzahl von Texturen. Je mehr RAM, desto grösser wählen. Eine Textur kann bis zu 128 KB RAM erfordern, also Vorsicht! Nutzer von komprimierten Texturen können den Wert ruhig auf 256 setzen. Bei 128 MB RAM den Wert 64, bei 192 MB den Wert 128 ausprobieren. Hier muss von System zu System experimentiert werden. Je nach Festplattengeschwindigkeit kann das Optimum mal hier, mal dort liegen.

MaxMeshesPerFrame=

(R, C) Je geringer der Wert, desto flüssiger kann man spielen. Aber auf Kosten des Realismus: Je grösser der Wert, desto mehr Objekte werden gleichzeitig geladen. Um zu vermeiden dass plötzlich Berge oder Bäume in das Bild "springen", den Wert erhöhen (bis etwa 8). Um die Platte zu schonen oder Ruckler zu vermeiden, den Mindest-Wert 1 benutzen.

MeshCacheDeadTime=

(R) Wenn man den RAM hat, einen grossen Wert nehmen, 360 oder mehr! Ansonsten lieber sparen und bei 30 bleiben.

MeshCacheMemorySize=

(R) Sehr wichtige Option. Die Angabe erfolgt in Bytes, das sollte bei der Umrechnung dringend beachtet werden! Man kann etwa 10-15% seines RAMs hier verwenden. Normalerweise dreht man sich bei dem Betreten neuer Orte einmal um 360°, damit die Umgebung geladen wird. Beim zweiten Rundblick ist es dann deutlich flüssiger. Je grösser der Wert, desto mehr Daten werden im Speicher behalten. Um die Option mit Sinn zu erfüllten, sollte "DeadPoolSize" ungefähr um den gleichen Faktor erhöht werden. Diese Leistungs-Steigerung benötigt also ziemlich viel RAM.

MaxInstancesPerFrame=

(C, R) Hier kann man den gleichen Wert verwenden wie bei "MaxMeshesPerFrame".

[Sound]
SpeakerConfig=

Siehe Tabelle in der INI-Datei selbst. Nicht aus Spass eine höhere Einstellung benutzen.

Enable3D=

(C) Bei schwacher CPU auf 0 setzen.

StreamDuration=

(R) Der Standart-Wert ist ok. Fehlt es wirklich an RAM, kann man hier sparen. Die Folge können jedoch Sound-Ruckler sein.

EnableAcoustics=

Wenn man EAX hat, auf jeden Fall aktivieren - es lohnt sich.

SkipFrames=

(C) Bei schwacher CPU den Wert erhöhen, meinetwegen bis 6 oder 8! Der Realismus der Geräusch-Kulisse sinkt, die Performance steigt. Bei starker CPU also ruhig 1 verwenden.

UseSFXCache=
SFXCacheUsesPool=
SFXCacheSize=
SFXCacheExpireTime=

(R) Siehe ähnliche Einstellung wie bei der Grafik. Wenn der Sound keine Sorgen macht, *die Werte so lassen*. Die Performance kann durch erhöhte SFXCacheSize nicht bedeutend gesteigert werden.

[Lighting]
Flicker=

(C) Sollte man wegen dem Realismus auf 1 lassen.

FlickerRange=

(C) Bei schwacher CPU den Wert verringern.

MaxCount=

(C) Bei schwacher CPU den Wert verringern.

SkipFrames=
AvatarSkipFrames=

(C, V) Hier kann kräftig CPU-Leistung gespart werden! Mit den Werten 2 fährt man ganz gut, bei schwacher CPU auf 6 oder 8 erhöhen. Die Grafikkarte wird dabei ebenfalls etwas entlastet. Der Handel ist, dass man auf Realität verzichtet, weil die Position der Lichtquellen nun deutlich weniger oft aktualisiert wird.

LightQuality=

(C, V) Siehe Tabelle in der INI-Datei. Einsparungen können teilweise erheblich Leistung bringen. Im Gegensatz kann man bei starker CPU und guter Grafikkarte die Beleuchungs-Effekte verbessern.

WaterShading=

(V) Der Leistungs-Einbruch ist nur auf schwachen System spürbar. Man sollte den Wert auf 1 setzen.

TreeShadows=

(C, V) 1 erhöht den Realismus, 0 kann die Leistung verbessern.

[Game]
DefaultToWalking=

Auf 0 setzen, damit man standardmäßig läuft und nicht geht.

StartTimeOfDay=

Wenn man mittags starten möchte, 1200 eintragen.

LODsFromAvatar=

Interessante Option: Soll der MIP-mapping-Detaillevel von der Kamera gesehen oder vom Avatar gesehen berechnet werden? Man kann hier ruhig mal mit 1 probieren.

PromptForDevice=

Es sind verschiedene D3D-Renderer eingebaut? Dann auf 1 setzen um beim Start einen wählen zu können.

GameMipMapLevel=

Siehe Tabelle in der INI-Datei. Spielt man mit Anti-Aliasing, könnte man mit 0 RAM auf der Karte sparen. Ansonsten bei 16-MB-Karten 2, bei 32-MB-Karte auf 1 setzen. Will man jedoch wirklich mal ein flüssiges U9 haben, gehört diese Option zu denen wo man kräftig sparen muss: Dann auf 3 setzen. Die Umgebung ist verwaschen, aber die Geschwindigkeit nimmt merklich zu.

LODScale=

Hier adjustiert man den MIP-mapping-Faktor. Spielereien bringen jedoch wenig Sinn: Er ist bereits brauchbar eingestellt.

[Video]
GammaRed=
GammaGreen=
GammaBlue=

Das Spiel ist zu dunkel? Dann Werte um 1.3 bis 1.4 benutzen.

----

Ultima9 ist nicht flüssig genug, wo spart man jetzt? Auf jeden Fall natürlich 640x480 einstellen. Weiterhin:

FarClippingPlaneDistance=
MiddleClippingPlaneDistance=
DungeonClippingPlaneDistance=

Bedenkenlos die vorhandenen Zahlen halbieren. Weiterhin folgende Optionen ändern:

MaxMeshesPerFrame=1
LightQuality=0
GameMipMapLevel=3

Dann erneut testen.

----

Wie stelle ich Windows ein?

Unabhängig von der Grösse des installierten RAM sollte die Auslagerungs-Datei auf 512 MB Minimum und ebenfalls 512 MB maximum festgelegt werden. Zunächst die Auslagerungsdatei deaktiveren, dann Neustart, die Zielplatte defragmentieren, Auslagerungsdatei einrichten, Neustart. Als Zielplatte wenn es geht nicht die Windows-Partition verwenden und nach Möglichkeit ebenfalls Partition vermeidern, auf der U9 installiert ist.

Hintergrund-Tasks vor dem Start beenden.

----

Wieso ist der D3D-Modus so langsam?

Bei D3D müssen viele Umrechnungen stattfinden, weil damit ja jede erdenkliche Hardware angesprochen werden kann. Glide wurde so ausgelegt, dass die CPU möglichst entlastet wird. Ausserdem ist ja immer die gleiche (3dfx-) Hardware drin. Daher kann die Hardware direkt angesprochen werden. Ultima IX war als isometrisches 2D-Spiel sogut wie fertig, als Richard Garriot beschloss, das letzte Ultima soll doch in 3D sein. Zu diesem Zeitpunkt waren 3dfx-Karten extrem weit verbreitet und die Programmierung begann demzufolge in Glide. Der D3D-Modus wurde erst nachträglich eingefügt. Während die Glide-Engine im ganzen Entwicklungs-Prozess immer weiter optimiert wurde, patchte man die D3D-Engine nur so lange, bis es halbwegs lief. Traumsystem: Athlon TB 1000 MHz, Windows2000, 512 MB RAM, Voodoo5.

----

Auflösung vs. Anti-Aliasing

2xFSAA lohnt bei der V5 generell, bei der V4 jedoch nur bei deutlicher CPU-Limitierung. 4xFSAA verschönert das Spiel beträchtlich, ist jedoch nur bis 800x600 wirklich brauchbar. Das machts nichts - das Spiel sieht hervorragend aus. Kurz und knapp: Es lohnt sich zwar, für FSAA an der Auflösung zu sparen. Aber die Licht-Effekte usw. haben eindeutig Vorrang. Also erst die Optionen einstellen, bis das Optimum aus Grafik / Leistung erreicht ist. Dann erst testen, ob man mit FSAA spielen kann. Gibt es Probleme, die Auflösung senken. Bringt das wenig, auf Anti-Aliasing verzichten. Weiter in die Ferne gucken zu können nutzt im Spiel mehr als geglättete Kanten!


--aths--

Kai
2001-11-10, 00:23:28
@ aths: Erlaubst Du, das ich den Link zu diesem Thread ins FAQ stelle?

nggalai
2001-11-10, 12:03:48
Hi aths,

vielen Dank für die ausgezeichnete Zusammenstellung--jetzt hat man endlich mal alles in einem Posting. :)

Besonders der Ratschlag mit der 3dfx-Karte im Rechner und die GameMipMapLeve-Sache kann ich nur unterschreiben.

*unterschreib*

ta,
.rb

aths
2001-11-10, 17:07:10
Kai: Ja.

Anárion
2001-11-10, 21:45:23
Frage: Ist das Spiel so gut? Scheint hier ein beliebtes Gesprächsthema zu sein! :) (u.a. wegen den Vorteilen von 3DFX-karten :D)

nggalai
2001-11-10, 22:12:15
Ich fand/finde das Spiel, bis auf die geringe Anzahl Leute, die so auf Britannia rumrennen, äusserst geil. Zwar absolut hanebüchene Story, aber die Präsentation, und das balancing ... cool.

ta,
.rb

Leonidas
2001-11-12, 01:51:38
Nachtrag:

Wenn keine 3dfx-Karte zur Verfügung ist, sind die nächsten Wahl KYRO- und Radeon-Grafikkarten. Aus unerfindlichen Gründen läuft das Spiel auf nVidia-Grafikkarten (auch der GeForce3) langsamer als auf 3dfx, PowerVR- und ATi-Grafikkarten.

Die Unterschiede zwischen den gfx Karten sind aber nicht besonders groß:

Voodoo 3/4/5 ... 100%
KYRO I/II ...... 90%
Radeon-Serie ... 85%
GF1/2/23 ....... 75%


Wobei die V5 unter Glide am längsten durchhält, wenn man alle Optionen hochsetzt. Insbesondere wenn man sich den letzten Kick geben will und mit sehr hohen Sichtweiten spielen will, halten das nur Voodoo5 und mit Abstrichen die KYRO II durch.