• Mitspieler gesucht? Du willst dich locker mit der Community austauschen? Schau gerne auf unserem ComputerBase Discord vorbei!

Anno Anno 1800 [Sammelthread]

Baal Netbeck schrieb:
Und die kommen ins Forum und fragen was sie für eine bessere Leistung tun können.
Ja, beim Erscheinen des Spiels.
Baal Netbeck schrieb:
Dass der Ram voll oder überläuft ist daher gerade meine Intention.
Um was herauszufinden ? Wenn ausgelagert und danach von da gelesen wird, dann entscheidet über die Geschwindigkeit die "Zugriffszeit der Festplatte". Oder verstehe ich da was falsch ?

"Anno1800-Benchmark-1080p-Vorbereiten-und-Bencchmarksequenz-1-fach"

edit: hier noch einen. Habe 5 fach gewählt, aber nach etwa 23 Minuten hat die Aufzeichnung gestoppt. Kein Plan warum.
 

Anhänge

  • cachemem.png
    cachemem.png
    91,9 KB · Aufrufe: 182
Zuletzt bearbeitet von einem Moderator:
  • Gefällt mir
Reaktionen: Baal Netbeck
gidra schrieb:
Um was herauszufinden ? Wenn ausgelagert und danach von da gelesen wird, dann entscheidet über die Geschwindigkeit die "Zugriffszeit der Festplatte". Oder verstehe ich da was falsch ?
Natürlich kommt dann das Laufwerk zum tragen.
Aber eben nur manchmal.

Wir bekommen heute Besuch und ich kann vermutlich erst Abends draufgucken.

Schonmal vielen Dank für die Tests. :daumen:

Wenn es plötzlich stoppt ist das ja schonmal ein Hinweis auf einen Fehler im skript oder im Ablauf.

Ich habe zwar gesagt, ich brauche das csv file, aber das zugehörige json file wäre trotzdem gut zu haben.... Wäre cool, wenn du das dazu packen könntest.
 
Ich habe es quick and dirty "ausgewertet".

Vergleich Ryzen 1400 2133er Ram mit Gidra Frametimes.png

Bei den Frametimes sieht man wie heftig sich die Peaks unterscheiden, aber sonst ist es sehr unübersichtlich.

Bei den lokalen Mittelwerten erkennt man mehr:
Vergleich Ryzen 1400 2133er Ram mit Gidra lokale Mittelwerte.png


Der Test ist mit 2133er Ram, halber Anzahl Kerne und halbem L3 Cache.
Der Unterschied überrascht mich trotzdem!

Auch die Statistik ist sehr deutlich:
Vergleich Ryzen 1400 2133er Ram mit Gidra Auswertung.png
 
Bei diesen Mengen an Daten, die ständig verschoben werden, wird wohl die Geschwindigkeit des Rams die grösste Rolle gespielt haben. Meiner ist auch noch im Dual Rank aufgebaut. Sieht man oben am Screenshot. Die Schreibrate ist fast verdoppelt. Bei Single Rank würde die bei 25 Gbit liegen. Die 1800x ist doch in 2 x 4 Segmente aufgeteilt, auch der Cache. Wenn die CPU kaum genutzt wird, hat die 1800x wahrscheinlich keinen Vorteil gegenüber 1400. Deine taktet auch noch höher. Zwar nur 200 Mhz, aber nichtsdestotrotz. Vielleicht irre ich mich.
 
  • Gefällt mir
Reaktionen: Baal Netbeck
Vielen Dank für das Json File!!! :cheerlead:
Jetzt sehe ich auch, ob du GPU limitiert bist....bist du nicht.

gidra schrieb:
einer ist auch noch im Dual Rank aufgebaut. Sieht man oben am Screenshot. Die Schreibrate ist fast verdoppelt. Bei Single Rank würde die bei 25 Gbit liegen.
Da verwechselst du Rank und Channel.
Channel verdoppelt die Bandbreiten, aber Rank bringt nur bis 10% Kopierbandbreite.
Und bei 2x8GB sind die Chancen auf zwei Ranks pro Channel eher gering. Da gab es glaube ich nur ein paar Hyper X Module, die 8GB Dimms mit zwei Ranks angeboten haben.

