Schneller Laden, weniger Stuerze - Workflow fuer Entwickler & "Wale"...

    • Schneller Laden, weniger Stuerze - Workflow fuer Entwickler & "Wale"...

      Workflow Beschreibung.

      Wobei dies hilft:

      1. Erst-Laden des Spieles (nicht einzelner Strecken/Szenarien) in 5-10 Sekunden, egal welche Hardware! (Kein Scherz!)

      2. Keine De-/Re-Installationen mehr noetig. (Alle Strecken, alle Assets, alle Lokos, etc., bleiben permanent auf den Platten).

      3. Abstuerze wegen fehlerhafter/korrupter Szenarios schneller finden und isolieren.

      4. Methode mit der man schneller laden kann als mit der schnellsten (PCI-)SSD (.. auch kein Scherz!)



      Die grundlegende Idee ist folgende: den Ordner "Route" von Railworks.exe verstecken und einzelne Routen (und/oder Szenarien) via MS JUNCTIONS (Symbolische Links) an das Spiel anbinden!



      A) Alles installieren. Komplett alles. Assets, Routen, Lokos, Reskins. (Bei mir sind das derzeit circa 500 GB an Assets(!) und circa 400 Routen).

      B) Abhaengig von HDD/SSD's muessen alle Routen und Assets nicht auf derselben Platte installiert sein! (Assets: Kuju auf HDD1, ChrisTrains auf HDD2, DTG auf SSD2, etc, etc... - einzelne Routen 0000-0000-... genauso.

      C) Im Ordner Railworks/Assets und Railworks/Content/Route alle Assets und Routes herausziehen und/oder Ordner "Assets" und "Route" umbennen (sodass Railworks.exe beide nicht findet).

      D) Leere Ordner "Assets" und "Route" in Railworks bzw Railworks/Content/ erstellen.

      E) Nun, einzelne Routen oder Assets Unterordner via Junction Link 'einbinden'.

      Mit dieser Methode kann man die notwendigen Assets/Route Ordner auf ein Minimum reduzieren! Die Erstladezeit ist tatsaechlich reduzierbar auf 5-10 Sekunden! (= abhaengig davon, wieviele Routen, insbesondere Szenarios(!), beim Erststart in die SDBCache.bin Datenbank eingelesen werden muss).

      Diese Methode hilft leider NICHT dabei, wenn man einzelne Szenarios ladet. Es gibt einen Command Line Parameter der Daten in einen Ordner "PreCache" speichert, welcher beim Neustart der Route benutzt werden kann. Ich habe keine messbaren(!) Geschwindigkeitsvorteile dabei entdeckt.

      Warum diese Methode - Junctions - nuetzlich ist, habe ich oben beschrieben. MS Junctions basiert auf Microsofts Mark Russinovich, den manche von uns aelteren Windows 1.0 Usern von SystInternals noch kennen. Er hat so alle nuetzlichen UNIX Tools fuer Windows portiert. Falls ich hier jemanden etwas "Lebenszeit" ersparen kann, dann habe ich meine Aufgabe erfuellt. Insbesondere bei Route-/Szenario Entwicklern sind gelegentliche Abstuerze mit dieser 10+ Jahre alten Game Engine nicht vermeidbar. "Schmale Installationen" helfen. Man muss dafuer keine Zweitinstallation anlegen. Oder Dinge staendig de-/re-installieren. Sogenannte Spiele-"Wale" (Engl. "Whales"), also Spieler, welche JEDE erdenkliche DLC besitzen und Tausende von Euros in das Spiel gesteckt haben, koennen sich ebenfalls Zeit ersparen und oder fehlerhafte Szenarios schneller finden.

      (zu 4.)

      Was Train Simulator fehlt, in meinen Augen, ist ein partieller, konfigurierbarer "Loader", wie der "SceneryConfigEditor" fuer Microsoft Flight Simulator bzw Prepar3D, von Andrew Thornton.





      Die Idee ist ein Freeware Tool, welches via UI die Frage stellt "Welche Route(n) moechtest Du heute fahren?" und man gibt eine Vorauswahl ein. Diese Routen werden dann - mitsamt den Szenarios und abhaengigen Assets - auf eine freie (PCI-)SSD Platte geschubst, sodass nicht 150-500GB permanent von Train Simulator 'besetzt' werden muessen.

      Was 10x so schnell wie die schnellste SSD Festplatte ist, nennt sich RAM-Disk!!! Fuer diejenigen unter uns, welche 32GB Systemspeicher oder eventuell schon 64GB System RAM ihr eigen nennen. Davon laesst sich ein Stueck 'abschneiden' und als 'virtuelles Laufwerk' in Memory benutzen.

      DDR4 schlaegt SSD.

      So konnte man die notwendigen Daten hin-und-herschubsen, waehrend Railsimulator/TSxxxx keine Ahnung hat, was um ihn herum geschieht. Dateiordner werden via Links eingebunden und geloescht. TS Unterordner koennen so auf beliebig viele Festplatten platziert werden.

      Ich selber bin zu faul, sowas zu schreiben. Stattdessen laufe ich mit dieser Idee seit Jahren schwanger herum. Vielleicht, moechte ja jemand diese Idee aufgreifen, bevor ich mich doch noch dazu zwinge.

      Hilfreiche Literatur und Links:

      Originaler Microsoft Developer Beitrag uber MS Junctions von Mark Russinovich: technet.microsoft.com/de-de/sysinternals/bb896768.aspx
      Hilfreiches Freeware-Tool welches MS Junctions in den Kontext-Menu der rechten Maustaste installiert. Freeware von Hermann Schinagl :schinagl.priv.at/nt/hardlinkshellext/linkshellextension.html
      Methode zum Auffinden fehlerhafter/korrupter Szenarios welche zum Crash/TempDump beim Spielestart fuehren:
      Methode zum Auffinden fehlerhafter/korrupter Szenarios, welche zum Crash (TempDump) beim Spielstart fuehren:
      Werbung

      The post was edited 2 times, last by Adam Beckett: Rechtschreibfehler ().