PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Shogun 2 CPU benchmark


boxleitnerb
2012-07-09, 18:34:53
Da mich die Rome 2 Ankündigung zugegebenermaßen ziemlich hibbelig gemacht hat, hab ich mich nochmal Shogun 2 zugewandt und wollte herausfinden, wie multicore-optimiert die Engine denn nun wirklich ist.

Ich habe dafür wegen der vielen Datenpunkte der Einfachheit halber den integrierten CPU-Benchmark gewählt (nur DX9). Wer deshalb Bedenken hat (Grafiktreiber multithreading geht soweit ich weiß nur unter DX11), kann diese gerne kundtun, dann überlegen wir uns was anderes.

2600K@ bis zu 4.0GHz
DDR3-1333 und DDR3-1600
GTX580 3GB (SLI aus)
Shogun auf Crucial M4 512GB

Immer zwei Messungen (sehr reproduzierbar) und dann Mittelwert:

http://www.abload.de/img/shoguncpuz7osh.png (http://www.abload.de/image.php?img=shoguncpuz7osh.png)

Bei HT oberhalb 4 Threads, CPU-Takt, RAM und SLI nichts Unerwartetes, aber das Verhalten 2C/2T, 2C/4T und 4C/4T wundert mich. Ist das die von dargo schon untersuchte Schwäche der NV-Grafiktreiber bei weniger als 4 Threads? Dann würde mich wundern, dass 2C/4T immer noch deutlich schlechter als 4C/4T ist. Zählen nur echte Kerne?

Wenn jemand mit einem 4C/8T-Prozessor und einer Radeon mitmachen würde, könnten wir der Sache auf die Spur kommen.

Edit:
Ups, war 1280x1024 noch vom alten Bildschirm. 1080p mit 4C/8T, SLI aus und DDR1333 bringt 31,2fps. Fast dasselbe, vermutlich weil die Leute alle in der Mitte kämpfen und am Rand nix los ist.

dargo
2012-07-09, 19:46:19
Für mich sieht das eher nach einer Triplecore-Anwendung aus. Würde das Spiel tatsächlich 4 Cores vernünftg auslasten hättest du bei NV eher Faktor 3 gegenüber einem Dualcore. Natürlich begründet im Grafiktreiber. Bei AMD eher knapp Faktor zwei. Wobei bei AMD der Dualcore dann wesentlich mehr fps liefern würde.

boxleitnerb
2012-07-09, 19:52:36
3C/6T teste ich noch. Was mich eben wundert ist, dass 2C/4T langsamer ist als 3C/3T und 4C/4T. Mit Hyperthreading scheint die Engine überhaupt nicht umgehen zu können.

Hast du Shogun 2? Du hast doch ne 7970 (wieder?) und einen 4C/8T?

dargo
2012-07-09, 20:09:24
Was mich eben wundert ist, dass 2C/4T langsamer ist als 3C/3T und 4C/4T.

Naja... 4C/4T ist immer schneller als 2C/4T, bei halbwegs aktuellen Games. :D Und, dass 3C/3T schneller als 2C/4T ist liegt einfach daran, dass dieses Spiel keine 4 Worker-Threads anwendet bzw. keine 4 Cores oder Threads beschäftigen kann. Dieses Phänomen vom Nvidia-Treiber mit überproportionalem Scaling mit 2C/4T und 4C/4T sieht man nur bei Anwendungen die 4 Cores/Threads sehr gut beschäftigen können.


Mit Hyperthreading scheint die Engine überhaupt nicht umgehen zu können.

Welches Spiel kann das überhaupt? :biggrin:


Hast du Shogun 2? Du hast doch ne 7970 (wieder?) und einen 4C/8T?

Nein, ja und nein. Ich werde mir auch keinen i7 beschaffen weil die Dinger in Games nichts taugen, sie werden noch langsamer @4C/8T. :freak:

PS: auch 3C/3T ist in der Regel immer schneller als 2C/4T. Außer bei Nvidia. :biggrin:

boxleitnerb
2012-07-09, 20:19:35
Naja... 4C/4T ist immer schneller als 2C/4T, bei halbwegs aktuellen Games. :D Und, dass 3C/3T schneller als 2C/4T ist liegt einfach daran, dass dieses Spiel keine 4 Worker-Threads anwendet bzw. keine 4 Cores oder Threads beschäftigen kann. Dieses Phänomen vom Nvidia-Treiber mit überproportionalem Scaling mit 2C/4T und 4C/4T sieht man nur bei Anwendungen die 4 Cores/Threads sehr gut beschäftigen können.


Das verstehe ich nicht. Was meinst du mit Worker-Threads? Es kann ja offenbar 3 Kerne beschäftigen, warum nutzt dann HT bei 2C/4T nix?

dargo
2012-07-09, 20:27:58
Weil der Compiler beim NV-Treiber bei 4 Threads anders arbeitet. Zu Lasten natürlich dann einer 2-3 Core/Thread CPU. Die genauen Details kann dir nur ein NV-Mitarbeiter verraten.

PS: in deinem Spiel hat der vierte virtuelle Thread Core quasi nichts zu tun. Somit hast du effektiv 2C/3T. Und das kann nur langsamer sein als 3C/3T. Auch 2C/4T wird immer langsamer sein als 3C/3T, außer wieder bei Nvidia und entsprechenden Games. :D

boxleitnerb
2012-07-09, 20:52:44
Okay danke :)
Fertig: HT bringt nur bei 1C/2T was, ansonsten kannst es total knicken. 3 echte Kerne vs. 1 Kern 237%. Naja...

Hoffe trotzdem auf rege Beteiligung. Skalierung von CMT beim FX würde mich interessieren. Vielleicht failed das nicht so wie HT.

Edit:

Ups! Dank einem Tipp hab ich DX11 im CPU-Benchmark per Konfig-txt aktiviert und auch Hardwareschatten auf Ultra. Immer noch CPU-Limit, weil die Schatten von der CPU-berechnet werden.

Ohne Schatten, DX9: 32,3fps
Mit Ultra Schatten, DX11: 24,9fps

Haut ganz schön rein. Vielleicht mach ich ein paar der Benchmarks mit der Einstellung nochmal.

boxleitnerb
2012-08-18, 14:09:03
Ich hole den Thread nochmal hervor, weil ich gerade auf ein unerklärliches Phänomen gestoßen bin:

Wenn ich in Shogun 2 ein 1vs1 Gefecht starte und ins Kampfgetümmel reinzoome, hab ich ein CPU-Limit, die fps fallen entsprechend, es ruckelt (Animationen+Kamerabewegungen).

Wenn ich jetzt aber ein 4vs4 Gefecht starte, ruckeln die Animationen schon direkt nach Schlachtbeginn. Soweit so normal, gibt ja viele Einheiten zu berechnen.
Aber: Die angezeigten fps sind sind total flüssig! Die Kamera auch! Nur die Bewegungsanimationen ruckeln sich einen ab.

Der zweite Fall an sich ist nachvollziehbar, wenn die Animationen und das Rendering performancemäßig entkoppelt sind. Aber warum ist das bei kleinen Gefechten anders?