gidra schrieb:
Wenn die CPU kaum genutzt wird, hat die 1800x wahrscheinlich keinen Vorteil gegenüber 1400. Deine taktet auch noch höher. Zwar nur 200 Mhz, aber nichtsdestotrotz. Vielleicht irre ich mich.
Wenn die Gesamtauslastung über 50% geht(bei CPUs mit HT/SMT), dann sind die echten Kerne schon ausgelastet und es wird über die virtuellen Kerne noch Arbeit "dazwischen gequetscht".
In der Regel ist das der Punkt, ab dem man von mehr echten Kernen profitiert.
Auf die Auslastung der Einzelthreads sollte man gar nicht erst gucken, da die Last viel schneller hin und hergeschoben wird, als das angezeigt wird.

Die 200MHz mehr werden nicht so viel ausmachen.
Der Ram wird etwas ausmachen, aber ich habe es auch nochmal mit dem Ram auf 3400 CL14 getestet, und da bin ich trotzdem weit von deinen FPS Bereichen entfernt.

Und zeitgleich habe ich es am neueren Rechner mit Ryzen 3950X, 32GB 3795 CL14 er Ram und einer GTX 1080 Ti getestet.
Viel besser, aber trotzdem weit entfernt von deinen FPS Werten.

Auch sieht der Verlauf bei dir anderes aus, was dafür spricht, dass das Skript bei dir nicht tut was es soll.
Oder du hast andere Grafikeinstellungen verwendet.

Also bei deiner zweiten Messung, wo das JSON File dabei ist, ist definitiv etwas schief gegangen, denn die dauert 1490 Sekunden....nicht ca. 572 s wie geplant.:freak:
Hast du eventuell den Hotkey für CapFrameX getauscht, aber nur an der Stelle wo es startet und nicht wo es endet? Selbst dann sollte der Hotkey bei der nächsten Benchmarkschleife nach ca 12min erneut aktiviert werden und nicht nach fast 25 min.
Ergänzung ()

Den Ram schneller zu betreiben bringt den Ryzen 1400 schon ganz gut weiter.
Das ist auch sehr deutlich zu spüren.

Der 3950X ist dann nochmal angenehm flüssiger, wie man an dem deutlich gestiegenen 1% low Integral sieht.
Perfekt wird es aber auch hier nicht.

@gidra deine Messung habe ich hier nicht eingeblendet, da sie offensichtlich mit der Überlänge nicht dazu passt.
Das CSV File, dass du zuerst hochgeladen hattest, passte von der Zeit, aber nicht vom Ablauf. Eventuell ein Problem mit 16GB Ram?
Vergleich verschiedener Messungen Statistik.png
Vergleich verschiedener Messungen lokale FPS.PNG

Wie man sieht, ist der Verlauf eigentlich sehr ähnlich, nur verschoben.
Obwohl der 3950X auf einem anderen System mit 32GB Ram und einer Nvidia GPU sitzt.
 
Zuletzt bearbeitet:
Ich habe es nochmal durchlaufen lassen und es ist nach 1450s wieder von alleine gestoppt. Es kam zwar ein Pausenfenster, aber da der Script dann dennoch weiterlief, dachte ich, es muss so sein. Und so sind es wieder 1450s geworden. Wobei CapFrameX die Aufzeichnung wieder von alleine gestoppt hat. Durfte am Ende aber doch keine Rolle spielen, wenn bloss die ersten 550s relevant sein sollen.
 
Zuletzt bearbeitet von einem Moderator:
Hier ist ein Video vom Ablauf wie er sein soll.

Hast du denn das Skript bearbeitet, oder bei den Spieleinstellungen nicht die nötigen Anpassungen vorgenommen? Es muss z.B. das Scrollen am Bildschirmrand deaktiviert sein, da Autohokey die Maus gerne mal Zickzack bewegt und an den Rand stößt. Dann können eventuell Fenster nicht geöffnet werden und wenn das Skript das Fenster mit Esc schließen will, öffnet sich stattdessen das Pausenfenster.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: gidra
Dafür muss es doch auch eine config Datei zum Austauschen geben ? Wäre doch einfacher, als manuell jedes Mal neu konfigurieren zu müssen.
 
  • Gefällt mir
