Performance Diskussion (ausgelagert)

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


  • Der Fahrplanmod hat dieses Spiel auch enorm nach vorn katapultiert in meinen Augen.

    Ohne dieses Mod wäre meine eingleisige Nebenbahn mit den zweigleisigen Haltestellen und einem zweigleisigen Kopfbahnhof mittendrin so nicht möglich. Es fahren zwei Züge auf der Linie und die würden ständig irgendwo auf freie Strecke warten und die Passagiere nicht mitnehmen, die inzwischen den Bahnsteig erreichen.

    Es gibt noch viele andere Linien, die davon profitieren, aber die ist am auffälligsten.

  • Ohne dieses Mod wäre meine eingleisige Nebenbahn mit den zweigleisigen Haltestellen und einem zweigleisigen Kopfbahnhof mittendrin so nicht möglich. Es fahren zwei Züge auf der Linie und die würden ständig irgendwo auf freie Strecke warten und die Passagiere nicht mitnehmen, die inzwischen den Bahnsteig erreichen.

    Es gibt noch viele andere Linien, die davon profitieren, aber die ist am auffälligsten.

    Was für einen Gleisplan bitte hast du da, dass man das nicht klassisch betreiben kann?


    Ich hab wirklich viel mit der Fahrplan-Mod gespielt, ein geniales Teil. Aber ich halte es auch nur für eine Spielerei, ohne irgend einen Nutzen fürs Gameplay. Daher würden mich Aufgaben, die nur mit Fahrplan-Mod lösbar sind, wirklich interessieren. Ich bin noch auf keine gestoßen.

  • Fluggast07

    Was für eine Frage ist das denn?


    Wenn die eingleisigen Abschnitte nicht auf den Meter exakt so passend lang sind, dass die Züge in Vanilla immer exakt zur selben Zeit reinkommen (was auch dann nicht klappt, weil immer unterschiedlich viele Passagiere aus- und einsteigen, gelle?), steht ein Zug IMMER am AF-Signal und wartet auf die freie Strecke, also auf des entgegenkommenden Zuges Ankunft an der selben Haltestelle.

    Das ist verschenkte Zeit bzw. verschenktes Potential.


    Mit dem Timetable-Mod wartet der Zug am Bahnsteig und lässt noch Leute einsteigen, bevor er nach Ankunft des entgegenkommenden Zuges losfährt.


    Am zweigleisigen Kopfbahnhof fahren die Züge gleichzeitig los, wenn mal beide gleichzeitig dort sind. Dies ist nicht bei jedem Umlauf der Fall, da die beiden von dort abgehenden eingleisigen Abschnitte nicht gleich lang sind.

  • Was für einen Gleisplan bitte hast du da, dass man das nicht klassisch betreiben kann?


    Ich hab wirklich viel mit der Fahrplan-Mod gespielt, ein geniales Teil. Aber ich halte es auch nur für eine Spielerei, ohne irgend einen Nutzen fürs Gameplay. Daher würden mich Aufgaben, die nur mit Fahrplan-Mod lösbar sind, wirklich interessieren. Ich bin noch auf keine gestoßen.


    Du widersprichst Dir selber.


    Erst hälst Du den Fahrplanmod für Spielerei ohne Nutzen fürs Gameplay und dann interessieren Dich Aufgaben, welche nur mit dem Fahrplanmod lösbar sind.


    Ja was denn nun?


    Kannst ja mal einen ITF (IntegralenTaktfahrplan) erstellen.

    Mein neuer Rechenknecht:


    CPU: Core i7 8700K, GPU: MSI GTX 1070 Ti AERO 8G, MB: MSI Z370 Krait Gaming, Speicher: DDR4-3000 16GB G. Skill Aegis, Festplatten: SSD 250GB Samsung 850 Evo, HDD 1000GB Seagate FireCuda, NT: EVGA SuperNOVA 550 Watt G3 :) .

  • Klar hab ich damit ITFs erstellt, das macht viel Spass! Es ist aber auch viel Aufwand und Finetuning - und fürs Spiel an sich unnötig.


    Ich sehe keine Transportaufgabe, für die man einen Fahrplan bräuchte. Ich bekomme jeden Betrieb effizienter ohne Fahrplan-Mod gefahren.


    Daher meine Frage: Wo nützt mir die Fahrplan-Mod für die Transportaufgaben im Spiel? Ich sehe kein entsprechendes Szenario, deshalb frage ich nach.

  • Um Gottes Willen. So weit ich das mitverfolgt habe kommt die zuverlässige Software für den IC 2 auch aus diesen Ländern bzw. soll dort wohl programmiert worden sein. Wie zuverlässig die IC 2 mit Br. 147 sind sieht man ja.

    You made my day! :D

    Natürlich kann man das! Dieses Spiel ist lausig programmiert wie kein anderes, selbst Cyberpunk 2077 bietet eine bessere Performance obwohl es eine ganz andere Klasse ist. Mit PCIe4 M2, 3600 Mhz RAM, 5900X und 6900XT bekomme ich 7-10 FPS!!!!!!

    Von 4k Auflösung ausgehend solltest du in HD also theoretisch 28-40 FPS haben. Ich komme mit meiner bescheidenen Graka auf 30-60 FPS auf einer gut ausgebauten größenwahnsinnigen Karte.

    Da du dermaßen niedrige Frames hast, obwohl deine Graka dreimal so schnell ist wie meine, ist das Problem wohl eher bei dir zu orten und nicht beim Spiel.

    Ryzen 3600, RX 6700XT, 32 GB RAM

  • Von 4k Auflösung ausgehend solltest du in HD also theoretisch 28-40 FPS haben.

    Nein so kann man das nicht rechnen. Die Leistungskurve ist nicht linear schon in WQHD habe ich 35-70fps - was allerdings angesichts der geringeren Auflösung auch wenig ist. Mein Savegame hat ca. 420 MB. Bei mir fahren derzeit ca. 800 Fahrzeuge auf 300 Linien. Ich habe auch ein Bild des Systemtests gepostet das zeigt, daß das Problem nicht bei mir liegt. Natürlich habe ich zuerst nach einem Fehler in der Hardware gesucht.

  • Mein Savegame hat ca. 495MB.

    Welche Grafikeinstellungen benutzt du?

    Synthetische Test sind zwar ein guter Richtwert um Vergleich zu ziehen, sagen aber rein garnichts über individuelle Gegebenheiten bei bestimmten Anwendungen aus.

    Ryzen 3600, RX 6700XT, 32 GB RAM

  • Da du dermaßen niedrige Frames hast, obwohl deine Graka dreimal so schnell ist wie meine, ist das Problem wohl eher bei dir zu orten und nicht beim Spiel.

    So hatte ich das auch gedacht.

    Ich habe zwar eine RTX 2070 Super verbaut, aber zB. mit einem vollen Textur_cache hatte ich auch nur noch 1-8 FpS.

  • anstelle nur die Entwickler als unfähig zu beschimpfen sollte man lieber die Probleme suchen und mit Lösungs ideen kommen

    zum Beispiel die nervigen ruckler beim bahnhofsbau könnte man vermeiden wen man was auch immer da geladen wird auf das behänden von dem bau Menu legt

    und die simulation muss auf mehr kerne/threads verteilt werden(City Skylines beweist das es geht)

    2 Mal editiert, zuletzt von meki ()

  • Das Problem ist hier weniger die CPU, sondern die detailierten Mod-Modelle.

    Ich selber habe knapp 690 Mods drin (Hauptsächlich diverse Fahrzeuge) und habe mich diversen Einstellungen gespielt, da es in 4k mit allen Details voll aufgedreht gerade mal mit 30 FPS läuft. Und ich bin noch am Anfang des Spiels mit grob ca. 200 Fahrzeugen.


    Was die FPS hochbringt, ist die Reduzierung des Schattens auf Mittel. Oder aus, wenn man Performanceprobleme hat. Das brauchte bei mir 30..50% mehr FPS. AA-Reduzierung bringt auch sehr viel. Und SSAO-Abschaltung bringt natürlich auch viel. Wenn ich dies alles entsprechend reduziere/abschalte, komme ich in 4k weit über 60 FPS - ich mag es aber detailierter (texturen "sehr hoch" + bodentexturen "hoch") und ohne flackern (fehlendes AA), weshalb ich mit den flüssigen 30 FPS zufrieden bin (i5-10600KF, 32 GB, RTX 2060). in 2,5K Auflösung störten mich die Treppen in den Leitungen/Schienen, trotz 4x AA, weshalb ich in 4k bleibe.


    An diesen Einstellungen bzw. FPS-Sprüngen sieht man, dass das Problem nicht beim Spiel liegt, sondern die Anzahl Faces die genutzt werden. Das sind schon einige Millionen die da gerendert weden müssen, vor allem, wenn man die viel detailierteren Mod-Modelle nutzt. Da geht jeder Grafikkarte in die Knie.
    D.h. wenn einer AA, Schatten usw. behalten will, sollte Texturen etwas reduzieren + Modlel-Details auf z.B. niedrig.

  • Ich weiß nicht ob es daran liegt selbst moderne Grafikkarten griegen hier einen zufiel


    Was aber sicher ist the Speicher Nutzung. RAM und vram werden förmlich verschluckt also sollte das Spiel auf einer redeon 7 besser laufen als bei einer 3070ti

    Einmal editiert, zuletzt von meki ()

  • Habe jetzt mal verstärkt darauf geachtet wo FPS einbrechen usw..
    Meine Vermutung liegt immer noch bei den Fahrzeugen. Ich habe noch nicht so viele am laufen wie hier von manchen erwähnt, weshalb ich wohl kaum unter 30 FPS komme. Was mir in 4k auffiel ist, dass sogar die Autos auf extreme Entfernungen weiter gerendert werden (man hat gerade mal einen Pixel noch gesehen!!).

    Das dürfte hier das Problem sein, wenn das Spiel alle Fahrzeuge immer anzeigt und nicht ab einer bestimmten Entfernung ganz ausblendet.


    Dass es NICHT an Optimierungen der CPU liegt sieht man, wenn das Spiel paust. Hier werden ja keine Wege berechnet, weshalb die FPS hochschießen müssten. Tun sie aber nicht. D.h. es ist ein reines Grafikperformance-Problem des Spiels. Und meiner Meinung liegt es an den zu hohen Entfernung der LOD-Modelle. D.h. es werden viel zu viele Fahrzeuge auf ein mal angezeigt, von denen ein großer Teil ausgeblendet werden könnte.

  • Was sagt die ram/vram auslastung bei mir leuft das Spiel spürbar schlechter wen ram (seit ich auf 32gb gewechselt habe leuft es auf Mittel gut ) oder vram voll sind (bei mir ist bei 6gb Schluß )

  • Was sagt die ram/vram auslastung bei mir leuft das Spiel spürbar schlechter wen ram (seit ich auf 32gb gewechselt habe leuft es auf Mittel gut ) oder vram voll sind (bei mir ist bei 6gb Schluß )

    Normal. Also um 9..11 GB RAM und 6..9 GB VRAM. Von den 6 habe ich aber nur 4 frei, weshalb immer ein Teil VRAM im RAM ausgelagert ist. Auch wenn ich Texturen auf niedrig stelle kommt das Spiel nicht unter 6 GB. Der Unterschied zw. niedrig und hoch bei den Texturen ändert sowieso nicht viel am VRAM-Verbrauch.


    Mein neues Gehäuse ist da, dass ich meine alte 1050 Ti mit einbauen kann. WMI + PhysiX sollen auf diese umgestellt werden, damit von der RTX die ganzen 6 GB frei wertden.


    EDIT 2: Texturen von "Hoch" (mittlere Stufe) auf "Niedrig" = 300 MB Ersparnis beim VRAM. 0 FPS mehr.
    Texturen auf "Sehr hoch" = 5 GB dedizierter VRAM + 5 GB RAM. Hier nimmt die Grafikkarte also "etwas" mehr. Bei FPS immer noch keine Änderung.

    Das Spiel scheint hier beim Neuladen der Texturen nicht richtig aufzuräumen, da nach dem Wechsel auf "Hoch" der Verbrauch bei 5 + 4,5 GB liegt. Als ich dann die Bodentexturen auf "Sehr hoch" gestellt habe, ist der Verbrauc hauf 5 + 8 hoch. D.h. wenn man Texturen im Spiel eine Stufe runtersetzt, sollte man ins Menü zurück und das Savegame neu laden, da die hohen Texturen nicht sauber aus dem Grafikkartenspeicher entfernt wurden.
    Das Spiel selbst verbraucht jetzt nach den beiden wechseln 16 GB. Hier scheint also insgesamt ein Problem nach Texturenwechsel vorzuliegen.

    16 GB RAM + 5 dedizierter VRAM + 7,5 GB gemeinsamer VRAM. Weil ich vier mal die Texturen hin und her gewechselt habe... (aktuell Hoch + Sehr hoch beim Boden:



    EDIT 1:

    So schaut das Spiel nach dem Start aus mit den Einstellungen darunter. DWM-Task selbst zieht meistens eher 1..1,5 GB VRAM.

    Texturen sind beide auf "Hoch":






    5 Mal editiert, zuletzt von AlphaRay ()

  • Dass es NICHT an Optimierungen der CPU liegt sieht man, wenn das Spiel paust. Hier werden ja keine Wege berechnet, weshalb die FPS hochschießen müssten. Tun sie aber nicht. D.h. es ist ein reines Grafikperformance-Problem des Spiels. Und meiner Meinung liegt es an den zu hohen Entfernung der LOD-Modelle. D.h. es werden viel zu viele Fahrzeuge auf ein mal angezeigt, von denen ein großer Teil ausgeblendet werden könnte.

    Stimmt grundsätzlich. Die FPS sind sogar unabhängig von der Simulation: Wenn man zu viele Einwohner hat oder vorspult, gibt es zwar Simulationsruckeln, aber die FPS bleiben konstant. Simulation und Grafik laufen in TPF2 in getrennten Threads und haben dabei prinzipiell andere Limits. Daher muss man Grafik- und Simulationsperformance immer getrennt bewerten.

    Mehr Infos in meinem Lexikonbeitrag: FPS Anzeige/Messung/Analyse (den ich mal aktualisieren müsste, aber grundsätzlich noch stimmt)


    Lods sind für eine gute Grafikperformance essentiell. Einerseits muss es genug geben (i.d.R. mind. 3, für Fahrzeuge eher 4), andererseits müssen die Abstufungen (Tris und Einblendedistanzen) sinnvoll sein. Daher kommt es immer drauf an! Im Idealfall will man ja entfernte Autos gerade noch so sehen und für eine gleichzeitig gute Performance müssen sie bei hoher Entfernung minimal wenig Tris haben. Das ist möglich. In TPF2 sind aber viele Vanilla Modelle nicht so gut optimiert. Das kann bei Mods ebenso und noch viel schlimmer sein.


    Wer schnell mehr Performance durch weniger Gesamt Tris haben will, kann natürlich einfach den globalen lodDistanceScaling Faktor verringern. Das Ergebnis sieht aber nicht schön aus. Ebenso gibt es eine Lod Balancing Mod von homieforever, wo man sogar für jeden Objekttyp den Lod Faktor anpassen kann. Das ist aber auch keine Superlösung, da Objekte mit vielen Tris ohne gute Lods am Ende ja nur ausgeblendet werden können.

    Es gibt auch: CargoLODs

  • Lods sind für eine gute Grafikperformance essentiell.

    Das meine ich - die sind halt nicht genug optimiert in dem Fall. Die Fahrzeuge die ich meine waren in 4k nur noch ein Pixel groß/klein - d.h. es wurden vielleicht um 50..100 Fahrzeuge in 3D mitgerendert, welche an sich gar nicht sichtbar waren.
    Wenn das auch für noch weiter entfernte Objekte gilt, welche gar nicht mehr sichtbar sind, dann würde das einiges an den Performanceeinbrüchen im späteren Spielverlauf mit vielen Fahrzeugen und Großen Städten (=vielen KI-Fahrzeugen) erklären.
    Danke für die Tipps..schaue ich mir mal an :)

    Habe den Beitrag eben noch upgedated. Das Spiel hat nen Memoryleak beim RAM und VRAM. Verbrauch schaukelt sich hoch bzw. fällt nicht wieder komplett ab, wenn Texturen von einer höheren Stufe auf eine kleinere gesetzt werden.

  • Ja aber wenn sie bei 1 Pixel nur noch ein Kasten sind, ist es kein Problem. 100*8 Vertices = 800 , das wäre nichts.

    Benutze das Debug Tool mit den Draw Calls und schau, ob der Berechnungsanteil der Auto Meshes unverhältnismäßig hoch ist.

  • Ja aber wenn sie bei 1 Pixel nur noch ein Kasten sind, ist es kein Problem. 100*8 Vertices = 800 , das wäre nichts.

    Benutze das Debug Tool mit den Draw Calls und schau, ob der Berechnungsanteil der Auto Meshes unverhältnismäßig hoch ist.


    Ja - weenn...ausser die kleinste LoD-Stufe hat mehrere hundert oder gar tausend Faces. Was ja bei den Mods zumindest vorkommen sollte :/

    Habe das jetzt über den einen Link von dir gesehen und rausbekommen wie man die Statistiken im Spiel aktivieren kann. Habe beide Mods mal geladen und werde mal ein wenig mit rumspielen.

    EDIT:
    Habe mir mal den Model-Editor angeschaut...das geht ja gar nicht. 1912er Benz.
    LOD 0 = 3793 Faces. Die werden bis 100 Meter Entfernung gezeichnet. Viel zu weit.
    Hier springt es von LOD 0 auf 1 um (2174 faces). Auf die Entfernung müsste es schon bei LOD 2 (852 faces) sein.


    Du hattest recht - die Vanilla-Models sind schon schlecht bzw nicht optimiert. Lod 2 kommt erst nach über 400 Metern und hat ganze 852 faces! =O:|:thumbdown:

    Lod 2 auf 458 Metern...hier hätte schon längst ein Quader in der Farbe des Fahrzeugs gereicht...oder einfach nur ein Viereck mit einer Textur, welches mit der Normal zur Kamera schaut ("Fake-3D", wie man es Früüher mal gemacht hat).


    Wenn das mit allen Objekten so läuft, dann verstehe ich die Probleme in groß ausgebauten Strassen, wenn dann alleine paar hundert KI-Fahrzeuge je mit einem Minimum an 500...1000 Faces rumfahren.


    Habe ein wenig rumgespielt und die Optimalen Entfernungen für die jeweiligen LOD-Stufen ermittelt.

    0 -> 1 nach 30 m (statt 100 m)
    1 -> 2 nach 50 m (statt 400..450 m)


    2 ist viel zu detailiert bzw. es fehlt noch eine viel gröbere LOD-Stufe, welche schon nach maximal 100 Metern kommen könnte.
    Bei LOD 2 könnten sogar die Texturen ganz raus und durch eine Farbe ersetzt werden, was auch viel Performance sparen dürfte. Die Texturen scheinen bei allen Modellen in selber Auflösung vorzuliegen.




    Die Städte dürften da auch gut reinhauen: Laterne mit 632 faces, welche bis 30 m gezeichnet wird und dann in LOD 1 "nur" noch 190 faces hat. LOD 2 kommt bei ~100m mit 52 faces. D.h. 100 Laternen dieses Typs in einer Stadt hätten alleine schon 5200 faces, wenn man mind. 100 m vom Stadtrand entfernt ist. Innerhalb der Stadt 63200 - und das nur die Laternen.


    632 vs 190 Faces auf 28 bzs 32 Metern (leider ist der Zoom via Scrollrad sehr grob):


    LOD 2 mit nur 52 faces auf gerade mal 20 Metern - kaum Unterschied zu LOD 1 mit 190:


    Das aktivieren von "Terrain Disable Filter" verdoppelt in etwa die FPS (je höher die Kamera über dem Boden, desto höher der FPS-Gewinn).
    Boden sieht damit nicht sehr hübsch aus, aber wenn jemand wirklich Performance-Probleme hat, der sollte den Parameter mal ausprobieren.


    Das Berechnen des Filters des Bodens (hier wird anscheinend eine Art Blur-Filter angewendet) frisst die meiste Performance von allem, wenn man sich die Timings anschaut.



    Wie bereits vermutet die die LOD-Stufen bzw. die viel zu detailierten Modelle schuld.


    Oben = Ansicht gefüllt mit der Stadt. Also ein wenig über der Stadt mit Blickrichtung leicht nach unten.
    Die Hecken - jede mit 456 faces in LOD 1, nehmen fast eine viertel Million Punkte der aktuell gerenderten 4.46 Millionen.
    Gefolgt von diversen anderen Pflanzen und z.B. auf Platz 3 - einem Wagenrad aus Holz mit satten 3804 Faces (!!), was bei 26 Stück = 98904 Faces für die Räder einer Hand voll Wagen. Im Editor ausprobiert - Rad besitzt keine LOD-Stufen und wird bei ca. 180 Metern nur ausgeblendet.


    Die Daten darunter sind von der gesamten kleine 1:1 Testkarte (Kamera ganz oben am Rand und nach unten geneigt, um alle Ecken der Karte zu erfassen). Auf Platz 1 ist ein Gebäude, welches auf diese Entfernung über 22000 Punkte hat. Zum Glück sind hier gerade nur zwei da. Die Gebäude scheinen auch nur eine einzige LOD-Stufe zu haben...



    Bin über die Karte geflogen und paar Einstellungen ausprobiert. Größte Einsparung ohne großes rumprobieren: Geometrie auf mittel oder niedrig stellen.
    Und falls eine neue Karte angefangen wird: OHNE Wälder. Das bringt den größten Performance-Boost überhaupt. Die Bäume sind viel zu detailliert und nehmen den größten Anteil der Faces ein.


    Geometrie von Hoch auf Niedrig zu setzen halbiert in etwa die Anzahl Punkte - falls viele Bäume dabei sind. An Objekten ändert sich nicht sehr viel. Zumindest nicht an vielen, da dazu die LOD-Stufen fehlen. Die Bäume sind neben dem Bodenfilter die größten FPS-Fresser.

    Man müsste bei einigen Objekten eine zweite Lod-Stufe erstellen - oder diese früher ausblenden.

    Beispiel hier: Treibstoffraffinerie (Screenshot unten / Bildmitte)
    Die zwei Doppeltanks nehmen bis zu solch einer Entfernung 21936 Punkte ein. Ein wenig höher/weiter werden diese ganz ausgeblendet. Und das sind nur die Tanks...es bezieht sich hier auf alle Objekte der Industrien und Städte.


    Zoomt man ganz an die Raffinerie ran, hat man knappe 2/3 MIllion Punkte - wovon die meisten von Bäumen stammen:



    Edit by Yoshi: Vielfachpost zusammengefügt. Bitte beachte die Forenregeln!

    AlphaRay: Sorry..wollte nicht so einen ellenlangen Post machen - wenn das hier so gewollt ist, dann ok.



    Und hier ein Beispiel mit einem Wald - über 8 Millionen Punkte (!) bei Geomterie hoch / etwa halbiert auf Geometrie mittel. Bei niedrig sind es nicht mal 42000:

    Bilder

    7 Mal editiert, zuletzt von AlphaRay () aus folgendem Grund: FACES durch PUNKTE ersetzt. Eben erst gesehen, dass der Editor die Faces (Dreiecke) und im Spiel selbst aber die Verticies (Punkte) angezeigt werden, obwohl in der Spalte davor noch "tri" (Dreieck) steht. Verwirrend...

  • Habe den Beitrag eben noch upgedated. Das Spiel hat nen Memoryleak beim RAM und VRAM. Verbrauch schaukelt sich hoch bzw. fällt nicht wieder komplett ab, wenn Texturen von einer höheren Stufe auf eine kleinere gesetzt werden.

    Nö, dass Spiel nutzt die C++-Container und die halten den Memory vor anstatt ihn nach Nutzung wieder frei zu geben. Allokation und Deallokation von Speicher ist zu teuer in der Laufzeit, wenn man ihn in jedem Zyklus machen würde. Bei manchen Containern wäre das sogar ein ziemlicher Performance-Fresser.

BlueBrixx