Autor Thema: Abhängigkeit der Grafikperformance von CPU  (Gelesen 4057 mal)

majix

  • Gast
Abhängigkeit der Grafikperformance von CPU
« am: 25. November 2004, 13:47:19 »
Ich habe da mal eine Frage, rein Interessehalber.

Bei PCs stößt mir immer wieder sehr negativ auf, dass die Performance einer reinen Grafikanwendung sehr stark auch von der CPU Leistung abhängig ist. Dabei würde ich doch mal sagen, dass die Grafikkarte ja heutzutage alles machen sollte, und die CPU sollte dabei nur Däumchen drehen - ist aber anscheinend nicht der Fall, ich habe das auch schon bei eigenen Programmen beobachtet, dass aber einer gewissen Polygonanzahl die CPU-Belastung auf 100% geht, obwohl alle Daten im Speicher der GraKa sind und die CPU eigentlich immer nur warten sollte, bis die GraKa ihr sagt "so, jetzt bin ich fertig, was gibts denn neues zu tun?". Dem scheint aber irgendwie nicht so zu sein, und da scheint mir irgendein grundsätzlicher Designfehler dahinter zu stecken.

Nun zu meiner Frage, wie sieht das eigentlich bei SGIs aus? Ist da die Grafikleistung auch stark von der verwendeten CPU abhängig? Bei der O2 dürfte das der Fall sein, aber wie sieht es bei einer Octane oder Onyx(2) aus? Werden da reine Grafikanwendungen (Powerflip) auch mit wachsender CPU-Leistung schneller, obwohl ja eigentlich alles von der Grafikhardware gerechnet werden sollte?

Ich habe leider keine verschiedenen CPU-Module für meine Octane und Onyx, sonst würde ich das ja mal testen. Aber evtl sind hier ja Leute, die eine Möglichkeit zu einem solchen Test haben?

Viele Grüße,
Kaya

mood-indigo.org - Das unabhängige Silicon Graphics User Forum

Abhängigkeit der Grafikperformance von CPU
« am: 25. November 2004, 13:47:19 »

Brombaer

  • Gast
Keine Antwort auf die Frage
« Antwort #1 am: 25. November 2004, 14:13:05 »
aber herzlichen Glückwunsch Herr Doktor

http://ismi.math.uni-frankfurt.de/neininger/kaya.html

Viele Grüsse

Matthias
« Letzte Änderung: 25. November 2004, 14:13:16 von Brombaer »

Impact

  • Gast
Re: Abhängigkeit der Grafikperformance von CPU
« Antwort #2 am: 25. November 2004, 14:14:32 »
Also ich habe damals mal einen sehr ungleichen Test vollzogen, aber evtl. hilft er dir dennoch ein wenig.....

Ich wollte mal schaun wie sich Quake III Build 1.17 (alpha) auf einer....

Octane2 mit 768MB, Single R12k 300 und V8 bei 1600x1200@85Hz
....
und einer Onyx2 Deskside mit 768MB RAM, einem Nodeboard Dual R10k 195 (4MB Cache pro CPU) und IRE aka Infinitie Reality Reality aka Reality (hat hingegen der V8 nur 16MB Texture RAM auf dem Raster Manager) bei 1600x1200@85Hz

Quake3 lief auf beiden Systemen bei 1600x1200 mit max. möglichen Einstellungen.

Dabei empfand ich Quake 3 auf der Onyx2 trotz viel langsamer GFX Pipe bis zu 3x schneller und vor allem konstant schneller als mit der klar überlegenen V8 auf der Octane2 mit R12k.

Ok man kann jetzt sagen, hoho aber mal langsam... du hast da in der Onyx2 ein Dual Gestripp mit zwar langsamer CPU aber mehr Cache, höhere Systembandbreite, und Quake 3 profitiert auch von mehreren CPUs.

Ja mag alles sein, aber das macht ja diesen Sachverhalt bzgl. dieser Fragestellung so interessant.

Die V8 ist der Reality Technisch gesehen klar überlegen. Nur frage ich mich da bis heute.....

a) wie kommt es, das die Reality die V8 mit fast (merklich) 3 facher Performance überrollt?
b) Quake 3 ist auch Texture lastig. Dabei wäre das ein Unterschied von 16MB zu ca. 80MB.
c) warum bad die Reality eine Konstante Performance wobei die V8 mit massiven Frame Drops daher kam?

Fragen über Fragen :)

Viele Grüsse,
Markus


Glückwünsche von mir Hr. Dr. Kaya :)
« Letzte Änderung: 25. November 2004, 14:19:47 von Impact »

Offline sgt_barnes

  • Mood Master
  • ****
  • Beiträge: 250
  • Der frühe Vogel fängt den Wurm, aber die zweite Maus kriegt den Käse!
    • Profil anzeigen
Re: Abhängigkeit der Grafikperformance von CPU
« Antwort #3 am: 25. November 2004, 14:44:23 »
Hallo Kaya!

Naja, dass die CPU beim OpenGL-Rendering nicht beteiligt wird ist so nicht richtig. Es stimmt zwar, dass die GPU immer mehr Aufgaben selbst übernehmen kann, aber die CPU ist zum Beispiel dafür verantwortlich, dass die GPU immer die notwendigen Daten reingeschoben bekommt. Selbst bei einer display list kann es ja vorkommen, dass nicht alles in den Speicher der Grafikkarte passt, was da rein sollte (z.B. bei großen Texturen).

