PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Nvidia vs AMD in unoptimierten Anwendungen


davidzo
2010-05-17, 17:28:14
Hallo,

An meiner Hochschule arbeiten wir häufig mit selbstentwickelter und daher wenig optimierte 3D Software. Konkretes beispiel ist der 3Dbrowser Vis/space, den wir als werkzeug für visualisierungen, installationen, raumklangexperimente oder sogar zur robotersteuerung benutzen. Die Software ist Plattformunabhängig.
hier gibts die software und den sourcecode (java): vis.hfbk.net (http://vis.hfbk.net)

Ich habe beobachtet, dass eine vergleichbare ATIKarte relativ betriebssystemunabhängig in vielen Fällen gerademal ein viertel der Leistung einer vergleichbaren nvidiakarte bringt.

Woran liegt das?
Der OpenGL code ist bei uns nicht wirklich nvidia optimiert, eher ist er eben überhaupt nicht optimiert.

Kann es sein, dass der Atitreiber mehr auf hohen Durchsatz bei begrenztem Funktionsaufruf ausgelegt ist, während der Nvidiatreiber viel besser mit vielen Befehlen umgehen kann?

In der Natur des wenig optimierten Codes werden nämlich viele Objekte einzeln erstellt und transformiert, anstatt ein objekt zu generieren und es zu transformieren und duplizieren.
Der Durchsatz der Atikarte ist hier sehr niedrig, der einer HD3650 zum Beispiel nur auf dem halben Niveau einer Geforce 8400GS.

Ist das architekturell bedingt oder eine Treibersache? Liegt das eventuell daran, dass der Atitreiber speziell auf spiele optimiert sind, die ja schoneine sehr optimierte und verkürzte befehlsreihenfolge liefern, dafür aber mehr Rechenleistungs/ und bandbreitenabhängig sind.
Liegt s vielleicht an der chachestruktur oder dem threadscheduler der karten, oder einfach nur an der niedrigen ropleistung der atikarte?

ich bin sicher, dass wir mit unseren einfachen geometrie- und texturlastigen anwendungen nie an die rechenleistung des chips stoßen und meistens eher das trianglesetup oder die rops limitieren.

was meint ihr?

Coda
2010-05-17, 17:52:45
Das ist bei OpenGL nicht weiter ungewöhnlich, vor allem wenn man keine VBOs verwendet. ATI optimiert auf diesen Fall einfach nicht sonderlich gut.

Solange keine Shader verwendet werden ist es wohl ausschließlich eine Treibersache.

Bucklew
2010-05-17, 17:55:07
Ist es mit den speziellen OpenGL-Karten anders?

davidzo
2010-05-18, 17:50:48
jo, das würd mich auch interessieren, dann wäre ne softmod fireGL oder ne echte profikarte ja erstrebenswert.

Sven77
2010-05-18, 18:12:45
Ich hab noch ne FireGL 7700 hier rumliegen, gefühlt stinkt die trotzdem noch gegen eine 8800GT ab, und das ist immerhin eine Consumerkarte.. hier stinken einfach die ATI-Treiber.

davidzo
2010-05-19, 12:57:26
das verwundert mich wenig. eine FGL7700 basiert auf der 3870 und die liegt schließlich auch knapp 10% hinter der 8800GT.
wenn ne fireGL in entsprechenden OpenGL aber wenigstens nicht viel langsamer wäre als ne nvidiakarte wäre das schonmal nicht schlecht. Derzeit liegt da Faktor drei bis vier dazwischen...

Sven77
2010-05-19, 13:04:37
10% würde man nicht merken, allerdings wenn man in OpenGL-Anwendungen wie Maya ein ziemliche grosses Mesh mehr als 100.000Vertices selektiert kann man bei der ATI Kaffee trinken gehen, während mein Notebook mit 8600GT das ganze in 1s erledigt.. das zieht sich schon über mehrere Treiber hin, und ist auch bekannt. Das Problem bei ATI ist nicht die Geschwindigkeit von OpenGL an sich, sondern die Bugs und Glitches.