HisN
Fleet Admiral
- Registriert
- Nov. 2005
- Beiträge
- 82.813
Für die Leute die keinen Bock haben den ganzen Sermon zu lesen:
Irgendwas wird immer Bremsen, ohne Ausnahme, egal was ihr macht. Kommt vom Ausbremsen-Trip runter.
Die Frage die Du Dir stellen solltest ist: Erreicht meine CPU genug FPS in meiner Software für mich.
Denn Du bist Deines Glückes eigener Schmied.
In dem Kontext ist die Graka nämlich völlig egal.
a) Erreicht die CPU genug FPS für Dich, ist die Graka völlig egal, denn es sind ja genug FPS. Oder nicht?
b) Eine Graka bekommt man immer klein. Du setzt Dich nicht hin und heulst, weil die Graka nur zu 50% auslastet ist (bei genug FPS), Du sagst "wie geil", denn weil genug FPS vorhanden sind, stellst Du die Settings höher. Mehr DSR, mehr Antialiasing, mehr Ambient-Occlusion, mehr Post-Prozessing.
Ihr versucht da irgend eine Kausalität zwischen Graka und CPU herzustellen. Das ist meiner Meinung nach der falsche Weg.
Die richtige Frage ist: Erreicht meine CPU in meiner Software/Settings genug FPS. Das ist alles was interessiert.
Schafft sie das nämlich nicht, musst Du sowieso ne neue CPU anschaffen. AUCH DA interessiert die Graka nicht.
Der Gedanke hinter dieser Frage ist klar.
Aber die Antwort ist nicht so einfach wie die Frage.
Generell gilt: Irgendwas limitiert immer, aber
es ist eher von Deiner Software und Deinen Settings abhängig was Limitiert. Und generelles CPU- oder GPU-Limit ist eher die Ausnahme, es wird wahrscheinlich meistens ein Mix aus beidem auftreten.
1) Begriffs-Erklärung CPU-Limit:
Von CPU-Limit spricht man wenn die Graka ihre Arbeit in so kurzer Zeit erledigt, dass sie auf die CPU warten muss, bis diese die Daten für das nächste zu rendernde Bild vorbereitet hat. Scheinbar plagt viele User der Gedanke dass die Graka nicht zu 100% ausgelastet werden könnte.
2) Begriffs-Erklärung Graka-Limit
Die Graka ist dermaßen damit beschäftigt ein Bild zu rendern, so daß die CPU nicht damit fortfahren kann im Programm weiter zu arbeiten, weil sie an der Stelle angekommen ist wo sie ihre Daten an die Graka schicken würde, wenn diese Bereit wäre sie auch entgegenzunehmen. Komischerweise plagt scheinbar kein einziger User dieser Fall. Womöglich weil wir inzwischen bei den x-Kern-CPUs gewöhnt sind im Task-Manager nie 100% Last zu sehen ausser wenn wir Primeln.
2) Der Limit-Gedanke
Auf der Jagd nach dem letzten FPS den man aus der Graka quetschen möchte scheinen viele Leute der Meinung zu sein dass man eine 5Ghz Hexacore-CPU braucht um aktuelle Grakas ausreichend mit Daten zu versorgen. Nun würde ich gerne darauf eingehen wann dieser Fall tatsächlich eintreten könnte.
Das geht nämlich so:
Du zockst nur CS 1.6 in 640x480 auf einem 17"-CRT und bist ESL-Top10-Profi. Die Grafik-Engine ist etwa 10 Jahre alt, und jede aktuelle Graka ist in der Lage in dieser winzigen Auflösung (0.3 Megapixel) etliche 1000 Frames zu rendern solange man nicht Bildverbesserungen wie SS-AA dazuschaltet. Und daher kommt wahrscheinlich auch dieser Limit-Gedanke. Denn solange die Grafik-Engine so anspruchslos ist dass eine Graka es immer noch locker schafft mehr FPS zu rechnen als die CPU an Daten vorbereiten kann, solange kann man mit CPU-Power punkten. Aber ganz ehrlich? Wer von euch zockt so alte Kamellen in so unterirdischen Auflösungen und hat nicht irgendwo ein MaxFPS=101 eingetragen?
Und jetzt schauen wir uns die Gegenseite an:
Du bist Crysis-Abhängig, hast Dir extra dafür ein Eyefinety-System aus 3 Full-HD-Monitoren zusammengebaut und zockst natürlich mit dem Natural-Textures-Mod und 4x4SSAA. (Für alle die nicht wissen was Supersampling-Antialiasing ist, stark vereinfacht wird das Bild in der 4-Fachen Größe der Ausgabe gerechnet, und dann für den Monitor verkleinert. Dabei wird das ganze Bild ineinander verrechnet. Flimmernde Kanten und Texturen werden dadurch fast völlig ausgelöscht).
Du zockst also jetzt in 1920x1080x3 = 6 Megapixeln. (Ohne das SSAA, damit würde das Bild noch 4x größer). Jeder von euch wird mir zustimmen das aktuelle Grakas in diesem Szenario nur noch 2 oder 3 FPS hinbekommen.
Wen interessiert also dabei die CPU? Jeder alte ranzige Pentium4 oder AMD64 mit 1.8 Ghz schafft es bei Crysis 3 FPS für die Graka vorzubereiten. JEDER (hoffe ich lehne mich da nicht aus dem Fenster).
Das sind natürlich jetzt Extrembeispiele, aber ich möchte ja auf ein Ziel hinaus.
Und zwar die Realität:
a) Eine Graka ist nicht grundsätzlich langsamer weil eine langsamere/ältere CPU auf dem Board sitzt. Die CPU muss Vorarbeit für die Graka erledigen. Sie berechnet das ganze Spiel (inklusive AI), gibt den Sound aus, wertet die Eingaben aus, und wenn sie dann zum Grafik-Teil der Game-Engine kommt und alle Daten für ein Bild berechnet hat füttet sie die Graka damit (oder wartet darauf dass die Graka mit ihrer Arbeit fertig ist^^).
b) Nicht jeder von euch spielt ausschließlich Crysis oder CS 1.6. Die Arbeit die die Graka also leisten muss liegt irgendwo dazwischen.
c) Jeder von euch wird sich seine Software so einstellen, daß er so viel spielbare FPS wie möglich bei so viel Bildquallität wie möglich hinbekommt, er findet also für sich selbst einen Kompromiss aus Bildqualität und Framrate
d) Jeder von euch hat eine andere Monitor-Konfiguration
d) Jedes Programm ist anders von der CPU-Anforderung
e) Es wird wahrscheinlich ein Wechsel von CPU zu GPU-Limit innerhalb eines Games auftreten. Absolute CPU-Limits und Absolute GPU-Limits sind eher die Ausnahme.
Jetzt das Resüme draus.
WOHER sollen wir (das Forum) wissen, ab wann Deine CPU Deine Graka limitiert, deren Namen Du mal einfach so ins Forum geworfen hast?
Es ist von Deiner Software abhängig, von der CPU-Last die sie verursacht und deren Einstellmöglichkeiten (die wir nicht kennen)
Es ist von Deiner Monitor-Auflösung abhängig (die wir nicht kennen)
Es ist von Deinen Vorlieben für Bildqualität abhängig (die wir nicht kennen)
Wir müssten also genau diese Grundlagen von Dir genannt bekommen und das dann auf exakt dem gleichen System nachprüfen um eine "richtige" Antwort zu geben.
Das ist ... an sich unmöglich.
Lösungsansatz:
Nehmen wir einmal an CPU XYZ kann in einem Spiel ABC bei maximalen Detail-Settings 300 FPS rechnen.
Dann kann der User ein CPU-Limit forcieren indem er in 640x480 zockt und 1xAA und 1xAF (Abgeschaltetes Anti-Aliasing), also keine Bildqualitäts-Features (die übrigens reine Graka-Features sind, und NULL Prozessorlast verursachen) aktiviert und somit die Graka völlig unterfordert die in diesem Beispiel vielleicht 1000 FPS rendern könnte.
Er kann aber auch die Graka zusammenbrechen lassen indem er in 1920x1080 zockt (oder mit größerem Monitor oder Downsampling) und so viel AA (event. Supersampling) und AF (kostet kaum Leistung) benutzt. Da kann die Graka nur noch 60 FPS rendern.
Und jetzt?
Du siehst jetzt vielleicht wie unmöglich Deine Frage durch das Forum zu beantworten ist?
Die einzige Antwort die es darauf geben kann ist: In der Regel betreibst Du Dein Game (vielleicht auch unbewusst) Graka-Limitiert. Es ist an sich egal wie schnell Deine CPU ist. Es würde sich allerdings anbieten kurz zu testen ob Du schon im CPU-Limit hängst.
Schnelltest:
MSI-Afterburner installieren. GPU-Auslastung aufs OSD schalten. Nicht den Taskmanager benutzen.
Ackert die Graka 95% oder mehr: Graka-Limit, ackert sie nicht mindestens 95%: CPU-Limit (oder vsync an). Einfach oder? Kann jeder innerhalb von 30 Sekunden die Frage selbst beantworten.
Warum Du dabei nicht auf die CPU-Anzeige schauen sollst. Ist auch ganz einfach: Du siehst nur das Multitasking von Windows. Die Zeiten in denen eine CPU erst limitiert wenn sie zu 100% ausgelastet ist, ist mit der Einführung von Dualcores gestorben.
Starte Prime95, stelle einen Worker ein. Lass es rennen und schau auf den Taskmanager.
Du erwartest:
Ups ... die CPU zeigt gar nicht 100% an. Es ist aber ein CPU-Limit, weil ein Kern mit dem einem Thread vollständig beschäftigt ist. Das was Dich irritiert ist die Tatsache, dass Windows diesen einen Thread über die vorhandenen Kerne verteilt. Mal rechnet Kern 1, mal rechnet Kern 2, mal Kern XXX an Deinem Worker. Und genau deshalb. Weil Du nicht weiß wieviel Threads Deine Software startet, und was die Threads tun (sie müssen ja nicht immer einen Kern voll auslasten) ist es so ziemlich umsonst anhand vom Taskmanager feststellen zu wollen ob ein CPU-Limit vorliegt. Das sieht man tatsächlich nur in seltenen Fällen.
Wer mehr Ego-Shooter zockt wird eher im Graka-Limit hängen
Wer mehr Strategie-Titel zockt bei dem unendliche Mengen von Einheiten rumfliegen, der liegt eher in der Nähe vom CPU-Limit
Und Online-Multiplayer neigen auch zum CPU-Limit.
Wieviel FPS schafft denn nun meine CPU:
Ist auch relativ einfach herauszufinden. Erzeige einfach ein CPU-Limit, indem Du Deine Graka aus der Rechnung entfernst.
Also stell Deine Games so ein, wie Du sie später zocken möchtest (Ultra, ich kenn doch meine Pappenheimer), und dann nimm alle 100%-Graka-Features weg.
Auflösung auf so niedrig wie möglich, Antialiasing aus, Ambient-Occlusion aus, Post-Prozessing aus, Texturauflösung auf Minimum, RTX abschalten.
Schon sollte Deine Graka keine 99% Last mehr anzeigen, Deine CPU ist jetzt das "Limit" Du siehst also ganz genau wie viele FPS Deine CPU in Deiner Software stemmt.
Überlege ob Dir das ausreicht oder nicht. So einfach isses. Simple JA/NEIN-Frage die nur DU zu 100% richtig beantworten kannst.
Verhältnismäßigkeit:
Natürlich wird es komisch je älter Deine CPU ist und je fetter die funkelnagelneue Graka sein soll nach der Du fragst. Irgendwie sollte das ganze schon in einem gewissen Rahmen liegen. Wenn das Herstellungs-Datum der beiden Komponenten einige Jahre auseinander liegt könnte man meinen dass auch Deine CPU irgendwann mal aufgerüstet werden sollte. ABER .... eine Graka kann nie schnell genug sein. Man bekommt sie immer klein. Mehr DSR/VSR, mehr Anti-Aliasing, mehr Ambient-Occlusion, mehr Post-Prozessing, besser aufgelöste Texturen....
Und hier noch ein Beispiel was ich eigentlich meine.
Star Ruler in winziger Auflösung (nach der letzten Monitor-Umfrage benutzt die keiner mehr) mit meinem 4.2Ghz Xeon (Core i7) und einer 850Mhz GTX480. Wenn man sich das Bild mal ansieht wird man feststellen das die Grafik da überhaupt nix zu tun hat. Es wird nämlich nur ein schwarzes Fenster mit ein paar Punkten drauf dargestellt. Und trotzdem schafft meine Graka nur lächerliche 18 FPS.
Das bedeutet: Die Software die ich nutze ist CPU-Limitiert.
Das bedeutet nicht: Meine CPU limitiert meine Graka.
(Und das obwohl doch alle behaupten man braucht einen 4Ghz Quadcore damit eine aktuelle Graka nicht limitiert wird.) Vielleicht hilft dieses Beispiel den genannten Satz ein bisschen (wenigstens) zu hinterfragen. Denn wenn ich keine 20 Computer-Gegner einstelle, und nicht den Zeitraffer auf 10x setze, dann erscheinen da natürlich auch ganz andere FPS.
Ändert man die Hardware auf einen Intel Sixcore mit HT (12 Threads) und eine GTX590 passiert übrigens genau das gleiche.
Gegenbeispiel:
Die 11 FPS liegen bestimmt nicht an der CPU. Was man an der Last-Verteilung vielleicht erkennen kann.
Und das ganze noch mal an Beispielen mit populären 3D-Benchmarks.
Getestet hier mit meinem (auf lockeren 4Ghz) laufendem I7 980X und einer GTX590(SLI)
P-Settings beim 3D-Mark-Vantage steht für Pupen-Settings. Ausserdem hat jeder 3D-Mark einen EXTRA CPU-Teil über den man Punkte generieren kann.
Klar .. sieht gut aus, aber was hat das mit der Frage zu tun ob die Graka dort limitiert wenn sie gar nicht benutzt wird.
Legt doch mal Männer-Settings an und deaktiviert den CPU-Teil.
Und ihr werdet wirst es mir nicht glauben. Mein Prozessor taktet gar nicht auf 4Ghz hoch, sondern bleibt bei 2Ghz im Stormsparmodus, und die Grakas sind trotzdem bei 95-98% Auslastung. Wo ist da plötzlich das CPU-Limit hin?
Das ist das worauf ich hinauswill. Ihr lasst euch von den Benchmarks blenden, weil ihr sie nicht hinterfragt. Ihr sagt "klar limitiert die CPU", aber schaut nicht warum sie das macht (oder wollt es nicht sehen).
Selbst den seit 9800GTX absolut CPU-Limitierten 3D-Mark 06 bekomme ich mit Männer-Settings wieder soweit das meine 4Ghz-CPU im Stromspar-Modus bleibt während die Grakas 100% arbeiten.
Alles eine Frage der Einstellung.
Graka
CPU Limit (auch wenn es hier offensichtlicher ist, weil WOT nur einen Thread startet, die Graka-Auslastung anschauen)
VRAM Limit
Und ja, alle Bilder hier sind alt, aber warum sollte ich das jeden Monat aktualisieren? An der Mechanik ändert sich nix.
Man hat immer noch selbst in der Hand was wo limitiert
Und auch ein 9900K mit 5.2Ghz "schützt" einen nicht vor einem CPU-Limit. Es bringt also nix zu erzählen was Du für eine tolle CPU hast.
Zuletzt bearbeitet: