smokey hat geschrieben:Woher kommt die Meinung dass bei Programmen eine schnellere CPU/mehr Prozessorkerne auch dringend immer einen schnelleren Programmdurchlauf ermöglichen würden?
Es können nicht immer alle Logikteile eines Programms zeitgleich ablaufen (es hat auch keinen Sinn ein Dach aufs Haus setzen zu wollen, wenn das Fundament nicht steht), ebenso sind Transfers zwischen Prozessor und Speicher notwendig (welche die Dauer eher noch erhöhen würden, wenn man dies gleichmäßig auf mehrere Prozessoren verteilt, statt auf einen zu bauen wenn die Kapazitäten noch verfügbar sind), gerade wenn komplexere Sachverhalte ausgewertet und verglichen werden müssen.
?
Ich habe nicht von der Clausewitz-Engine auf die Gesamtheit der möglichen Software geschlossen.
Es gibt sehr wohl limitierende Faktoren in anderen Bereichen in anderer Software.
Bei der Clausewitz Engine jedoch ist der Prozessor der hauptsächlich limitierende Faktor.
Denn das gesamte Spiel wird in den RAM geladen (Logik und GFX) und von dort ausgeführt. Die einzige größere Verzögerung beim Ablauf nach dem Starten des Programmes, ist das Speichern der Spielstände auf einem Datenträger.
Dort hilft es, wenn man das Spiel in einer RAM-Disk installiert hat und auch dort die Saves abspeichert. Das beschleunigt auch den Programmstart ziemlich gut.
Eine flotte SSD ist hingegen kaum mehr groß langsamer als eine RAM-Disk.
Man kann das auch gut sehen, wenn man seine CPU/Speicher einmal modifiziert. Also CPU/Speicher-Takt erhöht oder andere(n) CPU/Speicher einbaut.
Die CPU Geschwindigkeit hat einen erheblich größeren Einfluss auf die Programmgeschwindigkeit als andere Komponenten wie Speicherbandbreite.
Und durch die Art und Weise wie die Clausewitz Engine noch funktioniert, ist es sogar ratsam in Mehrkern-CPUs die Last auf 2 Kerne zu limitieren, da dann diese in vielen Fällen dauerhafter höher getaktet werden.
CPU-Cache/Speicherbus sind nachrangig in dieser Betrachtung. Und mir ist aktuell auch kein Spiel bekannt, welches einen größere Ablaufgeschwindigkeit durch mehr Geschwindigkeit in diesen Bereichen haben sollte als durch höhere CPU/GPU-Geschwindigkeit an sich.
Gut kann man dass auch bei Grafikkarten sehen wo langsamer Speicher verbaut wird (DDR3 anstatt DDR5). Selbst da ist der Geschwindigkeitsverlust(gewinn) nicht so erheblich wie der GPU-Takt.
"Hubraum ist durch nichts zu ersetzen, als durch mehr Hubraum".
Eine AMD FX-8350 CPU kann theoretisch 37 GB/s verarbeiten.
DDR3-2133 RAM kann z. B. 17 GB/s liefern. Mit Dual Channel Technologie macht dass dann 34 GB/s.
(DDR4-3200 liegt dann bei ca. 25 GB/s im single Channel Modus..)
Also ist bereits beim alten FX AM3+ Boards der Speicher theoretisch(!) limitierend, aber praktische Ergebnisse zeigen, dass es immer noch die CPU ist.
Interessanterweise ist ein FX9590 ebenfalls mit theoretisch 37 GB/s unterwegs, aber auch mit wesentlich erhöhten CPU-Takt (5GHz zu 4GHz). Cache ist bei beiden gleich.
Die Testergebnisse sprechen für sich. Die schnellere CPU kann Programme schneller ausführen.
Bei Intel und Quad Channel DDR4 sollte dann ja eine Verdoppelung der Speicherbandbreite und eine stark erhöhte Geschwindigkeit im Vergleich zu Dual Channel existieren.
Aber Tests ergaben, das zwar die Speicherbandbreite zwar fast verdoppelt wurde( z. B. 16GB quadchannel vs. 16GB dual channel), aber die tatsächliche Geschwindigkeitsgewinn beim Programmablauf im ~5% Bereich maximal lagen!
Eine Annahme war, dass der große L3 Cache dafür verantwortlich war. Auch hier bringt ein höherer CPU-Takt mehr als schnellerer Speicher.
Das ist dann auch ähnlich wie bei den Grafikarten mit DDR3 oder DDR5 Speicherbausteinen.
smokey hat geschrieben:In der heutigen Zeit sind die Prozessoren eben sehr oft nicht die Flaschenhälse
Wir reden ja hier von Spielen und nicht von Anwendungen die auf Datenbankabfragen o.ä. warten müssen.