Reaktionen: Baal Netbeck
Ich habe gesucht, aber die config Datei scheint nur die Grafikeinstellungen zu beinhalten.
Die hotkeys im Spiel sind bei mir auf Standard.

Aber die Einstellungen bei "Spielablauf" sind wohl an das Profil geknüpft und müssen manuell gesetzt werden.
Ich denke nicht, dass es funktioniert, wenn ich meine Profil Datei mitschicke.
 
Baal Netbeck schrieb:
Es muss z.B. das Scrollen am Bildschirmrand deaktiviert sein
Habe ich jetzt gemacht. War aktiviert. Am Kap Trelawney gab es aber ein Pausenfenster, das ich sofort weggeklickt habe. Nach 1450s war die Aufzeichnung dennoch zu Ende. Das Skript lief aber wohl weiter.

Man jetzt merke ich, dass ich die Aufzeichnung per Koma Eingabe am NumBlock selbst gestartet habe. Die ist jedoch bereits im Script enthalten. Da du ja im Skript mit Wartezeiten gearbeitet hast, wird da wohl der Fehler des Ablaufs liegen.

ps: Skript habe angeschaut, aber nichts verändert.

So ein einfacher Benchmark ist doch durchgelaufen, ohne Vorbereitung.
 

Anhänge

Zuletzt bearbeitet von einem Moderator:
gidra schrieb:
In der Zeile 38 sollte die aber auslösen, oder ?
Habe das Koma gegen F11 ausgetauscht. Im Spiel F11 gegen Pos1 ausgetauscht, aber das Resultat ist dasselbe. CapFrameX startet die Aufzeichnung nicht.
Also in Zeile 38(ohne Vorbereiten) oder in Zeile 2090(mit Vorbereiten) wird automatisch der Hotkey fürs Messung starten gedrückt, der im Skript steht.
Im Moment ist das das Komma am Nummernblock(deutsche Tastatur) bzw. der Punkt am Nummernblock(englische Tastatur).
Der Grund ist, dass diese Taste von keinem meiner Spiele benutzt wird.
In CapFrameX muss natürlich diese Taste als Hotkey hinterlegt sein, eventuell musst du den Nummernblock auch erst einschalten um sie setzen zu können.

Wenn du einen Laptop oder sowas hast, wo dir der Nummernblock fehlt, kannst du auch irgendwas anderes nehmen, aber dann musst du das auch im Skript an zwei Stellen ändern.
Und ich würde da nicht F11 oder irgendeine andere Sondertaste nehmen, denn je nach PC haben die Extrafunktionen, die dann aktiviert werden oder das auslösen behindern.
nimm einfach ein e oder q ...die scheinen nicht im Spiel benutzt zu werden.
Also "Send, {NumpadDot} ;Benchmark Hotkey" ersetzen mit "Send, e ;Benchmark Hotkey"

Und zwar nicht nur da, wo die Messung gestartet wird(Zeile 38 bzw. 2090), sondern auch da, wo die Messung gestoppt wird(Zeile 806 bzw. 2858)!

Und in CapFrameX muss natürlich eine 0 bei der Capture time stehen, sonst stoppt die Messung automatisch nach den eingestellten Sekunden und nicht vom Skript gesteuert.

Was stört dich denn an dem Nummernblock Komma?

gidra schrieb:
Am Kap Trelawney gab es aber ein Pausenfenster, das ich sofort weggeklickt habe.
Kannst du beschreiben, an welcher Stelle? Ich mache da glaube ich Museum, Zoo, Palast usw auf, und schließe die teilweise mit Esc. Wenn das Probleme macht, kann ich da auch auf das schließen Symbol anklicken lassen.

