Hallo Leute,
die ganzen Performance-Probleme hat hier sicherlich schon jeder mitbekommen. Ich will jetzt auch keine Diskussionen auslösen, wie schlecht doch die Leistung bei guten Grafikkarten ist. Den echten Flaschenhals kann ich derweil ausmachen: Die Festplattengeschwindigkeit. Wieso weshalb warum möchte ich an anderer Stelle erklären.
Doch vorher möchte die Grafikprobleme hier ansprechen; Denn ich habe das Gefühl, dass einige nicht darüber nachdenken, was sie mit den Grafikeinstellungen wirklich auslösen. Deshalb habe ich mal eine PDF-Doku erstellt, in der beschrieben wird, wie ihr die Grafikeinstellungen setzen solltet und was ihr mit den einzelnen Parametern auslöst:
„Leitfaden: RailWorks 3 richtig konfigurieren (ATI)“ lesen
Wer will und Zeit hat, kann diese gerne ins Wiki übersetzen, auf Anfrage schicke ich hochaufgelöste Bilder gerne per Mail zu.
Öfters werden hier sogenannte „Microruckler“ genannt, die auf allen Systemen vorhanden sind. Ich fasse mal das folgende Ursachenklärung zusammen: Der MSTS hat immer 2048x2048m am Stück geladen und im Speicher gehalten (1-2s Nachladezeiten). Der RW lädt immer 256x256m bzw. 128x128m Weltdaten nach. Das verteilt die 2s natürlich auf die ganze Zeit, bringt aber nicht wirklich den Effekt, den die Jungs eigentlich bezwecken wollten. Und die Engine ist für solche Dinge nicht parallelisiert (ist auch ziemlich aufwendig die Sache!)
„Ursachenforschung: Die Microruckler in RailWorks 3“ lesen
Etwas für Technikspezialisten: Ansonsten möchte ich euch noch Bescheid geben, dass ich mir mal die kompilierten HLSL-Dateien im dev/Shaders/-Ordner angesehen habe. Die haben alle Effekte nicht optimiert, teilweise im Debugmodus und verlangen eine absolute Genauigkeit. Nachdem ich die mal mit optimierten Einstellungen und ausreichender Gleitkommapräzision mit dem aktuellen fxc.exe der DirectX SDK neukompiliert habe, wurde RailWorks bei mir um etwa 10-30% schneller… abgesehen von den Microrucklern.
Wenn der Optimizer schon so viele HLSL Instruktionen sparen kann, kann ich das noch besser optimieren. Da ich so etwas nicht das erste Mal mache, werde ich mir mal alle HLSL-Dateien (*.fx) schnappen und den Code optimieren.
Die fxc optimierten HLSL-Effektobjekte könnt ihr euch Herunterladen und Testen. Die einwandfreie Kompatibilität ist hierbei nicht gewährleistet (Testdateien) und es sei darauf hingewiesen, dass ihr euch damit mit einer 1 zu 256 Chance den RailWorks zerschießen könnt. Aber der PC bleibt ganz.
Ich halte euch auf dem Laufenden und wäre froh, wenn der Ein oder Andere einen zusammengefassten Testbericht zukommen lassen könnte (aka Hardware/Performancesteigerung in FPS-Unterschied zum Original).
Wenn ich schon nicht ordentlich arbeiten kann... dann werde ich mir mal die ruckelfreie Horseshoe Curve reinziehen
OptimizedShader 1.1 (Beta) herunterladen
Optimierungs-Guide lesen (ATI)