Spielfahrzeuge werden immer langsamer

Willkommen in der Transport Fever Community

Wir begrüßen euch in der Fan-Community zu den Spielen Transport Fever und Train Fever, den Wirtschaftssimulatoren von Urban Games. Die Community steht euch kostenlos zur Verfügung damit ihr euch über das Spiel austauschen und informieren könnt. Wir pflegen hier einen freundlichen und sachlichen Umgang untereinander und unser Team steht euch in allen Fragen gerne beiseite.

 

Die Registrierung und Nutzung ist selbstverständlich kostenlos.

 

Wir wünschen euch viel Spaß und hoffen auf rege Beteiligung.

Das Team der Transport-Fever Community


  • Man kann auch ohne Mods Simulationsüberlastung bekommen. Einfach mal 100 große Städte nebeneinander setzen.


    Außerdem wenn es eine Mod verursacht, hilft es oft nicht einfach sie zu deaktivieren, weil der Effekt schon im Savegame ist. zB Population Factor oder Industry Production. Da müssen sich erst wieder die Gebäude aktualisieren.


    Es sind zuviele Sims. 24*1400=33600 Einwohner. Das ist schon viel für TPF2. Versuche das zu reduzieren und "unnötige" Städte zu löschen oder verkleinern.


    Kirsche falls du die Karte nicht selbst bei dir gespielt hast, ist ein Vergleich schwierig. Neben der reinen Einwohner Zahl kommt es auf die Anordnung der Städte, die Komplexität des Straßennetz und Auto/Straßengeschwindigkeiten an, weil das alles die Routenfindung beeinflusst.


    Wie Akzuwo rausgefunden hat, erkennt man nicht einfach im Taskmanager, dass TPF2 mit der CPU am Limit ist, weil die Simulation nicht beliebig parallelisiert werden kann. Dafür sollte man die Debug Diagramme analyisieren.


    >> Siehe auch: Notebook und Auslastung sowie RAM

  • Es sind zuviele Sims. 24*1400=33600 Einwohner.

    Du hast natürlich recht das die Komplexität eine große Rolle spielt.

    Aber ich habe ca. 75000 Einwohner mit fünfmal sovielen Fahrzeugen auf einer größenwahnsinnigen Karte.

    Mit etwa 250 Linien. Das ist denke ich schon an Komplextität und Leistungshunger schon am oberen Ende der Skala.

    Und meine CPU ist was TPF2 angeht denke ich vergleichbar mit seiner.

    Bei mir gibt es auch Ruckler, aber es läuft allgemein flüssig und normal schnell.

    Direkte Vergleiche lassen sich leider nie ziehen ohne selbst sein Save beim ihm zu sehen.

    Ryzen 5700X3D, RX 9070, 32 GB RAM

  • Ich kann nicht wirklich viel zu diesem Thema sagen, ich kann nur sagen was mir persönlich aufgefallen ist.



    1. Größe der Mods


    Größere Mods kann die Leistung schon reduzieren selbst wenn diese NICHT auf der Karte verwendet werden. Keine Ahnung warum, aber diesen Effekt hatte ich jetzt schon mehrfach. Gerade bei Modellen welche viele große Texturen mit sich führen.

    Ich muss diese Mods, Ingame nicht mal verwenden aber das Spiel läuft trotzdem direkt um einiges Schlechter.

    Die Menge an Mods spielt dabei nur eine nebensächliche Rolle, da eine Große Mod oft die gleiche Kapazität wie 30 kleine einnimmt.



    2. gleiche Texturen und Objekte


    Was helfen kann, gerade im Schönbau, ist die Verwendung der Möglichst gleichen Bodentexturen und Objekte. mit nur wenige Abweichungen

    Vor allem wenn diese sich in gewissen Abständen wiederholen damit die Texturen nicht aus dem Speicher geworfen und neu geladen werden müssen wenn man sich dreht.


    Diesen extremen Unterschied merke ich von meiner letzten zur jetzigen Karte. (bebaute Fläche ähnlich, Anzahl Rollmaterial und Sims auf der neunen Karte höher ) Obwohl die jetzige Karte, wesentlich Detaillierter und sogar enger bebaut ist, läuft diese Stabiler als meine vorhergehende Karte die viel größere, unbebaute Flächen (Felder/Wiesen) besitzt.

    Ich nutze auf der neuen Karte sogar mehr Bodentexturen auf einer Stelle und habe viel weniger Probleme.


    3. Große Bahnhöfe mit viel Zugverkehr und Sims


    Je größer und detailreicher ein Bahnhof und sein Vorfeld wird, desto mehr tummeln sich Texturen, Animationen und Tris dort umher. Das kann natürlich auf einen Fleck ebenfalls zu starken Einbrüchen führen. Vor allem wenn es sehr Detailreiche Objekte oder Fahrzeuge mit hoch auflösenden Texturen sind, welche sich da auf einem Fleck treffen.


    4. Grafikeinstellung Geometrie


    Die Geometrie macht sehr viel aus in diesem Spiel. Sichtweite, Bäume und Co werden hiermit beeinflusst.

    Mit Geometrie "Niedrig" Habe ich in einem vorher sehr Ruckeligen abschnitt (beim drehen) plötzlich ein nahezu ruckelarmes Dreherlebnis.


    5. Volle Cashes


    Um ein möglichst angenehmes Spielerlebnis zu bieten, lösche ich vor jedem Laden eines Spielstandes, insbesondre bei Kartenwechsel, alle Cashes.

    Was eigentlich dazu dient das Spiel besser und schneller laden zu lassen, kann schnell bei Überfüllung von Dateien die auf anderen Maps nicht benötigt werden, dazu führen dass das Spiel keinen Bock mehr hat.



    Hier mal als Beispiel.


    Die beiden Karten sind Winzig


    Die alte Karte hat eine etwas breitere Baufläche als die neue, da die neue durch einen Fluss getrennt ist und die alte Karte lediglich einen Fluss am seitlichen Kartenrand hat.


    Die alte Karte hat große Felder und kleine, detaillierte Stadtteile mit großem Abstand.



    Die neue Karte hat eine Große Stadt und kleine Dörfchen/ Siedlung mit sehr viel mehr an Details.



    Auch Gleistechnisch ist auf der neuen Karte viel mehr los. während die alte Map 2 kleine Bahnhöfe mit einem sehr eng gehaltenen Gleisvorfeld, hat die neue Map einen großen zentralen Bahnhof + Betriebswerk mit beidseitig abgehenden großen Bahnhofsvorfeldern


    größter Bahnhof alte Map


    größter Bahnhof neue Map (Bahnhofsbereich ist der Ruckeligste Bereich aber immer noch Besser als auf der alten Map)




    Die alte Map kann ich nicht spielen ohne die Texturen-Qualität, Geometrie und Auflösung herunter drehen zu müssen.

    bei der neuen Map reicht es lediglich die Geometrie etwas zu senken. Und das trotz viel höherem Detailgrad.


    Auch hier mal ein Beispiel der Komplexität aus der Stadt gesehen:


    alte Map:


    neue Map:




    und auch hier sollte man erkennen das die neue Map viel aufwendiger Gestaltet wurde und dennoch läuft diese um ein Vielfaches besser.

    Und ja.. ich verwende bei beiden die gleichen Mods. Der Unterschied ist das Großteils verwendete Rollmaterial.

    Alte Map läuft eher auf gegenwärtiges Rollmaterial, die Alte eher auf vergangenes Rollmaterial.



    Auch bei der Ingame-Kameraaufnahme konnte ich einen deutlichen Unterschied merken. Die alte Map brauchte für ein 20min. Video bei einer Auflösung von 2K und 30fps eine Aufnahmezeit von 5Tagen.


    Die neue Map für gleiche Einstellungen 16 Stunden.


    Also keine Ahnung was da los ist :D

    Aber auf jeden Fall habe ich bei der alten Map, Wahllos platziert was mir gefallen hat und auf der neuen alles nach System wie oben erwähnt. 🤷‍♂️

  • Zumindest unter Linux konnte ich bei sehr großen, wuseligen Maps die Speicher(de)allokation (Wikipedia) als Flaschenhals ausmachen. Nach dem ich das Standard-malloc durch jemalloc ersetzt hatte, ist das Game direkt nach dem Laden deutlich flüssiger und benötigt weniger RAM. Anleitung (für Linux) im Wiki. Ich könnte möglich sein, dass das Problem so auch unter Windows auftritt (muss aber nicht, hab keine Ahnung von Windows malloc, zumindest FF und Chrome nutzten auch unter Windows IIRC jemalloc bzw tcmalloc) und mit jemalloc die Schönbauerfahrung etwas besser wird.

    Einmal editiert, zuletzt von bionade24 ()

  • Große Bahnhöfe mit viel Zugverkehr und Sims

    Jepp, wahrscheinlich einer der Hauptgründe abnehmender Performance im Spiel. Also gerade die Zahl oder Verfügbarkeit der Sims im Schönbaubereich. Wenn man es dann radikal haben möchte, sollte man das "linkable" in den Modeldateien tatsächlich auf "false" stellen.


    Damit erzeugen, so weit mir bekannt, die Gebäude keine Sims mehr und auch die unschönen grauen Verlinkungen beim Setzen der Gebäude verschwinden. Hat man zwar keine spazierenden Sims mehr, aber das spielt im Schönbau aus meiner Sicht eher eine untergeordnete Rolle.

    gleiche Texturen und Objekte

    Ja. Geht aber zu Lasten der Modder. ;)


    Aber ja, ein sorgsamer Umgang damit ist ratsam bzw. die regelmäßige Verwendung gleicher von Texturen, Zäune, Fußwegen usw. sowie diversen "Kleinkrames" zur Ausgestaltung.


    Gruß

  • Zumindest unter Linux konnte ich bei sehr großen, wuseligen Maps die Speicher(de)allokation als Flaschenhals ausmachen. Nach dem ich das Standard-malloc durch jemalloc ersetzt hatte, ist das Game direkt nach dem Laden deutlich flüssiger und benötigt weniger RAM. Anleitung (für Linux) im Wiki. Ich könnte möglich sein, dass das Problem so auch unter Windows auftritt (muss aber nicht, hab keine Ahnung von Windows malloc, zumindest FF und Chrome nutzten auch unter Windows IIRC jemalloc bzw tcmalloc) und mit jemalloc die Schönbauerfahrung etwas besser wird.

    Was? In einfachen Worten. Viele keine Informatiker sind. ;)


    Gruß

  • Und die Speicherreservierung des Spieles kann man ohne große negativen Nebenwirkungen ausschalten? Wo oder wie?


    Kann man ja mal testen, wenn es positive Effekte für das Spiel bringt. Frage für einen Freund, der sich nicht traut.


    Gruß

  • Man kann (zumindest auf Linux, wahrscheinlich auch auf Windows) die Softwarebibliothek (auf Windows wäre das eine .dll), die für die Speicherreservierung verantwortlich ist, durch optimiertere Bibliotheken wie jemalloc (Firefox) oder tcmalloc (Chrome) ersetzen. Diese haben ein besserer Verhalten, dass Performance verbessert und Speicherfragmentierung verringert.

  • Was jetzt besser ist zu nutzen hängt wohl auch sehr stark von der Anwendung ab. Zu der Thematik habe ich mit meiner Neugiere als Informatiker natürlich gleich einmal mit einer Suche befriedigt und ein Paper dazu gefunden. In den Conlusions ist auch eine nette Tabelle, welche die einzelnen Allocatoren vergleicht. Der Name eines Authors kommt mir igendwie bekannt vor, ich glaube der war bei den Betriebssystemen unterwegs. :/

  • Was jetzt besser ist zu nutzen hängt wohl auch sehr stark von der Anwendung ab.

    Jupp, deswegen habe ich es ja auch getestet ob es was bringt (auf Linux) bevor ich es öffentlich empfohlen habe. Und das sind bei meinem aktuellen Spielstand signifikante Verbesserung (schon 10min nach Laden 12-13GB statt 15-16GB, keine längeren Hänger mehr), da einige Mods halt leider Speicherleks haben oder es mit der API irgendwie schaffen viel Speicherfragmentierung zu erzeugen. Da du ja scheinbar dich für die Details interessierst, bei den meisten Spielen wird es kaum was bringen, da die selbst einen Memory Pool oder eine Memory Arena einprogrammiert haben. Kann natürlich nicht ausschließen, dass Tpf2 sowas auch hat, aber meine positiven Erfahrungen mit jemalloc sprechen dafür, dass es entweder nicht vorhanden ist oder nicht existiert. Mit den Optionen von jemalloc habe ich bisher auch noch nicht rumgespielt.


    Falls du Interesse, Zeit und einen Speicherhungrigen Schönbau-Spielstand unter Windows hast, wäre es toll, wenn du einmal probieren könntest, Tpf2 mit jemalloc unter Windows probieren.


    Edit: Das Paper benchmarked die verschiedenen mallocs bei Datenbankmanagementsystemen. Deren Workload ist nun wirklich in keinster Weise mit dem von Tpf2 vergleichbar.