Dann gibt es ja auch noch die Möglichkeit, dass vor dem Malen ein Haufen Zeug zu berechnen ist, bei dem Dich die Grafikkarte nicht unterstützen kann. Z.B. habe ich hier auf Arbeit das Problem, dass die Grafikkarte fast nur Däumchen dreht, während die CPU am Abjappeln ist, und das nur weil ein Teil der Transformation sich nicht in eine Matrix packen (und damit mit OpenGL erledigen) lässt. Oder wie bei DOOM 3, dass für den Schattenalgorythmus einen Haufen Speicherzugriffe und CPU-Zyklen braucht, weil die Hardware oft nicht komplex genug für den komplizierten Stencil-Test ist. Oder Du hast einen komplexen scene graph, den die CPU erst absuchen muss, bevor sie weiß, was davon auch gerendert werden soll (Stichwort terrain rendering und ROAM).

Was SGIs angeht, kann ich nur sagen, dass die auch von einer schnelleren CPU profitieren, allerdings bei weitem nicht so stark wie PCs. Der Unterschied bei Powerflip war durchaus spürbar, als ich meine Octane von 1xR10k/175 auf 2xR10k/195 aufgerüstet habe, aber wirklich dramatisch war es nicht. Genaue Zahlen weiss ich nicht mehr, aber es dürften so um die 10% Geschwindigkeitszuwachs gewesen sein, was man gerad noch so sehen kann, wenn einem der direkte Vergleich fehlt.

Andererseits, wenn ich es recht überlege, ist das ziemlich genau der lineare Takt-Unterschied von 175 auf 195MHz, wobei die 195er ja dual ist und deshalb das Betriebssystem nie im Weg stehen kann.

Das ein O2 von einer schnelleren CPU voll profitiert ist ja auch klar, weil die ja nur die Hardware für die Rasterization hat und Transformation&Lighting auf der CPU erledigt (wie etwa ein nVidia TNT).

MfG,
Tilmann

Offline sgt_barnes

  • Mood Master
  • ****
  • Beiträge: 250
  • Der frühe Vogel fängt den Wurm, aber die zweite Maus kriegt den Käse!
    • Profil anzeigen
Re: Abhängigkeit der Grafikperformance von CPU
« Antwort #4 am: 25. November 2004, 14:55:33 »
Zitat

a) wie kommt es, das die Reality die V8 mit fast (merklich) 3 facher Performance überrollt?
b) Quake 3 ist auch Texture lastig. Dabei wäre das ein Unterschied von 16MB zu ca. 80MB.
c) warum bad die Reality eine Konstante Performance wobei die V8 mit massiven Frame Drops daher kam?


Wenn ich es recht in Erinnerung habe, rendert Quake 3 seine Szenen in 12(!) Passes wenn es dumm läuft und man - wie auf SGIs - kein Single-Pass-Multitexturing hat. D.h., es kann sein, dass jedes Pixel im Frambuffer 12 mal angefasst wird, bevor man ihn zu sehen bekommt. Bei der hohen Auflöung, die Du gefahren hast, ist es also wahrscheinlich, dass der Flaschenhals die Rasterization (genauer: die Pixelfüllrate) ist und nicht die Geometry oder die CPU. Da scheint die alte Dame Reality den jungen VPro-Hupfern also noch etwas voraus zu haben. ;-)

Ausserdem ist Quake 3 wohl eher schlecht, um unterschiedliche Grafikkarten zu vergleichen, weil die Engine meines Wissens auch Passes auslassen kann, wenn die Framerate zu klein zum Zocken ist.

MfG,
Tilmann

P.S.: Herrgottnochmal, mein Beitrag strotzt ja nur so von Anglizismen... Ist mir noch nie aufgefallen.  :o
Ich gelobe Besserung, sorry!

P.P.S.: Glückwunsch, Kaya!
« Letzte Änderung: 26. November 2004, 12:45:36 von sgt_barnes »

majix

  • Gast
Re: Abhängigkeit der Grafikperformance von CPU
« Antwort #5 am: 26. November 2004, 00:16:55 »
Hmmm... mir ist schon klar, dass die CPU die GPU auch beschäftigt halten muss, Spiele habe ich bei meinen Beobachtungen bewusst rausgelassen, ich meine jetzt wirklich reine Grafikanwendungen, die einfach nur die ganze Zeit Geometrie rendern. Da sollte ja eigentlich die CPU nicht dermaßen ausschlaggebend sein, ist sie aber in der PC Welt schon.

Interesant bei SGIs wäre mal ein Vergleich einer Octane mit 195MHz CPU und 400MHz CPU. Und das ganze am besten auch noch jeweils mit SI und VPRO Grafik, vielleicht gibt es da ja auch noch Unterschiede, wie die beiden Grafikoptionen von der CPU-Leistung abhängen - obwohl ja beide einen Geometrie-Prozessor besitzen und beide sich wohl die Geometrie dank XIO direkt aus dem Hauptspeicher ziehen können sollten.

Grüße,
Kaya

P.S: Auch hier nochmals danke für die Glückwünsche!