fdsonne, mit was liest du denn die cpu Last aus? Ich hab das bis anhin auch immer mit dem Taskmanager gemacht, dachte eigentlich der spuckt genaue Werte aus?
Es gibt so kein sonderlich brauchbares Tool, das Problem liegt am Betriebssystem...
Das OS schubst die Threads zwischen den Cores hin und her. Hast du einen Quad (ohne SMT, also vier Einheiten) und der Taskmanager zeigt 25% an, so sagt das aus, das 25% der Intervalzeit, die der Taskmanager misst, die ganze CPU was zu tun hatte. Soweit ja kein Problem.
Das Problem ist, es ist nicht klar ob ein Thread einen Core diese Zeit zu 100% belastet und das OS nur den Thread auf allen vier Cores jeweils ein Stück berechnen lässt, da die anderen drei Cores nix zu tun haben, in der Zeit, wo der Thread nicht auf ihnen läuft, kommt eine Gesamtbelastung von 25% raus.
Es kann aber auch sein, das beispielsweise zwei Threads jeweils 50% Zeit bekommen und das OS jeweils über die Cores schubst. Oder auch das mehr wie zwei Threads diese Last kurzeitig erzeugen.
Fakt ist, es lässt sich nicht belegen, was genau ist. Bei ner Last von groben 25%-30% über eine längere Zeit in Games kann man aber beispielsweise davon ausgehen, das das Game nicht sonderlich viel in Sachen Multithreading versteht. Das heist, die Threads, die die CPU Zeit belegen, nicht so recht gleichzeitig ausführbar sind, das dabei mehr Leistung rauskommen würde. Und man kann darauf schließen, das eben die Geschwindigkeit des einzelnen CPU Kerns selbst den Speed limitiert. Ergo klassisches CPU Limit... (trotz nur 25% Auslastung laut Taskmanager)
EDIT: und um es weiter zu spinnen.
In Games gibt es zwei paar Schuhe von CPU Limits.
Es gibt das herkömmliche Limit durch das Spiel und dessen Berechnungen selbst, beispielsweise durch überladene Physik- oder KI Berechnungen limitieren diese Rechnungen durch die CPU und somit die FPS in Summe.
Der andere Part ist der Thread, der jeweils für die Aufbereitung der Daten für die GPU(s) zuständig ist. Dieser hängt 1:1 mit am Game dran, entscheidet aber zu einem Großteil wie viele FPS das Game ausspucken kann. Aktuell riesiger Nachteil, es scheint das trotz aller Meldungen der GPU Hersteller, die Treiber unterstützen Multithreading, dies in genau einem einzigen Thread passiert. Und somit die CPU pro Thread Leistung das Limit darstellt.
Wenn alle Berechnungen des Games selbst (also von Schuhpaar eins) mit der CPU selbst sauber ausführbar sind, kann immernoch das andere paar Limitieren und somit die FPS deckeln.
Beispielhaft gut zu erkennen an 3DMark06... Der Bench erzeugt so hohe Last im GPU Thread (vereinfacht genannt), das aktuelle HighEnd CPUs nicht hinterher kommen schnelle aktuelle Grafikkarten auszulasten. Was in mangelnder GPU Last endet und somit in niedrigen FPS.