Archiv verlassen und diese Seite im Standarddesign anzeigen : Call for Vote - OpenGL in Windows Vista
Corrail
2005-08-05, 23:59:10
Hello!
Im opengl.org Forum gibt es einen Vote bezüglich der OpenGL Integration in Windows Vista. Ich möchte hier bitte jeden Aufrufen sich das mal kurz durchzulesen und dann einen Vote anzugeben.
http://www.opengl.org/
http://www.opengl.org/discussion_boards/cgi_directory/ultimatebb.cgi?ubb=get_topic;f=3;t=013663
Vielen Dank!
grandmasterw
2005-08-06, 00:04:16
Na wegen einem Poll registrier ich mich da sicher net. Wär aber verdammt schade um OpenGL, wenns so vergurkt wird. Obwohl, nein.. es wär schad um Windows Vista, bleib ich doch bei Win2k. ;D
Jetzt mal im Ernst, Direct3D ist die Spiele-API, OpenGL wird für ernsthafte Apps verwendet. An meiner Uni wird fast ausschließlich OpenGL gelehrt, und ich finds auch wesentlich angenehmer zu programmieren. Noch dazu erleichtert man spätere Plattformwechsel (ok, nicht grad in MS' Interesse).
Demirug
2005-08-06, 00:27:52
Mir scheint es fast so als hätte da jemand die Dokumnentation etwas falsch interpretiert.
OK MS hat da vielleicht die Namen von einigen Funktionen etwas unglücklich gewählt so das dieser Eindruck entstehen könnte. Allerdings sollte doch jedem der mal einen Blick in das neue WDK geworfen hat sofort ein Unterschied auffallen. Im alten wurden OpenGL ICD so gut wie gar nicht erwähnt. Im neuen für Longhorn/Vista steht nun sehr ausführlich beschrieben wie man einen OpenGL ICD in das System einbindet. Theoretisch könnte man das dort Beschriebene auch nutzen um andere 3D-APIs einzubinden.
Warum die Aufregung? OpenGL wird eh spätestens durch die Treiber von Ati, Nvidia und Co in Vista intergriert werden.
Das sich M$ um OpenGL-Specs von SGI nicht allzu viel kümmert, ist doch klar.
marco42
2005-08-06, 17:08:26
Das Problem liegt wohl daran, dass das windows compositing nicht mehr funktioniert, wenn du einen ICD einbedindest. Das sagte zumindestens jemand von 3Dlabs und die sollten von der Materie doch schon Ahnung haben.
Demirug
2005-08-06, 18:06:26
Das Problem liegt wohl daran, dass das windows compositing nicht mehr funktioniert, wenn du einen ICD einbedindest. Das sagte zumindestens jemand von 3Dlabs und die sollten von der Materie doch schon Ahnung haben.
Wenn man wei weiß die composition Engine arbeitet macht das aber irgendwie keinen Sinn. Diese nimmt einfach nur die vom Kernel Graphics System für jede Applikation erzuegeten Frontbuffer und rendert sie. Da auch ein OpenGL ICD unter Vista sich den Speicher über das Graphics system holen muss kann die Composition Engine den Frontbuffer holen.
Ich habe den Verdacht das man sich bei dieser BOF Session auf die aktuellen Windows XPs ICDs bezogen hat. Sobald man nämlich einen solchen Installiert funktioniert Aero wirklich nicht mehr. Zumindestens bei den nVidia Treiber ist noch kein Vista OpenGL ICD dabei. Entsprechend muss man sich mit dem Wrapper zufrieden geben oder den XP Treiber installieren. Mit dem XP Treiber ist aber Aero tot. Ich habe nun den Verdacht das 3DLabs es gerne sehen würde wenn MS dafür sorgt das Aero auch mit den alten XP ICDs funktioniert.
marco42
2005-08-07, 14:39:39
Demirug, hast du eigentlich eine Ahnung, warum sie OpenGL 1.4 unterstuetzen. 1.5 ist doch wesentlich sinnvoller, da es VBO's unterstuetzt. 2.0 waere vielleicht etwas viel verlangt. AFAIK soll die OpenGL Implementierung auch noch ziemlich buggy sein. Ich habe mal wieder das Gefuehl das MS das "in Kauf nimmt", das Multiplatform-Anwendungen schwieriger zu entwickeln sind. Sie haben ja auch eine Zeit versucht die Entwicklung von OpenGL im ARB zu behindern, ich glaube da einfach nicht an blossen Zufall.
Demirug
2005-08-07, 15:10:24
Da ich die genauen Unterschiede zwischen 1.4 und 1.5 nicht im Kopf habe, bei OpenGL ist die Versionnummer ja sowieso nicht so viel wert, weiß ich jetzt nicht ob dort etwas dabei ist was sich nicht so einfach auf D3D übertragen lässt.
Da die aktuellen Vista Treiber auch noch etwas problematisch sind ist schwer zu sagen was da jeweils am Wrapper und was an den D3D Treiber liegt. In der Praxsis ist aber sowieso davon auszugehen das bei den Grafiktreibern Vista OpenGL ICDs dabei sein werden.
Chris Lux
2005-08-08, 10:19:11
In der Praxsis ist aber sowieso davon auszugehen das bei den Grafiktreibern Vista OpenGL ICDs dabei sein werden.
das kann man wirklich nur hoffen. das soll heissen, dass diese OpenGL 1.4 wrapper implementation nur den MS generic ICD ersetzen soll (hoffentlich nur). jedoch gab es die gerüchte schon vor längerem mal, dass ms (welche ja aus dem ARB ausgestiegen sind) opengl mit longhorn sehr stiefmütterlich behandeln wollen.
am besten wäre in dieser aufregung gerdade von den IHVs ein statement zu bekommen, wie die situation wirklich zu bewerten ist.
edit:
Demirug, schön, dass du uns solche informationen über das driver modell zukommen lässt. jedoch frage ich mich wirklich, warum dies sonst nirgens, auch von ms nicht, mal angesprochen wird. nvidia mitarbeiter sind sonst eigentlich recht schnell wenn es um solche informationen geht (im ogl forum). ich glaube ganz ehrlich, dass an dem ganzen ein großer funken wahrheit dran ist. es ist auch die rede davon (statement direkt von 3dlabs), dass ms informationen zurückhält, wie full featured opengl und der aero desktop zusammen funktionieren können.
Demirug
2005-08-08, 11:02:31
Als nach dem Aussiteg das Gerücht aufgekommen ist das sie OpenGL in Zukunft nicht mehr unterstützen wollen wurde das von Microsoft sehr schnell dementiert.
Das nVidia und ATI nichts sagen können an NDAs liegen die sie unterschreiben mussten um frühzeitig an die Unterlagen zu kommen die sie brauchen um die Treiber für die aktuelle Beta zu schreiben.
3Dlabs halte ich ehrlich gesagt nicht unbedingt für eine verlässliche Quelle was Informationen zu Microsoft angeht. Seit iherem OpenGL 2.0 Vorschlag hat man dort die Tendenz grundsätzlich erst mal gegen alles von MS zu stänkern.
MS hat schon sehr viele Informationen zum Grafiksubsystem von Vista veröffentlicht. Sonst hätte ich ja auch nichts. Die Sachen sind etwas verstreut. Was wohl damit zusammen hängen dürfte das sich mehr als 99% für solche Details sowieso nicht interesieren.
Corrail
2005-08-08, 11:44:42
Sehe ich das dann richtig, dass nur der OpenGL Treiber von MS über DX gewrappt wird und dass die IHVs sehr wohl native OpenGL Treiber (mit Extension Support) ohne Performanceverlust schreiben können?
http://download.microsoft.com/download/1/8/f/18f8cee2-0b64-41f2-893d-a6f2295b40c8/TW04006_WINHEC2004.ppt
sieht wohl so aus, sorg macht mir nur der "context wechsel" - wenn gleichzeitig 2 api's auf den gpu zugreifen, z.b. vollbilddarstellung von doom 3 und auf dem zweiten monitor die vista oberfläche mit ein paar fenstern....
Thomas
Sehe ich das dann richtig, dass nur der OpenGL Treiber von MS über DX gewrappt wird und dass die IHVs sehr wohl native OpenGL Treiber (mit Extension Support) ohne Performanceverlust schreiben können?Ja siehst du.
Das Problem ist dass alte OpenGL ICDs Aero deaktivieren was wohl 3DLabs nicht passt. In Vista muss nämlich der Grafikspeicher global verwaltet werden, weshalb auch die kompatiblen OpenGL ICDs dafür neu geschrieben werden müssen.
Corrail
2005-08-08, 14:19:04
Ja siehst du.
Ok, dann hab ich das missverstanden. Solange es "beim alten" bleibt, also nur OpenGL 1.x (1.1 bis WXP, 1.4 bei Vista) und der Rest über Extensions bin ich happy ;)
RaumKraehe
2005-08-08, 20:17:40
Mal wieder ne Verständniss-Frage zu dem Thema: Seit wann ist nen Grafik-API an ein BS gebunden? Unterztüzt Windows 2K oder XP denn von Hause aus OpenGL? Ich dacht nicht. Ich dacht das erst der GraKa-Treiber die einzige nötige Vorausetzung für OpenGL ist. Oder wie ist es dann zu erklären das z.b. ATI etwas schlechtere OpenGL unterstützung hat als Nvidia. Das hat doch irgend wie sehr wenig bis gar nichts mit dem BS zu tun. Und auch wenn das GUI von Longhorn auf DX9 basiert so sollte das auch nichts mit OpenGL zu tun haben.
Oder hab ich da was grundlegend falsch verstanden?
Auch die plattformübergreifenden Anwendungen sollten eigentlich nicht so drunter leiden. Ehrlich gesagt ist das einzige Prog was ich kenne und was OpenGL für das GUI verwendet "Blender". Da wird es dann wirklich kompliziert. :)
Chris Lux
2005-08-08, 20:47:59
Mal wieder ne Verständniss-Frage zu dem Thema: Seit wann ist nen Grafik-API an ein BS gebunden? Unterztüzt Windows 2K oder XP denn von Hause aus OpenGL? Ich dacht nicht. Ich dacht das erst der GraKa-Treiber die einzige nötige Vorausetzung für OpenGL ist. Oder wie ist es dann zu erklären das z.b. ATI etwas schlechtere OpenGL unterstützung hat als Nvidia. Das hat doch irgend wie sehr wenig bis gar nichts mit dem BS zu tun. Und auch wenn das GUI von Longhorn auf DX9 basiert so sollte das auch nichts mit OpenGL zu tun haben.
Oder hab ich da was grundlegend falsch verstanden?
die OpenGL implemetierung ist natürlich im treiber. das problem ist nur, dass die anbindung dieser funktionalität an das betriebssystem natürlich vorhanden sein muss. bisher geschah das über die GDI schnittstelle. MS jedoch bietet mit longhorn (anschgeblich) keine möglichkeit mehr OpenGL an die neue, ich sag mal, desktopengine anzubinden. wenn ein hersteller den alten weg geht, welcher aus kompatibilitätsgründen noch vorhanden ist, verliert man die vorzüge der neuen desktopengine und wird auf die alte zurückgeführt.
dazu muss man aber sagen, dass wie demirug erklärt hat, scheinbar doch eine möglichkeit besteht OpenGL ordentlich in die vista desktopengine einzubinden. probleme können nun aber auftauchen, weil der desktop im endeffekt einen rendering kontekt besitzt, in welchen andere rendering kontexte eingebunden werden müssen. dabei kann es zu schwierigkeiten kommen, da die verschiedenen kontexte ressourcen und rechenzeit der graphikpipeline benötigen und diese effizient verwaltet werden muss. dass heisst alles, es liegt eben doch am BS eine unterstützung für die API mitzubringen (die anbindung dieser zumindest). win2k und winXP bringen basis unterstützung für OpenGL mit, was bedeutet, dass MS eine eigene OpenGL implementierung mit ausliefert. diese wird aber im normalfall durch die implementierung der treiber überschrieben, welche dann die komplette funktionalität der hardware mitbringt (da sie wiederum von dem jeweiligen IHV selbst geproggt wurde).
in dem OpenGL Forum thread hat sich jetzt ein angeblicher ex MS entwickler gemeldet, welcher meinte, dass man den IHV so arbeit ersparen will (haha). sie sollen nur den d3d treiber bringen und longhorn kümmert sich um die übersetzung von OGL -> d3d (haha die zweite). problem dabei ist nur, dass sie so die funktionalität der 'windows' opengl api kontrollieren (haha die dritte).
ich kann echt nur hoffen das demi recht hat mit dem fakt, dass der ICD immer noch eingebunden werden kann ohne den umweg d3d.
Demirug
2005-08-08, 21:06:34
Man kann auch unter Vista noch eigene OpenGL ICDs schreiben. Das ist im WDK sogar ausdrücklich vorgesehen. s. Diagramm.
Was die OpenGL Implementierung von MS angeht so kann ich mir durchaus denken das sich gerade Intel damit zufrieden gibt.
RaumKraehe
2005-08-08, 21:07:53
Erstmal danke für die Erklärung. Aber das würde doch alles nicht so problematisch sein wenn nen Fullscreen-Modus genutzt werden würde. Ja, z.B. für Spiele. Ich dachte in diesem Modus würde die Desktopengine eh umgangen werden.
Für Anwendungen die ihr GUI mittels OpenGL darstellen und/oder halt den Output mittels OpenGL anzeigen (z.B. Blender) ist das natürlich etwas dramatischer. Allso innerhalb der Desktopengine. Oder ist das bei Vista nicht mehr von einander getrennt? Oder war das noch nie getrennt. Also "Windowed"-Applikationen und "Fullscreen"?
marco42
2005-08-08, 21:31:15
Man kann auch unter Vista noch eigene OpenGL ICDs schreiben. Das ist im WDK sogar ausdrücklich vorgesehen. s. Diagramm.
Ja, aber OpenGL 1.4 ohne Extensions, das ist so etwa das Niveau einer TNT oder Geforce 1. Gerade solche Dinge wie Vertex Buffer Object oder Occlusion Culling werden nicht unterstuetzt. Und die sind auch fuer ernsthafte Anwendungen von Interesse, ganz zu schweigen von GLSL. Und wenn ich es richtig verstehe, geht das immer noch uebers GDI. Das bedeutet doch das dieser Aero nicht funktioniert oder?
Demirug
2005-08-08, 21:47:08
Ja, aber OpenGL 1.4 ohne Extensions, das ist so etwa das Niveau einer TNT oder Geforce 1. Gerade solche Dinge wie Vertex Buffer Object oder Occlusion Culling werden nicht unterstuetzt. Und die sind auch fuer ernsthafte Anwendungen von Interesse, ganz zu schweigen von GLSL. Und wenn ich es richtig verstehe, geht das immer noch uebers GDI. Das bedeutet doch das dieser Aero nicht funktioniert oder?
Nein, die Begrenzung auf OpenGL 1.4 ist nur dann vorhanden wenn kein OpenGL ICD installiert ist und der Wrapper benutzt wird.
Aero ist es vollkommen egal woher der Fensterinhalt kommt solange er in einem für Aero zugänglichen Bereich des Videospeichers liegt.
marco42
2005-08-09, 11:12:45
Nein, die Begrenzung auf OpenGL 1.4 ist nur dann vorhanden wenn kein OpenGL ICD installiert ist und der Wrapper benutzt wird.
Das ist mir schon klar. Bloss warum lassen sie es dann nicht gleich weg, viel bringt das IMHO nicht. Das ist in etwa so wie mit der alten Java Implementation, die sie jahrelang ausgeliefert haben. Ich bin mir nicht mal sicher, ob man OpenGL komplett auf D3D wrappen kann.
Soweit ich verstanden habe, rueckt Microsoft die Informationen nicht heraus. Aber von Treiberentwicklung hab ich keine Ahnung.
Demirug
2005-08-09, 11:58:54
Das ist mir schon klar. Bloss warum lassen sie es dann nicht gleich weg, viel bringt das IMHO nicht. Das ist in etwa so wie mit der alten Java Implementation, die sie jahrelang ausgeliefert haben. Ich bin mir nicht mal sicher, ob man OpenGL komplett auf D3D wrappen kann.
Sie müssen eine Implementierung dazu packen weil bei NT schon immer eine dabei war.
Soweit ich verstanden habe, rueckt Microsoft die Informationen nicht heraus. Aber von Treiberentwicklung hab ich keine Ahnung.
Eigentlich bekommt man alles. Man muss nur die entsprechenden Unterlagen unterschreiben. Das Kernel Interface für ICDs habe ich. Lediglich das Interface zwischen dem ICD Host und den ICDs fehlt mir. Das werde ich aber als nicht IHV kaum bekommen.
marco42
2005-08-09, 14:16:42
Ok, wenn ich jetzt richtig verstehe, gibt es unter Windows Vista zwei Graphic Schnittstellen. Einmal das GDI und dann WGF. Der OpenGL ICD ist ueber das GDI angekoppelt und nicht ueber WGF. Das stellt wohl das Problem da, da Aero auf dem WGF basiert und der ICD und WGF nicht gleichzeitig gehen soll. Ist das richtig. Du sagst nun, man kann den ICD auch so einbinden, dass WGF und ICD gleichzeitig gehen. Wieso wird der eigentlich immer noch ueber das GDI angebunden und nicht ueber die neue Schnittstelle?
Demirug
2005-08-09, 15:05:22
Es gibt nur eine Kernel Schnitstelle. Lediglich die Thunks dafür sind zweimal vorhanden. Das ist aber im Prinzip auch bei XP schon so.
Diese neue Kernel Schnittstelle enthält aber nun das alte XP Model und das neue LDDM Model. Aero setzt nun aber vorraus das alle Komponenten nur den LDDM teil nutzen.
marco42
2005-08-09, 15:13:54
Diese neue Kernel Schnittstelle enthält aber nun das alte XP Model und das neue LDDM Model. Aero setzt nun aber vorraus das alle Komponenten nur den LDDM teil nutzen.
Der ICD muesste also ueber LDDM laufen und mit den anderen kommunizieren? AFAIS geht es jetzt wohl nur noch um die Docu oder?
Demirug
2005-08-09, 15:20:18
Der ICD muesste also ueber LDDM laufen und mit den anderen kommunizieren? AFAIS geht es jetzt wohl nur noch um die Docu oder?
Das Sharen der Resourcen ergibt sich aus dem LDDM ja automatisch.
Was möglicherweise noch fehlt ist die Dokumentation für das Interface zwischen dem ICD Host und dem ICD. Aber die bekommt man wie gesagt sowieso nur als IHV auf nachfrage.
marco42
2005-08-10, 11:19:38
Das Sharen der Resourcen ergibt sich aus dem LDDM ja automatisch.
Was möglicherweise noch fehlt ist die Dokumentation für das Interface zwischen dem ICD Host und dem ICD. Aber die bekommt man wie gesagt sowieso nur als IHV auf nachfrage.
also, wenn das posting (http://groups.yahoo.com/group/opengl-gamedev-l/message/23827) stimmt, dann ist da noch etwas im argen. mal schauen.
Demirug
2005-08-10, 11:35:21
also, wenn das posting (http://groups.yahoo.com/group/opengl-gamedev-l/message/23827) stimmt, dann ist da noch etwas im argen. mal schauen.
Es scheint ein rein Organisatorisches und weniger ein technische Problem zu sein. MS fürchtet wohl das ein möglicher Fehler im OpenGL ICD den ganzen Desktop zerhauen kann. Sowas geht leider nicht aus den rein technischen Unterlagen hevor.
Chris Lux
2005-08-10, 11:36:03
also, wenn das posting (http://groups.yahoo.com/group/opengl-gamedev-l/message/23827) stimmt, dann ist da noch etwas im argen. mal schauen.
jap im nvidia regdev forum gabs nur einen kurzen kommentar: 'We are of course aware of this issue. Discussions with Microsoft are ongoing.'
also mir sieht das wirklich ernst aus.
marco42
2005-08-10, 11:46:33
Es scheint ein rein Organisatorisches und weniger ein technische Problem zu sein. MS fürchtet wohl das ein möglicher Fehler im OpenGL ICD den ganzen Desktop zerhauen kann. Sowas geht leider nicht aus den rein technischen Unterlagen hevor.
Aber kann das ein Fehler im DX treiber nicht auch?
Demirug
2005-08-10, 12:06:42
Aber kann das ein Fehler im DX treiber nicht auch?
Doch aber hast du dir schonmal den aktuellen WHQL Test angeschaut? Die D3D Treiber werden da schon sehr heftig geprüft. Mit Vista soll das noch extremer werden. Für OpenGL gibt es dagegen defakto keine Tests. Sonst hätte Intel wohl auch bis heute keine WHQL Treiber.
marco42
2005-08-10, 12:14:34
Doch aber hast du dir schonmal den aktuellen WHQL Test angeschaut? Die D3D Treiber werden da schon sehr heftig geprüft. Mit Vista soll das noch extremer werden. Für OpenGL gibt es dagegen defakto keine Tests. Sonst hätte Intel wohl auch bis heute keine WHQL Treiber.
Sorry, ich habe noch nie Windows wirklich benutzt. Komme mehr aus der Unix(IRIX)-Ecke. Ok, aber wieso kann OpenGL nicht in einen Renderbuffer schreiben und das wird dann ausgelesen, instabiler als frueher kann das auch nicht sein. Ich frage mich sowieso, warum sich die "kleinen" IHVs nicht zusammentun und einen gemeinsamen Treiber entwickeln, oder es an eine Fremdfirma outsourcen.
Demirug
2005-08-10, 12:27:53
Sorry, ich habe noch nie Windows wirklich benutzt. Komme mehr aus der Unix(IRIX)-Ecke. Ok, aber wieso kann OpenGL nicht in einen Renderbuffer schreiben und das wird dann ausgelesen, instabiler als frueher kann das auch nicht sein. Ich frage mich sowieso, warum sich die "kleinen" IHVs nicht zusammentun und einen gemeinsamen Treiber entwickeln, oder es an eine Fremdfirma outsourcen.
Das Problem ist weniger das finale Ergebniss auf den Bildschirm zu bekommen. Ich gehe wie geschrieben davon aus das dies eigetlich schon lange funktioniert. Aero kann es nämlich vollkommen egal sein wie der entsprechenden Speicherblock mit Daten gefüllt wurde solange er in als Texture verweden kann.
Aus Qualitätssischerungs Sicht ist der Weg dorthin das Problem. Ist Aero Aktiv haben wir eine 3D Anwendnung die ständig läuft. Kommt nun noch eine zweite 3D Anwendung im Fenster dazu müssen die beiden sich die GPU teilen. Das bedeutet das ständig zwischen mindestens 2 Kontexten hin und her gewechselt werden muss. Würde nun zum Beispiel der OpenGL ICD einen Zustand in der GPU setzten der aber vom D3D Treiber nicht zurückgesetzt wird (weil dieser den entsprechenden Zustand vielleicht nie braucht) würde plötzlich der Desktop fehlerhaft gerendert werden. Diese Gefahr ist natürlich geringer wenn nur ein Treiber auf die Karte einschlägt. Das könnte vorallem lustig werden wenn man D3D Treiber und OpenGL ICD von zwei unterschiedlichen Treiberständen mischt.
Edit: Gerade den kleinen IHV dürfte es gefallen das MS ihnen die Arbeit mit dem OpenGL Teil abnimmt.
marco42
2005-08-10, 13:14:05
Aus Qualitätssischerungs Sicht ist der Weg dorthin das Problem. Ist Aero Aktiv haben wir eine 3D Anwendnung die ständig läuft. Kommt nun noch eine zweite 3D Anwendung im Fenster dazu müssen die beiden sich die GPU teilen. Das bedeutet das ständig zwischen mindestens 2 Kontexten hin und her gewechselt werden muss. Würde nun zum Beispiel der OpenGL ICD einen Zustand in der GPU setzten der aber vom D3D Treiber nicht zurückgesetzt wird (weil dieser den entsprechenden Zustand vielleicht nie braucht) würde plötzlich der Desktop fehlerhaft gerendert werden. Diese Gefahr ist natürlich geringer wenn nur ein Treiber auf die Karte einschlägt. Das könnte vorallem lustig werden wenn man D3D Treiber und OpenGL ICD von zwei unterschiedlichen Treiberständen mischt.
Edit: Gerade den kleinen IHV dürfte es gefallen das MS ihnen die Arbeit mit dem OpenGL Teil abnimmt.
Hmm, aber das Problem ließe sich doch lösen. Man müsste ja nur einen Metascheduler implementieren, der sich um beide kümmert.
Zu deiner letzten Aussage kann ich nur sagen, dass ich in OpenGL 1.4 keinen Sinn sehe, wenn da nicht ein paar wirklich wichtige Extensions eingebaut werden. Gerade in den letzten zwei Jahren hat sich bei OpenGL extrem viel getan. Ich frage mich, wofür das gut ist. Also moderne Spiele wollen mehr, Bildschirmschoner vielleicht. Viele Anwendungen benutzen spezielle Dinge, von denen ich mir nicht so sicher bin, ob die auch in D3D vorhanden sind. Es gibt AFAIK leider keinen wirklichen Konformancetest für OpenGL mehr, aber um es OpenGL nennen zu dürfen, müssen sie auch die Spec erfüllen und nicht nur Quake drauf laufen lassen. :-)
Demirug
2005-08-10, 13:25:48
Hmm, aber das Problem liesse sich doch loesen. Man muesste ja nur einen Metascheduler implementieren, der sich um beide kuemmert.
Einen Scheduler für die Commandobuffer gibt es ja. Dem Treiber aber die Kontrolle über den internen Kartzustand zu entreisen ist aus Performancesgründen sehr problematisch. Vorallem müssten die IHVs dafür viele Informationen offenlegen was sie sicherlich nicht tun wollen.
Zu deiner letzten Aussage kann ich nur sagen, dass ich in OpenGL 1.4 keinen Sinn sehe, wenn da nicht ein paar wirklich wichtige Extensions eingebaut werden. Gerade in den letzten zwei Jahren hat sich bei OpenGL extem viel getan. Ich frage mich, wofuer das gut ist. Also moderne Spiele wollen mehr, Bildschirmschoner vielleicht. Viele Anwendungen benutzen spezielle Dinge, von denen ich mir nicht so sicher bin, ob die auch in D3D vorhanden sind. Es gibt AFAIK leider keinen wirklichen Konformancetest fuer OpenGL mehr, aber um es OpenGL nennen zu duerfen, muessen sie auch die Spec erfuellen und nicht nur Quake drauf laufen lassen. :-)
Natürlich ist 1.4 etwas schwach. Soweit ich es jedoch verstanden habe ist das die Basis. Das hängt wohl damit Zusammen das es sich gut mit dem absoluten minimum deckt was eine Grafikkarte können muss um überhaupt Vista würdig zu sein. Jetzt mal noch ohne AERO und so. Soweit ioch es nun verstanden habe will MS das ganze dann noch um Extensions erweitern die Abhängig davon was die Karte kann angeboten werden.
Es kann aber durchaus sein das bei den Gesprächen die jetzt wohl zu diesem Punkt statfinden noch etwas ganz anderes heraus kommt. Das ganze ist eine Beta 1 Situation. Aus diesem Grund gibt es ja Betas.
Um das OpenGL Logo verwenden zu dürfen muss man sich den Treiber zertifizieren lassen. Ich weiß allerdings nicht wie streng da geprüft wird.
marco42
2005-08-10, 13:45:05
Um das OpenGL Logo verwenden zu dürfen muss man sich den Treiber zertifizieren lassen. Ich weiß allerdings nicht wie streng da geprüft wird.
AFAIK wird da gerade mal OpenGL 1.1 getestet. Die eigentlichen Test bestehen da doch eher in Quake/Doom, Maya/Soft Image und Co..
Doch aber hast du dir schonmal den aktuellen WHQL Test angeschaut?Ist das für einen "Normalsterblichen" überhaupt möglich?
Demirug
2005-08-10, 14:39:06
Ist das für einen "Normalsterblichen" überhaupt möglich?
Ja, den Test kann man sich bei MS laden.
Darf man fragen wo? Ich finde nix.
Chris Lux
2005-08-10, 16:52:23
ich hab nochmal gesucht, da ich mir sicher war letztes jahr was zu dem thema gehört zu haben. dabei habe ich folgende folien direkt von MS gefunden:
- Windows "Longhorn" Display Driver Model – Details And Requirements (http://download.microsoft.com/download/1/8/f/18f8cee2-0b64-41f2-893d-a6f2295b40c8/DW04018_WINHEC2004.ppt)
- Windows Graphics Foundation (http://download.microsoft.com/download/1/8/f/18f8cee2-0b64-41f2-893d-a6f2295b40c8/TW04079_WINHEC2004.ppt)
darin sind nochmal vergleiche der OpenGL anbindung unter xp und longhorn aufgezeigt. ausdrücklich heisst es in der zweiten dazu (seite 5):
Installable Client Drivers (ICDs) continue to work
New ICDs for Longhorn Display Driver Model (LDDM)
Old (XP) ICDs will work No new Windows Longhorn desktop features
gibt es aktuelle folien zu diesem thema, aus welchen man trends für diese problematik rauslesen kann?
Demirug
2005-08-10, 17:02:12
Darf man fragen wo? Ich finde nix.
Das ist irgendwo bei der Treiberentwicklung. Ziemlich tief deswegen habe ich den Link nicht da.
Jetzt mal im Ernst, Direct3D ist die Spiele-API, OpenGL wird für ernsthafte Apps verwendet. An meiner Uni wird fast ausschließlich OpenGL gelehrt, und ich finds auch wesentlich angenehmer zu programmieren. Noch dazu erleichtert man spätere Plattformwechsel (ok, nicht grad in MS' Interesse).Ja und damit dies nicht so bleibt, unternimmt Micros~1 etwas dagegen. Wo kommen sie denn sonst hin, wenn jeder seine Anwendungen einfach so noch auf anderen Systemen als Windows anbietet...
Der Kampf gegen OpenGL hat seit Windows95 einen festen Platz auf deren Planungstafel. Zuerst wurde der OpenGL Mini-Client Driver für Win98 gestoppt, dann haben sie 2002 als Mitglied des OpenGL Architecture Review Boards Patentrechte gegen Erweiterungen von OpenGL geltend gemacht, und sind zuletzt 2003 ganz ausgetreten. OpenGL in der nächsten Windowsversion zu verkrüppeln ist nur der nächste logische Schritt, und es würde mich nicht wundern bei der übernächsten Version dann überhaupt keine Unterstützung für OpenGL mehr zu finden wäre.
Plattformunabhängigkeit wurde bei Micros~1 ja seit jeher groß geschrieben, leider aber nur wenn es um die Verhinderung dessen ging.
Stebs
2005-08-14, 03:21:48
Ich kann mir trotz allem irgendwie nicht vorstellen dass es Microsoft ernsthaft gelingt die ICDs der IHVs unter Aero zu "verbieten". Sogar Microsoft kann doch nicht sämtlichen Leuten die unter Vista mit OpenGL arbeiten müssen oder wollen (also gerade die professionelle und gut zahlende Klientel) die Aero Oberfläche vorenthalten. Technisch ja anscheinend machbar und wohl eher ein Sturm im Wasserglas.
-Aber wie sieht es dann mit der Performance aus wenn man außerhalb des fensters mit DirectX rendert und im Fenster mit OpenGL?
Microsoft könnte mit dieser Taktik vielleicht darauf aus sein, als Kompromiss den IHVs eine Art WHQL für OpenGL ICDs vorzuschreiben und so eine gewisse Kontrolle auch über OpenGL zu bekommen?
Die ganze Problematik betrifft übrigens doch nicht nur Leute die mit 3D Programmen arbeiten: Der Grafikrenderer von Firefox 2.0 wird auf Cairo basieren und per OpenGL beschleunigt werden...
Schon demnächst (1-2 Monate) wird man wohl erste (natürlich noch experimentelle) Firefox Kompilate bewundern können die auf Cairo basieren, jetzt da der "Branch" an diesem Wochenende endlich vollzogen wurde. D.h. die Entwicklung für Fx 1.5 läuft ab nun separat zu der Fx 2.0 Entwicklung die nun wieder etwas "gewagter" vorangetrieben werden kann.
Aqualon
2005-08-15, 13:44:44
Darf man fragen wo? Ich finde nix.
http://www.microsoft.com/whdc/whql/default.mspx
Unter Downloads gibt es einiges, wobei ich aber auch nicht genau weiss, was man davon fuer einen WHQL-Test benoetigt.
Aqua
vBulletin®, Copyright ©2000-2024, Jelsoft Enterprises Ltd.