Am Laptop ist mir auch aufgefallen, dass dieser teilweise zu lange braucht, um zwischen den Welten zu springen. Beim letzten Springen der Benchmarksequenz in die alte Welt, soll danach ein Kraftwerk angeklickt werden, aber am Laptop war er zu langsam und hat es nicht geschafft. Da habe ich ihm jetzt eine Sekunde mehr Zeit gegeben.
Und auch in der Zwischenphase bei mehreren Messungen, soll das Skript nach dem Sprung in die alte Welt das Kontor anklicken und die Kontore durchschalten, aber der Laptop ist zu langsam und stattdessen werden die Schiffe durchgeschaltet. Ist nur die Zwischenphase, aber auch da habe ich eine Sekunde mehr angesetzt.

Ansonsten scheint bei mir alles wie geplant zu laufen....siehe Video
 
Welche Taste man zum Starten der Aufzeichnung benutzt, ist nun wirklich wurst. Bei CapFrameX ist kein Wert, zur Begrenzung der Aufnahmedauer gesetzt. Also muss es wohl vom Skript gekommen sein.

Die Zeit, in der ich mich mit Skripten beschäftigt habe, liegt schon recht lange zurück. Das Problem mit Skripten dieser Art ist, dass die ziemlich fehleranfällig sind. Das ist die einfachste Art des Skripts. Weil solche Skripte bloss auf die relativen Koordinaten basieren und nicht auf grafische Oberflächen. Solche Oberflächen haben eigene Bezeichnung. Daher wären die Koordinaten irrelevant und die grafische Oberfläche würde ausgeführt werden, ganz gleich wo die sich momentan befindet. Ein weiteres Problem ist, dass ein Skript der nur auf den Koordinaten basiert, nicht auf die tatsächliche Ausführung wartet. Ja, man kann eine Wartezeit einfügen. Das wiederum, ist extrem fehleranfällig, wenn die Hardware am Limit ist. Den, wenn die gesetzte Funktion einmal nicht rechtzeitig ausgeführt wurde, ist alles, was danach kommt für die Tonne.

Nja, jetzt habe ich ja die Resultate eines Benchmarks gepostet. Schade nur, dass sich sonst keiner meldet.
bandicam 2022-04-24 17-51-33-476.jpg
 
  • Gefällt mir
Reaktionen: Baal Netbeck
gidra schrieb:
Das Problem mit Skripten dieser Art ist, dass die ziemlich fehleranfällig sind. Das ist die einfachste Art des Skripts. Weil solche Skripte bloss auf die relativen Koordinaten basieren und nicht auf grafische Oberflächen. Solche Oberflächen haben eigene Bezeichnung. Daher wären die Koordinaten irrelevant und die grafische Oberfläche würde ausgeführt werden, ganz gleich wo die sich momentan befindet.
Ich weiß halt nicht, wie ich es sonst machen soll. Ich kann nutze daher möglichst viele Bildschirm Hotkeys, und teilweise lange Wartezeiten.

Bei der Vorbereitung bewege ich die Kamera auch öfter über die Tasten, da es einfacher ist, als über die Maus, aber dann stockt es hier und da, und schon enden 1,5 s Kamerafahrt an einer anderen Stelle.

Daher habe ich sowas in der Benchmark Sequenz nicht benutzt.
Da benutze ich nur Kamera Hotkeys, Zoomen und ich drehe mit der Maus oder springe über Klicks auf der Minimap an verschiedene Stellen.

gidra schrieb:
Ja, man kann eine Wartezeit einfügen. Das wiederum, ist extrem fehleranfällig, wenn die Hardware am Limit ist. Den, wenn die gesetzte Funktion einmal nicht rechtzeitig ausgeführt wurde, ist alles, was danach kommt für die Tonne.
Eigentlich sollte es sich nie für lange vertüdeln.
Sofern nicht dass Problem mit dem ESC auftritt, dürfte in der benchmark Sequenz nichts dauerhaft schief gehen....dachte ich. ;)