Schnellere CPU = Schnellere Abarbeitung der Programmfunktionen, da mehr je Sekunde möglich sind.
Mehr Kerne != automatisch schnellere Abarbeitung der Programmfunktionen, wenn das Programm nicht dafür ausgelegt ist.
Ansonsten gibt es ja genügend Informationen wie gut welche Aufgaben skalieren können(!), wenn sie parallelisiert werden.
Das eine CPU bei heutigen Spielen auf Daten warten muss, weil die Speicherbandbreite "RAM-CPU" nicht ausreicht, ist mir neu, gibt es irgendwelche Daten zu?
Bei GPU's ist das eher der Fall, da hier die Datenmengen um einiges größer sind und auch noch vom langsameren Speichermedien in den RAM nachgeladen werden müssen.
[quote="smokey"]Woher kommt die Meinung dass bei Programmen eine schnellere CPU/mehr Prozessorkerne auch dringend immer einen schnelleren Programmdurchlauf ermöglichen würden?
Es können nicht immer alle Logikteile eines Programms zeitgleich ablaufen (es hat auch keinen Sinn ein Dach aufs Haus setzen zu wollen, wenn das Fundament nicht steht), ebenso sind Transfers zwischen Prozessor und Speicher notwendig (welche die Dauer eher noch erhöhen würden, wenn man dies gleichmäßig auf mehrere Prozessoren verteilt, statt auf einen zu bauen wenn die Kapazitäten noch verfügbar sind), gerade wenn komplexere Sachverhalte ausgewertet und verglichen werden müssen.
[/quote]
?
Ich habe nicht von der Clausewitz-Engine auf die Gesamtheit der möglichen Software geschlossen.
Es gibt sehr wohl limitierende Faktoren in anderen Bereichen in anderer Software.
Bei der Clausewitz Engine jedoch ist der Prozessor der hauptsächlich limitierende Faktor.
Denn das gesamte Spiel wird in den RAM geladen (Logik und GFX) und von dort ausgeführt. Die einzige größere Verzögerung beim Ablauf nach dem Starten des Programmes, ist das Speichern der Spielstände auf einem Datenträger.
Dort hilft es, wenn man das Spiel in einer RAM-Disk installiert hat und auch dort die Saves abspeichert. Das beschleunigt auch den Programmstart ziemlich gut.
Eine flotte SSD ist hingegen kaum mehr groß langsamer als eine RAM-Disk.
Man kann das auch gut sehen, wenn man seine CPU/Speicher einmal modifiziert. Also CPU/Speicher-Takt erhöht oder andere(n) CPU/Speicher einbaut.
Die CPU Geschwindigkeit hat einen erheblich größeren Einfluss auf die Programmgeschwindigkeit als andere Komponenten wie Speicherbandbreite.
Und durch die Art und Weise wie die Clausewitz Engine noch funktioniert, ist es sogar ratsam in Mehrkern-CPUs die Last auf 2 Kerne zu limitieren, da dann diese in vielen Fällen dauerhafter höher getaktet werden.
CPU-Cache/Speicherbus sind nachrangig in dieser Betrachtung. Und mir ist aktuell auch kein Spiel bekannt, welches einen größere Ablaufgeschwindigkeit durch mehr Geschwindigkeit in diesen Bereichen haben sollte als durch höhere CPU/GPU-Geschwindigkeit an sich.
Gut kann man dass auch bei Grafikkarten sehen wo langsamer Speicher verbaut wird (DDR3 anstatt DDR5). Selbst da ist der Geschwindigkeitsverlust(gewinn) nicht so erheblich wie der GPU-Takt.
"Hubraum ist durch nichts zu ersetzen, als durch mehr Hubraum".
Eine AMD FX-8350 CPU kann theoretisch 37 GB/s verarbeiten.
DDR3-2133 RAM kann z. B. 17 GB/s liefern. Mit Dual Channel Technologie macht dass dann 34 GB/s.
(DDR4-3200 liegt dann bei ca. 25 GB/s im single Channel Modus..)
Also ist bereits beim alten FX AM3+ Boards der Speicher theoretisch(!) limitierend, aber praktische Ergebnisse zeigen, dass es immer noch die CPU ist.
Interessanterweise ist ein FX9590 ebenfalls mit theoretisch 37 GB/s unterwegs, aber auch mit wesentlich erhöhten CPU-Takt (5GHz zu 4GHz). Cache ist bei beiden gleich.
Die Testergebnisse sprechen für sich. Die schnellere CPU kann Programme schneller ausführen.
Bei Intel und Quad Channel DDR4 sollte dann ja eine Verdoppelung der Speicherbandbreite und eine stark erhöhte Geschwindigkeit im Vergleich zu Dual Channel existieren.
Aber Tests ergaben, das zwar die Speicherbandbreite zwar fast verdoppelt wurde( z. B. 16GB quadchannel vs. 16GB dual channel), aber die tatsächliche Geschwindigkeitsgewinn beim Programmablauf im ~5% Bereich maximal lagen!
Eine Annahme war, dass der große L3 Cache dafür verantwortlich war. Auch hier bringt ein höherer CPU-Takt mehr als schnellerer Speicher.
Das ist dann auch ähnlich wie bei den Grafikarten mit DDR3 oder DDR5 Speicherbausteinen.
[quote="smokey"]In der heutigen Zeit sind die Prozessoren eben sehr oft nicht die Flaschenhälse[/quote]
Wir reden ja hier von Spielen und nicht von Anwendungen die auf Datenbankabfragen o.ä. warten müssen. :D
Schnellere CPU = Schnellere Abarbeitung der Programmfunktionen, da mehr je Sekunde möglich sind.
Mehr Kerne != automatisch schnellere Abarbeitung der Programmfunktionen, wenn das Programm nicht dafür ausgelegt ist.
Ansonsten gibt es ja genügend Informationen wie gut welche Aufgaben skalieren können(!), wenn sie parallelisiert werden.
Das eine CPU bei heutigen Spielen auf Daten warten muss, weil die Speicherbandbreite "RAM-CPU" nicht ausreicht, ist mir neu, gibt es irgendwelche Daten zu?
Bei GPU's ist das eher der Fall, da hier die Datenmengen um einiges größer sind und auch noch vom langsameren Speichermedien in den RAM nachgeladen werden müssen.