Nvidia und OpenGL
- starcow
- Establishment
- Beiträge: 560
- Registriert: 23.04.2003, 17:42
- Echter Name: Mischa Schaub
- Kontaktdaten:
Nvidia und OpenGL
Tach Zusammen!
Ich brauch wiedermal den Rat von euch Experten.
Ich arbeite als 3D Grafiker und bin entsprechend auf verschiedenen Boards zu dieser Thematik unterwegs.
Ich stosse dabei immer wieder auf Threads wo Grafikkarten verglichen werden, mit dem Ziel die bestmögliche Performance im Viewport zu erhalten.
Der Viewport in Softimage (damit arbeit ich) läuft mit OpenGL. Die meiste 3D-Anwendungssoftware setzt bekanntlich auf OpenGL.
Nun lese ich, das NVidia ab der letzen GeForce Serie (also ab der 500 Serie - Edit: Korrigiere, es war ab der 400 Serie) die OpenGL Fähigkeiten im Treiber absichtlich "verstümmeln" soll.
Aus dem einfachen Grund, damit sie ihre Quadro Karten besser verkaufen können.
Irgendwie kann ich mir das nicht vorstellen, da so ein Leistungseinbruch unter OpenGL gegenüber Direct3D doch auch zwangsläufig der Gamer-Gemeinde auffallen müsste.
Da gäbe es doch einen riesen aufschrei!
Wenn jemand darüber bescheid weiss, dann wohl ihr, die mit OpenGL und Direct3D programmiert.
Wenn dem tatsächlich so ist, dann müsste ja ein Spiele entwickeln unter OpenGL bald hinfällig sein.
Wie seht ihr das?
Gruss starcow
Edit:
Thread auf blenderartists
http://blenderartists.org/forum/showthr ... ost1987116
Thread auf xsiforum.de
http://www.xsiforum.de/thread.php?threa ... =0&page=20
Ich brauch wiedermal den Rat von euch Experten.
Ich arbeite als 3D Grafiker und bin entsprechend auf verschiedenen Boards zu dieser Thematik unterwegs.
Ich stosse dabei immer wieder auf Threads wo Grafikkarten verglichen werden, mit dem Ziel die bestmögliche Performance im Viewport zu erhalten.
Der Viewport in Softimage (damit arbeit ich) läuft mit OpenGL. Die meiste 3D-Anwendungssoftware setzt bekanntlich auf OpenGL.
Nun lese ich, das NVidia ab der letzen GeForce Serie (also ab der 500 Serie - Edit: Korrigiere, es war ab der 400 Serie) die OpenGL Fähigkeiten im Treiber absichtlich "verstümmeln" soll.
Aus dem einfachen Grund, damit sie ihre Quadro Karten besser verkaufen können.
Irgendwie kann ich mir das nicht vorstellen, da so ein Leistungseinbruch unter OpenGL gegenüber Direct3D doch auch zwangsläufig der Gamer-Gemeinde auffallen müsste.
Da gäbe es doch einen riesen aufschrei!
Wenn jemand darüber bescheid weiss, dann wohl ihr, die mit OpenGL und Direct3D programmiert.
Wenn dem tatsächlich so ist, dann müsste ja ein Spiele entwickeln unter OpenGL bald hinfällig sein.
Wie seht ihr das?
Gruss starcow
Edit:
Thread auf blenderartists
http://blenderartists.org/forum/showthr ... ost1987116
Thread auf xsiforum.de
http://www.xsiforum.de/thread.php?threa ... =0&page=20
Zuletzt geändert von starcow am 22.11.2012, 00:03, insgesamt 1-mal geändert.
Re: Nvidia und OpenGL
Das halte ich jetzt mal für ein Gerücht. Es stimmt, dass die GeForce treiberseitig limitiert wird, aber nur, was die Double-Precision-Fähigkeiten betrifft. Mehr dazu hier: http://stackoverflow.com/a/3762744 Es wird ökonomisch sinnvoller sein, den gleichen Chip für beide Karten zu verwenden, aber da sie in verschiedenen Gebieten Anwendung finden, werden sie dementsprechend noch über den Treiber modifiziert. Eine Quadro wird gängigerweise für Scientific Computing verwendet, wo mehr Double-Precision-Rechnungen nötig sind als für Spiele, wo du im Allgemeinen überhaupt keine Double Precision benötigst. Das gilt auch für Blender o.ä. Deshalb wäre es unsinnig von Nvidia, die GeForce gerade in dem Punkt zu drosseln, wegen dem sie sich verkaufen soll, nämlich um Spiele schnell zu berechnen.Nun lese ich, das NVidia ab der letzen GeForce Serie (also ab der 500 Serie) die OpenGL Fähigkeiten im Treiber absichtlich "verstümmeln" soll.
Aus dem einfachen Grund, damit sie ihre Quadro Karten besser verkaufen können.
Das erschließt sich mir nicht. Warum sollte sich der Treiber überhaupt bei OpenGL (von Khronos, einem Konsortium, dem auch Nvidia beiwohnt) anders verhalten als bei Direct3D, das von Microsoft kommt und sozusagen von der Konkurrenz stammt?Wenn dem tatsächlich so ist, dann müsste ja ein Spiele entwickeln unter OpenGL bald hinfällig sein.
- CodingCat
- Establishment
- Beiträge: 1857
- Registriert: 02.03.2009, 21:25
- Wohnort: Student @ KIT
- Kontaktdaten:
Re: Nvidia und OpenGL
Ich habe zu dem Thema vorhin mal etwas gegoogelt. In einem Blender Bug Report wurden tatsächlich einige Zeiten gemessen, bei denen ältere nVidia-Karten besser abschnitten als neuere. Allerdings wurde das Problem dort antiken OpenGL-Features zugeschrieben. Definitive Aussagen konnte ich keine finden, die meisten Einträge zu dem Thema bezogen sich auf dieselben drei Forenposts, deren Behauptungen in keiner Weise durch Fakten gestützt wurden.
Die Frage ist, welche Funktionalität hier überhaupt verglichen wird. Dass OpenGL auf den aktuellen nVidia-Karten generell langsamer als DirectX läuft, wage ich mal stark zu bezweifeln. Ich vermute viel mehr, dass die betroffene "verlangsamte" OpenGL-Funktionalität von DirectX überhaupt nie angeboten wurde und deshalb jetzt nach und nach aus den Konsumentenprodukten verschwindet. Modernes OpenGL ist weitestgehend deckungsgleich mit modernem DirectX. Die archaischen OpenGL-Features, auf die viele 3D-Programme noch heute aus purer Bequemlichkeit setzen, sind in dieser Umgebung vollkommen überflüssig und wären pure Verschwendung. Für Spiele hat das keine Relevanz, egal ob diese unter DirectX oder unter OpenGL laufen. Solange die Entwickler der etablierten 3D-Programme sich weigern, ihre Produkte auf die wesentlich effizientere aktuelle OpenGL API zu aktualisieren, ist eine derartige Entwicklung für Artists natürlich unangenehm.
Die Frage ist, welche Funktionalität hier überhaupt verglichen wird. Dass OpenGL auf den aktuellen nVidia-Karten generell langsamer als DirectX läuft, wage ich mal stark zu bezweifeln. Ich vermute viel mehr, dass die betroffene "verlangsamte" OpenGL-Funktionalität von DirectX überhaupt nie angeboten wurde und deshalb jetzt nach und nach aus den Konsumentenprodukten verschwindet. Modernes OpenGL ist weitestgehend deckungsgleich mit modernem DirectX. Die archaischen OpenGL-Features, auf die viele 3D-Programme noch heute aus purer Bequemlichkeit setzen, sind in dieser Umgebung vollkommen überflüssig und wären pure Verschwendung. Für Spiele hat das keine Relevanz, egal ob diese unter DirectX oder unter OpenGL laufen. Solange die Entwickler der etablierten 3D-Programme sich weigern, ihre Produkte auf die wesentlich effizientere aktuelle OpenGL API zu aktualisieren, ist eine derartige Entwicklung für Artists natürlich unangenehm.
alphanew.net (last updated 2011-07-02) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite
- dot
- Establishment
- Beiträge: 1745
- Registriert: 06.03.2004, 18:10
- Echter Name: Michael Kenzel
- Kontaktdaten:
Re: Nvidia und OpenGL
Die Quadros sind eben speziell für CAD Workstations etc. gedacht und bieten besseren Hardwaresupport für einige Dinge, die eben vor allem in CAD Anwendungen interessant sind, wie z.B. Linienantialiasing, bitweise Verknüpfungen als BlendOp, Quad Buffer Stereo Rendering etc.
Dass NVIDIA wirklich treiberseitig großartig irgendwelche künstlichen Einschränkungen einbaut, kann man, denk ich, nicht wirklich sagen. Man kann afaik eine GeForce so modifizieren, dass sie sich als Quadro ausgibt und dann mit den entsprechenden Treibern fahren und unter gewissen Umständen was manche Dinge betrifft ein wenig mehr Performance rausholen. Das liegt aber vermutlich eher daran, dass die Treiber eben besser an die entsprechende Anwendung angepasst sind, als daran, dass die anderen Treiber die Hardware "verstümmeln". Manche Dinge werden wohl tatsächlich aus ökonomischen Gründen treiberseitig deaktiviert, aber der Unterschied zwischen Quadro und GeForce ist sicherlich nicht nur rein im Treiber versteckt...
Dass NVIDIA wirklich treiberseitig großartig irgendwelche künstlichen Einschränkungen einbaut, kann man, denk ich, nicht wirklich sagen. Man kann afaik eine GeForce so modifizieren, dass sie sich als Quadro ausgibt und dann mit den entsprechenden Treibern fahren und unter gewissen Umständen was manche Dinge betrifft ein wenig mehr Performance rausholen. Das liegt aber vermutlich eher daran, dass die Treiber eben besser an die entsprechende Anwendung angepasst sind, als daran, dass die anderen Treiber die Hardware "verstümmeln". Manche Dinge werden wohl tatsächlich aus ökonomischen Gründen treiberseitig deaktiviert, aber der Unterschied zwischen Quadro und GeForce ist sicherlich nicht nur rein im Treiber versteckt...
- starcow
- Establishment
- Beiträge: 560
- Registriert: 23.04.2003, 17:42
- Echter Name: Mischa Schaub
- Kontaktdaten:
Re: Nvidia und OpenGL
Danke für eure Antworten! Ich finds schon aufschlussreich was ihr da schreibt!
http://blenderartists.org/forum/showthr ... ost1987116
Dieser User ist offenbar der Meinung, das man sich eine ebensogute OpenGL wie Direct3D Performance mit den teuren Quadro Karten erkaufen muss.
Consumer ware sei nur unter Direct3D schnell, nicht aber unter OpenGL.
Wie gesagt, ich persönlich kann mir wirklich nicht vorstellen, dass dies tatsächlich so ist.
Gruss starcow
Damit spiele ich auf folgende Aussage an:mOfl hat geschrieben:Das erschließt sich mir nicht. Warum sollte sich der Treiber überhaupt bei OpenGL (von Khronos, einem Konsortium, dem auch Nvidia beiwohnt) anders verhalten als bei Direct3D, das von Microsoft kommt und sozusagen von der Konkurrenz stammt?
Diese stammt aus dem Blenderforum:GeForce: Fast DX, crippled OpenGL, crippled CUDA
Quadro: Fast OpenGL, crippled CUDA
Tesla: NO graphic connector, fulll CUDA performance.
http://blenderartists.org/forum/showthr ... ost1987116
Dieser User ist offenbar der Meinung, das man sich eine ebensogute OpenGL wie Direct3D Performance mit den teuren Quadro Karten erkaufen muss.
Consumer ware sei nur unter Direct3D schnell, nicht aber unter OpenGL.
Wie gesagt, ich persönlich kann mir wirklich nicht vorstellen, dass dies tatsächlich so ist.
Gruss starcow
Re: Nvidia und OpenGL
Ich hab jetzt keine Quadro zur Hand, um das zu testen, aber das hört sich für mich wie eine urbane Legende an. Wenn man sich die Specs der Geforce- und Quadro-Karten mit jeweils gleichem Chip (Fermi, Kepler) ansieht, dann müssten bei üblichen Single-Precision-Anwendungen die High-End-GeForce-Modelle besser abschneiden als die Quadro, also allein von der Hardware. Wie gesagt, Quadro soll andere Sachen erledigen als GeForce, deswegen wird es Nvidia auch nicht unbedingt ein Anliegen sein, die Quadro als Gamerkarte zu verhökern. Also der Schluss von "teuer" zu "besser" klappt einfach nicht, weil man aufgrund der Anforderungen einen Geländewagen nicht sinnvoll mit einem Rennwagen vergleichen kann, auch wenn sie den gleichen Motor haben.
Re: Nvidia und OpenGL
Allein die Aussage, dass Nvidia die Leistung der Geforce, Tegra oder Quadro verkrüppelt haben soll, sagt mir schon, dass der werte Herr etwas nicht verstanden hat: Auf jeder der aktuellen Karten steckt ein anderer Chip drauf (wenn man vielleicht von der kleinen Tesla und der Geforce 680 mal absieht). Da zu sagen, Nvidia hätte die Chips absichtlich verkrüppelt, ist einfach nicht anwendbar; eine solche Aussage hat keinen Sinngehalt. Es sind unterschiedliche Chips, nicht abgespeckte Chips.
Vielmehr ist richtig: Da sind unterschiedliche Chips drauf, welche unterschiedliche Stärken und Schwächen haben. Da hier viel zu wenig harte Fakten rumschimmen, hier ein Vergleich der Geforce 580 (GF110 Chip) mit der Quadro 5000 (GF100GL Chip).
Jeder Mensch muss jetzt individuell für seine eigenen Anwendungsbereiche die Leistungen der Karten differenziert betrachten; aber eine solche Aussage ist ja viel unsexier als schnell mal von verkrüppelter Leistung zu sprechen.
Vielmehr ist richtig: Da sind unterschiedliche Chips drauf, welche unterschiedliche Stärken und Schwächen haben. Da hier viel zu wenig harte Fakten rumschimmen, hier ein Vergleich der Geforce 580 (GF110 Chip) mit der Quadro 5000 (GF100GL Chip).
Jeder Mensch muss jetzt individuell für seine eigenen Anwendungsbereiche die Leistungen der Karten differenziert betrachten; aber eine solche Aussage ist ja viel unsexier als schnell mal von verkrüppelter Leistung zu sprechen.
-
- Establishment
- Beiträge: 201
- Registriert: 07.07.2010, 13:00
- Kontaktdaten:
Re: Nvidia und OpenGL
Ich habe mal Teile unserer Rendering Engine für Bildverarbeitung auf DirectX portiert und hatte auf Quadro Maschinen dann einen Performance-Einbruch von bis zu 15%.
Imaging-Software und bald auch Middleware: http://fd-imaging.com
- starcow
- Establishment
- Beiträge: 560
- Registriert: 23.04.2003, 17:42
- Echter Name: Mischa Schaub
- Kontaktdaten:
Re: Nvidia und OpenGL
So wie ich es jetzt verstanden habe, kursiert die Meinung, dass nicht der Chip "verkrüppelt" sein soll, sondern der Treiber. Das heiss, das bei den Treibern für die Consumer Karten die OpenGL Performance gebremst werden soll.eXile hat geschrieben:Allein die Aussage, dass Nvidia die Leistung der Geforce, Tegra oder Quadro verkrüppelt haben soll, sagt mir schon, dass der werte Herr etwas nicht verstanden hat...
-
- Establishment
- Beiträge: 488
- Registriert: 01.03.2009, 19:09
Re: Nvidia und OpenGL
Wäre mir persönlich beim Entwickeln noch nicht aufgefallen dass OpenGL eine schlechtere Performance hat als Direct3D. Beschäftige mich allerdings auch erst seit nem knappen Jahr mit OpenGL (vorher Direct3D)
Meine Vermutung würde auch eher in die Richtung von Cats Aussage gehen:
Meine Vermutung würde auch eher in die Richtung von Cats Aussage gehen:
CodingCat hat geschrieben: Für Spiele hat das keine Relevanz, egal ob diese unter DirectX oder unter OpenGL laufen. Solange die Entwickler der etablierten 3D-Programme sich weigern, ihre Produkte auf die wesentlich effizientere aktuelle OpenGL API zu aktualisieren, ist eine derartige Entwicklung für Artists natürlich unangenehm.
Bevor man den Kopf schüttelt, sollte man sich vergewissern einen zu haben
Re: Nvidia und OpenGL
Ich glaube wie schon meine Vorposter nicht daran das NVidia versucht die OpenGL Performance seiner Consumer Karten zu reduzieren. Was ich mir hingegen durchaus vorstellen kann, ist das in den Consumer Karten die Performance von deprecated OpenGL Funktionen zu Gunsten des modernen Ansatzes verloren geht. Immerhin ist der Standard, der viele Funktionen als deprecated markiert hat mittlerweile über 3 Jahre alt. Wenn die Entwickler ihre Programme nicht anpassen, kann es natürlich zu Leistungseinbrüchen kommen, was aber nicht an NVidia liegt. Ein interessantes Video http://www.youtube.com/watch?v=HC3JGG6xHN8 hab ich hier gefunden. Da sieht man das die OpenGL Performance neuer NVidia Karten zumindest annährend gleichwertig zu deren DirectX Performance ist.
Da bei den Quadro Karten die Zielgruppe eine andere ist, kann es hier hingegen sein das in den Treibern noch deutlich Wert auf die deprecated Funktionalität gelegt wird.
Da bei den Quadro Karten die Zielgruppe eine andere ist, kann es hier hingegen sein das in den Treibern noch deutlich Wert auf die deprecated Funktionalität gelegt wird.
- Lynxeye
- Establishment
- Beiträge: 145
- Registriert: 27.02.2009, 16:50
- Echter Name: Lucas
- Wohnort: Hildesheim
- Kontaktdaten:
Re: Nvidia und OpenGL
NVidia hat Mittel und Wege (inkl. Hardware) eine GeForce welche sich für den Treiber als Quadro ausgibt zu verkrüppeln. Absichtlich eingebremst wird jedenfalls keine Karte in ihrem Segment.
Das immer nur dort optimiert wird wo man das Potential erkennt ist auch klar, zeigt sich zum Beispiel an der Portierung von Steam auf Linux. Dabei scheinen einige Probleme im OpenGL NVidia Treiber aufgefallen zu sein, welche auch umgehend behoben wurden und dadurch die Frameraten um bis 20% verbessert wurden.
Das immer nur dort optimiert wird wo man das Potential erkennt ist auch klar, zeigt sich zum Beispiel an der Portierung von Steam auf Linux. Dabei scheinen einige Probleme im OpenGL NVidia Treiber aufgefallen zu sein, welche auch umgehend behoben wurden und dadurch die Frameraten um bis 20% verbessert wurden.