Da werde ich das Skript noch updaten.
gidra schrieb:
Nja, jetzt habe ich ja die Resultate eines Benchmarks gepostet.
Ist das mit Vorbereitung oder ohne? Es ist relativ abwegig, dass dein 1800X ein besseres/ähnliches Ergebnis liefert, als mein 3950X.
Oder hast du andere Grafiksettings?

gidra schrieb:
Schade nur, dass sich sonst keiner meldet.
Finde ich auch, aber so ist es halt.
 
Baal Netbeck schrieb:
Ist das mit Vorbereitung oder ohne? Es ist relativ abwegig, dass dein 1800X ein besseres/ähnliches Ergebnis liefert, als mein 3950X.
Oder hast du andere Grafiksettings?
Anno1800-Benchmark-1080p-nur-Benchmarksequenz-ohne Vorbereiten
Für die Grafiksettings habe ich deine Datei genommen. Habe nur unter Spielablauf und die Tastenkonfiguration anpassen müssen, so wie auf deinen Screens zu sehen war.
 
  • Gefällt mir
Reaktionen: Baal Netbeck
Ok, eventuell bin ich völlig auf dem Holzweg, und man mus weniger Ram verbauen. :D
Ich habe vorhin den Ram auf 16GB begrenzt und der Benchmark ohne Vorbereiten lief überaschend gut.

Mit Vorbereitung läuft gerade....
 
Zuletzt bearbeitet:
So...8 GB habe ich auch noch nachgeschoben, jeweils mit und ohne Vobereitung.
Hier mit Percentile, die die wenigen ganz starken Ruckler ignorieren.
64 vs 16 vs 8 GB mit und ohne Vorbereitung percentile .png

Und hier mit % Low, die diese Ruckler enthalten:
64 vs 16 vs 8 GB mit und ohne Vorbereitung low frametimes .png


Und so sehen die Frametimeverläufe aus:
64 vs 16 vs 8 GB mit Vorbereitung .png
 
Und woran liegt es nun, wenn schon 3950x, mehr Ram als notwendig und starke GPU nicht zu mehr FPS führt?

Wobei ich nach wie vor es als nicht sinnvoll erachte Ram zu überfüllen. Irgendwann Anfang 2000 wäre das wohl normal, aber nicht 2022.
 
Zuletzt bearbeitet von einem Moderator:
Ich würde es ja auch gerne testen, aber mit Linux bringe ich da denke ich nochmal deutlich mehr Störeinflüsse und Hürden für das Skript mit.

Ich bin aber in der Tat gerade am Überlegen, ob ich zum Herbst hin meinen 2700x aufrüste und meinem AM4 System noch ein paar Jährchen mehr Leben einhauche. Hauptspiel bei mir ist Anno 1800.
 
  • Gefällt mir
Reaktionen: Baal Netbeck
gidra schrieb:
Und woran liegt es nun, wenn schon 3950x, mehr Ram als notwendig und starke GPU nicht zu mehr FPS führt?
Daran, dass dein Wert ohne die Vorbereitung ist, und der vom 3950X mit Vorbereitung.

gidra schrieb:
Wobei ich nach wie vor es als nicht sinnvoll erachte Ram zu überfüllen.
Ich überfülle den Ram nicht....das Spiel tut es. ;)

Wenn ich normal Anno 1800 spiele, dann füllt sich der Ram ganz natürlich auf solche Werte und sogar drüber.
Es dauert halt 1-2 h und die Vorbereitung im Skript verkürzt und automatisiert das auf unter 30min.

Das ist wie die Diskussion zur Auflösung in CPU Reviews. Wenn ich wissen möchte, was eine CPU in Spielen leisten kann, dann kann ich mir 4K-Tests im GPU-Limit sparen.
Dafür gibt es die Grafikkarten Tests.

Ich möchte z.B. wissen wie sich Ram oder CPU Geschwindigkeit auf das Spielerlebnis auswirken.
Dann teste ich mit ausreichend Ram und nach der Vorbereitung, die schon alles in den Ram geladen hat.
So spielt das Laufwerk keine Rolle mehr und die Ergebnisse spiegeln das wieder, was ich auch in normalen Spielen erleben würde.

