Performance Verschlechterung nach Upgrade von 0.2.6.0 auf 0.3.0.0/0.3.1.0 im Spiel und beim Laden der Map

  • Performance Verschlechterung nach Upgrade von 0.2.6.0 auf 0.3.0.0/0.3.1.0 im Spiel und beim Laden der Map

    Hallo zusammen,

    ich hatte mir in der Version 0.2.6.0 einige Screenshots erstellt und mittels dem Konsolenbefehl "time" die Performance angeschaut.
    Anschließend habe ich 0.2.6.0 komplett deinstalliert, habe den Launcher deinstalliert und neu installiert und auch das Spiel neuinstalliert. Vor der Neuinstallation habe ich den "Cattle and Crops" Ordner in "My Documents" gelöscht, so dass dieser neu angelegt wurde.

    Anschließend habe ich lediglich den Ordner "Save" aus dem Profilordner und die "radiostreams.xml" wieder zurück kopiert. Alle anderen Dateien habe ich genommen wie sie aus der frischen 0.3.0.0 Installation kamen.

    In der "engine.cfg" im "My Documents\Cattle and Crops" Ordner habe ich verglichen, was sich geändert hat und habe entsprechend die abweichenden Einstellungen in der Grafik angepasst. Nach meinem Erachten sind nun die Grafikeinstellungen identisch zu denen aus 0.2.6.0.

    Wie sind die Screenshots entstanden:
    • zuerst 5 Fahrzeuge an 5 unterschiedlichen Stellen im Spiel platziert und gespeichert
    • Spiel beendet und Spielstand geladen
    • mittels "^" (0.2.6.0) und "SHIFT+ESC" (0.3.0.0) die Konsole geöffnet und "time" eingegeben, anschließend mit "^" + "ESC" geschlossen
    • Mittels der "/" Taste auf dem Nummernblock so weit raus gezommt, wie es möglich war, ohne die Maus zu bewegen oder irgendetwas anderes zu tun
    • dann mittels "Y" zum nächsten Fahrzeug, mittels "/" raus gezoomt, einige Sekunden (ca. 5-10) gewartet und Screenshot erstellt


    Mein System:
    • AMD Ryzen 1600 @3.7 GHz
    • 16 GB RAM
    • AMD Radeon R9 270X 2 GB (18.11.2 Treiber)
    • SSD, Windows 10


    Meine Erkenntnisse:
    • Die Frameraten sind im Schnitt mehr als 20% eingebrochen
    • Das Laden der Map dauert gefühlt doppelt so lange. Habe keine Messungen, aber mit SSD ging das immer sehr flott, jetzt dauert es eine ganze Weile bis der Ladebalken auch nur den ersten Fortschritt anzeigt. Der Ladebalken benötigt nun etwas weniger als 23 Sekunden. Das ging früher - gefühlt - deutlich schneller.
    • Sowohl die CPU Latenz "ms Angabe" ist deutlich gestiegen als auch die Auslastung des "Renderer für die GPU".



    Hier meine Ergebnisse als Screenshots. Die Version ist im Screenshot zu sehen, die Position der Fahrzeuge sollte nach dem Laden des Spielstandes gleich sein.


    Test 1




    Test 2





    Test 3





    test 4





    Test 5






    Kann das noch irgendjemand bestätigen oder kennt die Ursache? Ich hätte persönlich mit Verbesserungen gerechnet, wenn auch nur minimal, zumindest aber keine Verschlechterung.




    Grüße
    Nachtfalke
  • Das deckt sich soweit auch mit meinen Erfahrungen mit dem Patch. Ich bin nun aber gerade dabei mich von extrem niedrigen Einstellungen langsam wieder an meine alten Einstellungen heranzutasten und hoffe so herauszufinden was die Ursache sein könnte.

    Mein System
    AMD FX8320
    Radeon R9 FuryX (aktueller Treiber 18.11.2)
    16GB DDR3
  • Bei mir ist es "Vegetation-Renderdistanz" und die Ausdünnung, sobald ich die Werte auf ein halbwegs brauchbares Maß bringen will (geht schon bei 30 los) fallen die FPS, mit Vegetations-Renderdistanz auf 50 auf einem Feld wo ich nur mit dem Schlepper stehe und nichts tue hab ich 15-20FPS und der Render im Timer-Fenster liegt so um die 50ms
  • @TheCoCe
    Hardware ist folgende
    CPU: AMD FX 8320 @3,7GHz
    GPU: Radeo R9 FuryX 4GB HBM
    RAM: 16GB DDR3 1866
    Windows 10 Pro 64 Bit

    Vor dem Patch hatte ich im Durchschnitt 25-30 FPS (ja nach Tätigkeit und Tageszeit) und nun waren mit den selben Einstellungen plötzlich nur noch 10-15 FPS drin.
    Daraufhin hatte ich nun schon alles komplett deinstalliert, alle Ordner und Reste gelöscht und neu installiert, meine alten Einstellungen "neu" eingestellt aber es war immer noch mehr Diashow als alles andere.
    Daraufhin hatte ich dann alles so weit runter gedreht wie es nur ging und nun jede einzelne Einstellung einzeln erhöht, und den meisten "Ärger" macht in meinem Fall leider die Vegetation.
  • Hallo,

    kann es daran liegen, dass es sich nun um ZIP Dateien handelt und nicht mehr um PAK ? Sind diese anders / stärker komprimiert oder werden diese nicht vorher extrahiert sondern nur im laufenden Betrieb?

    Wenn wir von "AMD Problem" reden, dann von AMD GPU oder AMD CPU? Denn sowohl CPU als auch "Renderer" sind hoch gegangen.


    PS:
    habe hier mal das Log nach einer Neuinstallation und einem frischen Profilstart angehängt, da steht was von Broken AMD Driver:

    Source Code

    1. 2018-11-25 01:59:18 INFO : Started Cattle and Crops, built Nov 23 2018, 19:34:49, C4 Version 4.5
    2. 2018-11-25 01:59:18 WARN in int __cdecl WinMain(struct HINSTANCE__ *,struct HINSTANCE__ *,char *,int) : Disabled Windows 7 Aero!
    3. 2018-11-25 01:59:18 INFO : Changing $logLevel from INFO (3) to WARN (2)
    4. 2018-11-25 01:59:19 WARN : Detected AMD driver version 25.20.14011.5005
    5. 2018-11-25 01:59:19 WARN : This AMD driver version (probably) has broken GL_EXT_direct_state_access!
    6. 2018-11-25 01:59:19 WARN : We've got (and are using) GL_ARB_direct_state_access!
    7. 2018-11-25 01:59:19 WARN in const char *__cdecl C4::StringTable::GetString(const class C4::StringID &) const : Missing String-Table Entry: CTRL-ROPE-SCNO
    8. 2018-11-25 01:59:19 WARN in const char *__cdecl C4::StringTable::GetString(const class C4::StringID &) const : Missing String-Table Entry: SBST-bale
    9. 2018-11-25 01:59:20 WARN in void __cdecl CNC::FillType::AddFromXMLRec(const struct C4::XmlTag *) : FillType material 'vegetation/fruits/barley/barley_swath_particles_tedding' has unknown type 'swath_tedding'!
    10. 2018-11-25 01:59:20 WARN in void __cdecl CNC::FillType::AddFromXMLRec(const struct C4::XmlTag *) : Failed to insert FillType material vegetation/fruits/barley/barley_swath_particles_tedding typename: swath_tedding!
    11. 2018-11-25 01:59:20 WARN in void __cdecl CNC::FillType::AddFromXMLRec(const struct C4::XmlTag *) : FillType material 'vegetation/fruits/barley/barley_swath_particles_raking' has unknown type 'swath_raking'!
    12. 2018-11-25 01:59:20 WARN in void __cdecl CNC::FillType::AddFromXMLRec(const struct C4::XmlTag *) : Failed to insert FillType material vegetation/fruits/barley/barley_swath_particles_raking typename: swath_raking!
    13. 2018-11-25 01:59:36 ERROR in struct sqlite3_stmt *__cdecl CNC::SQLPrepareStatement(const char *,const class std::initializer_list<struct CNC::SQLBindValue> &) : Failed to prepare SQL statement 'DELETE FROM finance_log WHERE valid = 0;', reason: no such table: finance_log
    14. 2018-11-25 01:59:47 WARN : decompressing packed grid from world, size 127.6 MiB to 480.0 MiB
    15. 2018-11-25 01:59:47 WARN : 0.135000 seconds to decompress grid
    16. 2018-11-25 01:59:47 WARN : raw grid size 480.0 MiB
    17. 2018-11-25 01:59:47 WARN : foliage grid size 384.0 MiB
    18. 2018-11-25 01:59:47 WARN : ground grid size 96.0 MiB
    19. 2018-11-25 01:59:58 WARN in void __cdecl C4::WeatherNode::Preprocess(void) : No connected skydome
    20. 2018-11-25 01:59:58 WARN : Last growth Update at: 2000-04-01 10:00:00
    21. 2018-11-25 01:59:58 WARN in void __cdecl CNC::GameWorld::PreprocessCheckAllNodes(void) : ! Node at (921.76, 685.71, 12.83) has InfoForTaskProperty with same ID (38) as Node at (928.54, 675.32, 12.94) !
    22. 2018-11-25 01:59:58 WARN in void __cdecl CNC::GameWorld::PreprocessCheckAllNodes(void) : ! Node at (652.04, 576.08, 3.42) has InfoForTaskProperty with same ID (1) as Node at (-306.15, -424.64, 24.77) !
    23. 2018-11-25 01:59:58 WARN in void __cdecl CNC::GameWorld::PreprocessCheckAllNodes(void) : ! Node at (-379.05, 470.73, 1.56) has InfoForTaskProperty with same ID (4) as Node at (-306.15, -441.60, 24.77) !
    24. 2018-11-25 01:59:58 WARN : 13.677001 seconds to unpack world
    25. 2018-11-25 01:59:58 WARN : 1.782000 seconds to preprocess world
    26. 2018-11-25 02:00:01 WARN : Machine::Preprocess(): path = 'traffic/f_focus' variantId = -2
    27. 2018-11-25 02:00:01 WARN in const char *__cdecl C4::StringTable::GetString(const class C4::StringID &) const : Missing String-Table Entry: MI01-NAME
    28. 2018-11-25 02:00:01 WARN in const char *__cdecl C4::StringTable::GetString(const class C4::StringID &) const : Missing String-Table Entry: MI01-GRAS-DESC-NAME
    29. 2018-11-25 02:00:02 WARN : Machine::Preprocess(): path = 'traffic/range' variantId = -2
    30. 2018-11-25 02:00:02 WARN : Machine::Preprocess(): path = 'traffic/sk_octavia' variantId = -2
    31. 2018-11-25 02:00:03 WARN : Machine::Preprocess(): path = 'traffic/h_santa' variantId = -2
    32. 2018-11-25 02:00:03 WARN : Machine::Preprocess(): path = 'traffic/mb_a' variantId = -2
    33. 2018-11-25 02:00:04 WARN : Machine::Preprocess(): path = 'traffic/f_escape' variantId = -2
    34. 2018-11-25 02:00:04 WARN : Machine::Preprocess(): path = 'traffic/maz_1' variantId = -2
    35. 2018-11-25 02:00:05 WARN : Machine::Preprocess(): path = 'traffic/p_cay' variantId = -2
    36. 2018-11-25 02:00:05 WARN : Machine::Preprocess(): path = 'traffic/sk_octavia' variantId = -2
    37. 2018-11-25 02:00:06 WARN : Machine::Preprocess(): path = 'traffic/k_rio' variantId = -2
    38. 2018-11-25 02:00:06 WARN : Machine::Preprocess(): path = 'traffic/f_escape' variantId = -2
    39. 2018-11-25 02:00:07 WARN : Machine::Preprocess(): path = 'traffic/lr_free' variantId = -2
    40. 2018-11-25 02:00:07 WARN : Machine::Preprocess(): path = 'traffic/a_a3' variantId = -2
    41. 2018-11-25 02:00:08 WARN : Machine::Preprocess(): path = 'traffic/a_s7' variantId = -2
    42. 2018-11-25 02:00:08 WARN : Machine::Preprocess(): path = 'traffic/vw_bus' variantId = -2
    Display All


    Grüße
    Nachtfalke

    The post was edited 1 time, last by Nachtfalke ().

  • Moin Ich würde da evtl so ran gehen cnc komplett löschen bei mir ist es steam und unter mygames ... amd graka treiber mal komplett runter ballern und frisch auf setzen...also wirklich alles... Windows energie Verwaltung auf Höchsleistung ... amd wird ja auch noch Systemeinstellungen haben kenne mich nicht so aus mit den treibern dort...bei der Graka auch noch mal Maximale Leistung bevorzugen evtl mal von den treiber settings mal ein Foto machen und hier rein stellen vllt fällt was auf... habe am Montag frei sonst mal bei Discord anschreiben im cnc channel ansonsten geduld haben jeder der pubg gespielt hat wird es wissen da waren vor der 1.0 (‚auch nicht viel fps drin (vllt40)mittlerweile läuft es rund... lg

    Edit: und nach jeder Veränderung das Spiel mal neustarten
    Display Spoiler
    Steam > 3NGL youtube.com/user/zero18403

    Intel i9 9900k @ 4,7 Ghz
    Asus z390 F Rog Strix Mainboard
    Asus Geforce GTX 1080 Strix Advanced
    Asus ROG Swift pg278QR WQHD GSYNC @ 2560x1440 165hz
    Gskil Ripjaws 16gb
    Bequiet Dark Base 700 Case
    Bequiet Silent Loop 360 WaKü
    Bequiet Netzteil
    Samsung m2 500 gb 2x

    Asus Cerberus keyboard
    Logitech G502 mouse
    Logitech gt driving force
    Hyper x Cloud Revolver S 7.1 Headset

    The post was edited 1 time, last by 3NGL ().

  • Bei mir sind die FPS auch relativ stark eingebrochen. Habe schon mit der Grafikeinstellung "Niedrig"probiert ..dort komme ich auf einigermaßen erträgliche 40FPS durchschnittlich.
    Vorher hatte ich auf einer leicht modifizierten Stufe "Mittel" ca 50FPS.
    Das einzige, was ich positiv feststellen kann ist, dass die FPS etwas stabiler laufen, nicht ganz so schnell auf und abfallen.

    Ich weiß von Rob, dass in den letzten AMD Treibern bis hin zum 18.11.1 Probleme vorhanden waren, was die Leistung im Spiel anging.
    Mit dem 18.11.1 sollte das eigentlich wieder etwas ausgebügelt worden sein, ich persönlich kann davon nicht viel feststellen.
    Aber vielleicht hilft es euch, mindestens den 18.11.1 oder gleich den neuesten 18.11.2 zu installieren.

    Wir AMD User müssen da noch viel Geduld haben, bis dieses Spiel auf Vulkan/DX12 portiert wird, die AMD Treiber laufen mit OpenGL eben nicht wirklich zufriedenstellend, das war aber noch nie anders.
    Aber das ist noch Zukunftsmusik.
    AMD Ryzen 7 5800X, 32GB DDR4 3800Mhz, Gigabyte X570 Elite, AMD Radeon RX 6900XT, BeQuiet! Straight Power 850W, BeQuiet! Pure Base 500DX weiß, 3x 27" Dell WQHD Monitore, Saitek Seitenkons., CSL DD, HP Reverb G2
  • @Nachtfalke Den Fehler hatte ich vor meiner Neuinstallation (seit dem nicht mehr), eventuell hilft es ja wenn du die Installation reparieren lässt.

    @3NGL

    Blacky wrote:

    Daraufhin hatte ich nun schon alles komplett deinstalliert, alle Ordner und Reste gelöscht und neu installiert,
    In den AMD-Settings hatte ich auch schon alles abgeschaltet was aus eigener Erfahrung zusätzliche Leistung kostet

    @DannyA4 Ich hatte mir schon vor längerer Zeit die Grafikeinstellungen "Hoch" angepasst wodurch wahrscheinlich bei mir von Haus aus 25-30 FPS "normal" waren.
    Mit dem Wert hätte ich auch weiterhin gut leben können, solang es über 25 bleibt und kein großartiges ruckeln zu sehen ist bin ich ja im Grunde bei jedem Simulator zufrieden. :)
    Treiberversion haben wir beide (Nachtfalke und ich) ja bereits auf 18.11.2, also ganz aktuell.

    Das man als AMD Kunde Geduld haben muss ist ja auch nix neues, ich mache MBB da ja auch keinen Vorwurf und freue mich das sie zumindest eine Portierung auf Vulkan/DX12 planen (auch wenn es Zukunftsmusik ist, ich hab Zeit ;) ). Denn um es ganz genau zu nehmen hat Cattle and Crops da genau das gleiche Problem wie alle anderen OpenGL Titel auch, sobald der Nutzer eine AMD Karte hat wirds nix mehr mit Höchstleistung. Ist zwar traurig aber leider eine Realität die nur AMD beheben könnte, aber wohl nicht mehr möchte.
  • Mir ist eben noch eine Sache aufgefallen als ich beim weiteren Einstellungstesten während der Grasmission auf Feld 47 unterwegs war.
    Und zwar fällt die Framerate ab sobald man in Richtung Häuser blickt. Darum nun meine Frage, wäre es eventuell möglich das es hier auch ein Problem mit LOD gibt? Denn die Häuser sehen, soweit ich das aus der Ferne beurteilen kann, sehr detailiert aus.

    Blick aufs Feld


    180 Grad gedreht mit Blick Richtung Dorf


    Meine Einstellungen


  • TheCoCe wrote:

    Also was für mich in der Log stark raus sticht ist folgende Zeile:
    This AMD driver version (probably) has broken GL_EXT_direct_state_access!
    Ich meine das hat was mit dem Fallback zu tun der stattdessen genutzt wird.
    Hallo,

    daran wird es vermutlich liegen, denn ich habe einen 0.2.6.0 Debug.log hier noch liegen, von vor dem Update. Da fehlen die Zeilen in denen auf fehlerhafte "AMD Treiber" hingewiesen wird.

    Source Code

    1. 2018-11-23 23:17:19 INFO : Started Cattle and Crops, built Oct 2 2018, 16:03:06, C4 Version 4.5
    2. 2018-11-23 23:17:19 WARN in int __cdecl WinMain(struct HINSTANCE__ *,struct HINSTANCE__ *,char *,int) : Disabled Windows 7 Aero!
    3. 2018-11-23 23:17:19 INFO : Changing $logLevel from INFO (3) to WARN (2)
    4. 2018-11-23 23:17:19 WARN in const char *__cdecl C4::StringTable::GetString(const class C4::StringID &) const : Missing String-Table Entry: CTRL-ROPE-SCNO
    5. 2018-11-23 23:17:19 WARN in const char *__cdecl C4::StringTable::GetString(const class C4::StringID &) const : Missing String-Table Entry: SBST-bale


    Der Treiber war vor und nach CnC Update der 18.11.2.


    ---- edit ----

    Hier scheint @caedes die Ursache schon zu nennen:
    CattleAndCrops has crashed with: SIGSEGV !



    ---- edit 2 ----
    Habe nun nochmal mit dem Treiber 18.10.2 getestet, da kommt die gleiche Meldung

    Source Code

    1. WARN : This AMD driver version (probably) has broken GL_EXT_direct_state_access!
    2. WARN : We've got (and are using) GL_ARB_direct_state_access!

    Beim Treiber 18.9.3 kommt die Meldung etwas anders:

    Source Code

    1. 2018-11-25 15:33:08 INFO : Started Cattle and Crops, built Nov 23 2018, 19:34:49, C4 Version 4.5
    2. 2018-11-25 15:33:08 WARN in int __cdecl WinMain(struct HINSTANCE__ *,struct HINSTANCE__ *,char *,int) : Disabled Windows 7 Aero!
    3. 2018-11-25 15:33:08 INFO : Changing $logLevel from INFO (3) to WARN (2)
    4. 2018-11-25 15:33:09 WARN : Detected AMD driver version 24.20.13019.1008
    5. 2018-11-25 15:33:09 WARN : We've got (and are using) GL_ARB_direct_state_access!

    So als würde der 18.9.x Treiber die neue Funktion "GL_EXT_direct_state_access" gar nicht kennen und grundsätzlich nur die andere "GL_ARB_direct_state_access"


    Grüße
    Nachtfalke

    The post was edited 2 times, last by Nachtfalke ().

  • Es gibt auf AMD immernoch schwere Performanceprobleme mit den AMD Treibern. Die neuen Änderungen von Tombstone sorgen dafür das alles was nicht Bodenvegetation ist besser gerendert wird.
    Allerdings war das Clipping der Pflanzen in 0.2.6 falsch wenn man mit Zoom am Field of View herumgespielt hat.
    Die Performance ist jetzt auf AMD nur schlechter weil jetzt mehr Pflanzen gerendert werden, welche vorher gefehlt haben.

    Ich entwickle selber dieses Spiel primär auf AMD mit einer RX 580 um all diese Performanceprobleme in den Griff zu bekommen.
    Im Moment ist noch das GPU Instancing der Pflanzen das Hauptproblem. In jedem Frame wird jetzt geschaut wie man die ca 8000 sichtbaren Pflanzen in Gruppen zusammenfasst damit die Grafikkarte diese nicht mehr einzeln rendern muss.

    Das kostet sehr viel CPU Power und wird demnächst auf mehrere CPU Threads verteilt und auch nur noch dann gemacht, wenn sich Pflanzen tatsächlich ändern. Da können wir noch einiges an Performance rausholen aber jetzt müssen gerade erstmal viele Bugfixes noch gemacht werden.
    Cattle and Crops - Engine Guru
  • Ach ja und die längeren Ladezeiten kommen einfach durch die .zip Dateien zustande.
    Wir probieren das im nächsten Patch oder den vor Weihnachten .zip Dateien einfach ohne Komprimierung anzubieten.
    Dafür müssten alle aber nochmal den gesamten Content runterladen.
    Cattle and Crops - Engine Guru
  • Nachtfalke wrote:

    WARN : This AMD driver version (probably) has broken GL_EXT_direct_state_access!
    WARN : We've got (and are using) GL_ARB_direct_state_access!

    Dass GL_EXT_direct_state_access bei AMD Treibern kaputt ist (war) ist nicht so schlimm, weil ich Unterstützung für GL_ARB_direct_state_access eingebaut habe, was weniger defekt ist mit AMD Treibern (es gab ein Problem, für das wir aber einen Workaround haben der die Performance nicht beeinträchtigen sollte) und genauso performant sein sollte. Weiterer Bonus: die ARB Variante funktioniert auch mit den Open Source Treibern unter Linux.

    Wir nutzen GL_EXT_direct_state_access grundsätzlich nur noch, wenn GL_ARB_direct_state_access nicht verfügbar ist (außer unter Windows mit Intel-Grafik-Treibern, bei denen ist nämlich beides defekt und sorgt für flackernde Pflanzen).

    Wir haben noch keine Erkennung für Treiberversion 18.11.1 drin, deshalb bekommt man auch mit der Version diese Warnung.

    The post was edited 2 times, last by caedes ().

  • Hallo zusammen,

    vielen Dank für die ausführlichen Erklärungen. Ich nehme dann wohl erstmal mit, dass ich zum Einen endlich alle Pflanzen sehe, die nVidia Nutzer vorher schon gesehen haben und muss mich gedulden, dass die Optimierung in Bezug auf Pflanzengruppierungen, Veränderungserkennung und CPU Multithreading bei mir bzw. AMD Usern wieder die "alte" bzw. eine noch nicht gesehene Performance bringen.

    So wie ich es auch verstehe ist das nichts was ich vor Weihnachten - wenn überhaupt - erwarten kann. Kann ich mich zumindest drauf einstellen. Danke fürs Feedback! :)


    Grüße
    Nachtfalke
  • Hallo,

    es war auch nicht zu erwarten, aber mein Test hat ergeben, dass es keine Veränderung der Performance zwischen 0.3.0.0 und 0.3.1.0 in den oben genannten Szenarien / Screenshots gegeben hat.


    ----- edit -----
    Ich habe nun alle .zip Dateien im Installationsordner entpackt und neu gepackt (ohne Kompression). Dadurch lädt die Map nun wieder schneller in ca. 10-15s. Ingame macht das leider gar keinen Unterschied.



    Grüße
    Nachtfalke

    The post was edited 1 time, last by Nachtfalke: Ladegeschwindigkeit Map. ().