Natürlich gucke ich mir in der Benchmark Sequenz vor allem Leistungskritische-Stellen an, denn was interessiert es mich, ob ich überm Meer 100FPS+ habe.
Ich will wissen wie träge das Spiel ist, wenn ich baue oder die Kontinentalinsel optimiere...Schönbau-Ecken angucke usw.

Ohne die Vorbereitung sind die Ergebnisse sehr schwankend...sogar bei dieser langen Benchmarksequenz...und vieles muss vom Laufwerk geladen werden, was das Laufwerk in den Mix wirft, obwohl ich CPU oder Ramgeschwindigkeit testen möchte.


Auch wenn ich testen möchte, wie viel Ram hilfreich ist, ergibt die Vorbereitung Sinn.
Dann kann ich CPU und Ramgeschwindigkeit gleich lassen und nur die Kapazität ändern.
Und um so mehr ausgelagert werden muss, um so stärker drosselt das Systemlaufwerk die Leistung.
Und auch da will ich ja nicht wissen, wie es in den ersten paar Minuten aussieht, sondern wie es bei einer typischen Anno Spieldauer aussieht....und für mich sind das einge Stunden am Stück.
Für 10 Minuten mache ich das Spiel nicht an.

Ich habe für Benchmarks ein entschlacktes Windows 10 auf einer MLC SATA SSD.
Das Spiel ist auch auf einer MLC SATA SSD.
Da ist die Leistung des Laufwerks möglichst konstant.

Wer das ganze einfach mal auf seinem System ausprobieren möchte, ist dazu herzlich eingeladen. :)
Ich bin natürlich auch daran interessiert, wie es sich mit verschiedenen Hardware Kombinationen verhält, aber wirklich vergleichbar sind nur die eigenen Messungen, wo man die gleichen Rahmenbedingungen kontrollieren kann.
 
  • Gefällt mir
Reaktionen: DrCox1911
Hier ist nochmal ein Video mit dem aktualisierten Skriptablauf:

Diese Anpassungen sollten es verhindern, dass trotz trägem PC das Pausenmenü aufgerufen wird.
Dieses geht erst ganz am Ende auf und markeirt das Durchlaufen des Skriptes.

Inhaltlich unterscheidet sich der Ablauf nicht. Es sind nur an kritischen Stellen noch hier und da eine Sekunde mehr Wartezeit eingefügt und es werden jetzt keine Fenster mehr mit "Esc" geschlossen sondern immer nur geklickt.

Hier der Odner mit Savegame, Skripten und aktualisierter Anleitung.
https://drive.google.com/drive/folders/1ET3Q-L411c5UCJARCSrFk2Z6cdIM01W-?usp=sharing
Es werden die meisten DLCs bis Ende 2021 benutzt und müssen vorhanden sein.

Ich weise nochmal darauf hin, dass die Einstellungen im "Spielablauf- Menü" an den Account gebunden sind und daher manuell gesetzt werden müssen. :hammer_alt:

Einiges wie das Ausblenden der Strommasten oder das Anzeigen der Grasornamente sind Einflussfaktoren auf die Leistung, auch wenn sie nicht im Grafikmenü stehen.

Optionen wie das Scrollen am Bildschirmrand, Kameraempfindlichkeit, Freie Kamera, Einführung und Kamera Abstand erhöhen, sind wichtig für den Ablauf des Skriptes und müssen entsprechend der beigefügten Screenshots eingestellt werden!

Das Ausblenden von NPC Benachrichtigungen ist wichtig für die Reproduzierbarkeit der Leistung und zusätzlich könnte ich mir gelegentliche Konflikte mit dem Skript vorstellen. Also bitte auch diese Optionen beachten.

Auch funktioniert das ganze nur in 1920x1080 im Vollbild!

CapFrameX muss eingestellt werden und in Windows müssen Ruhezustand und das Energiesparen des Monitors deaktiviert werden.

Ich weiß, dass das viele Anforderungen sind, aber sie sind nunmal nötig.:pcangry:
 
Zuletzt bearbeitet:
Zurück
Oben