PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : OpenGL 16-Biot-Bug


Colin MacLaren
2003-09-13, 16:34:02
Hi Leutz, warum hab ich in OpenGL immer nur 16-Bit auf miener Radeon 9800 Pro (Omega Cat. 3.7)? Ich habe alle relevanten Einstellungen wie Desktop, ingame und Force 16-Bit Textures auf 32 bit gesetzt, trotzdem laufen die OGL-Titel nur in häßlichen 16 Bit?

Kriegt es Ati irgendwann einmal hin, vernünftige, unverbugte OGL-Treiber zu programmieren? :(

Gast
2003-09-13, 16:35:29
ist ein fehler des treibers ab version 3.6
Wird behoben mit dem kommenden catalyst 3.8

zeckensack
2003-09-13, 17:45:27
Ist kein Fehler. Ist nur 'anders'.
Dazu muß ich jetzt etwas ausholen:
OpenGL-Applikationen können für Texturen 'generic formats' und 'sized formats' benutzen.
Ein Beispiel für ersteres ist GL_RGB. Der Treiber hat hier völlig freie Hand bzgl Komponentenauflösung. ATI setzt hier seit Cat 3.6 16 bit-Texturen, und nicht mehr wie früher (oder bei der Konkurrenz) die Desktop-Farbtiefe.

Ein Beispiel für zweiteres ist GL_RGB8, was speziell 8 Bit pro Farbkanal anfordert. Das funktioniert auch noch!

Ich hatte selbst unter diesem Prob zu leiden, aber es war definitiv mein Fehler. Wenn eine App 32 bit-Texturen will, dann kann sie das dem Treiber auch mitteilen. Hier von Bugs zu sprechen, ist Quatsch. Das ist genausogut über einen minimalen Patch des Spiels lösbar.

Exxtreme
2003-09-13, 17:47:23
Original geschrieben von zeckensack
Ist kein Fehler. Ist nur 'anders'.
Dazu muß ich jetzt etwas ausholen:
OpenGL-Applikationen können für Texturen 'generic formats' und 'sized formats' benutzen.
Ein Beispiel für ersteres ist GL_RGB. Der Treiber hat hier völlig freie Hand bzgl Komponentenauflösung. ATI setzt hier seit Cat 3.6 16 bit-Texturen, und nicht mehr wie früher (oder bei der Konkurrenz) die Desktop-Farbtiefe.

Ein Beispiel für zweiteres ist GL_RGB8, was speziell 8 Bit pro Farbkanal anfordert. Das funktioniert auch noch!

Ich hatte selbst unter diesem Prob zu leiden, aber es war definitiv mein Fehler. Wenn eine App 32 bit-Texturen will, dann kann sie das dem Treiber auch mitteilen. Hier von Bugs zu sprechen, ist Quatsch. Das ist genausogut über einen minimalen Patch des Spiels lösbar.
D.H. also im Klartext:

16-Bit ausser die Applikation fordert 32-Bit, oder?

ow
2003-09-13, 17:53:12
Original geschrieben von Exxtreme
D.H. also im Klartext:

16-Bit ausser die Applikation fordert 32-Bit, oder?


Stellt das nicht einige ATi-Benchmarks unter OGL jetzt in Frage?

Crushinator
2003-09-13, 18:11:36
Original geschrieben von ow
Stellt das nicht einige ATi-Benchmarks unter OGL jetzt in Frage? Hmmmm....Welche denn? bzw. welche Benchmarks erzählen dem Treiber nicht, daß sie 32 Bits haben wollen?

Exxtreme
2003-09-13, 18:39:39
Original geschrieben von ow
Stellt das nicht einige ATi-Benchmarks unter OGL jetzt in Frage?
Hmm, da könntest du recht haben.

Ja, diese Philosophie von ATi gefällt mir auch nicht so richtig. Wenn die Programmierer einer Applikation etwas nicht definieren, dann nimmt der Treiber meist die schnellere und nicht die schönere Variante.

kmf
2003-09-13, 19:07:57
Lösung: Wenn man dieses File atioglxx.dl_ vom 3,5 cat nimmt, hat man damit kein Problem mehr. File vom 3.7 umbenennen, 3,5 Version reinkopieren, Treiber neu installieren. Bei Hinweis während der Installation, daß bereits neuere Datei vorhanden ist, diese trotzdem überschreiben.

Exxtreme
2003-09-13, 19:10:15
Original geschrieben von kmf
Lösung: Wenn man dieses File atioglxx.dl_ vom 3,5 cat nimmt, hat man damit kein Problem mehr. File vom 3.7 umbenennen, 3,5 Version reinkopieren, Treiber neu installieren. Bei Hinweis während der Installation, daß bereits neuere Datei vorhanden ist, diese trotzdem überschreiben.
Da brauchst du gar nichts neu installieren. Einfach den älteren Treiber unterschieben und schon passt's. :)

ow
2003-09-13, 19:21:45
Original geschrieben von crushinator
Hmmmm....Welche denn? bzw. welche Benchmarks erzählen dem Treiber nicht, daß sie 32 Bits haben wollen?


Alle, die 'Default' als Texturfarbtiefe kennen, zB. alles mit Q3 Engine.

ow
2003-09-13, 19:26:06
Original geschrieben von Exxtreme
Hmm, da könntest du recht haben.

Ja, diese Philosophie von ATi gefällt mir auch nicht so richtig. Wenn die Programmierer einer Applikation etwas nicht definieren, dann nimmt der Treiber meist die schnellere und nicht die schönere Variante.


Geht mir bei NV aber auch auf den Sack.

Dort gibt´s per Default nur einen 16Bit Z-Buffer bei 32Bit FB, wenn die Applikation keinen 24Bit Z anfordert.
Bei manchen Games ist´s visuell ja egal, aber im Moment spiele ich etwas SeSam-TSE und da gibt´s grauenhafte Z-Fehler bei nur 16Bit Genauigkeit.
S.a. hier: http://www.forum-3dcenter.de/vbulletin/showthread.php?s=&threadid=93732

Colin MacLaren
2003-09-13, 19:26:24
Ich hage aber z.B. in Enemy Territory und Quake explizit 32Bit-Texturen eingestellt, trotzdem ist alles noch in 16Bit.

ow
2003-09-13, 19:29:27
Original geschrieben von Colin MacLaren
Ich hage aber z.B. in Enemy Territory und Quake explizit 32Bit-Texturen eingestellt, trotzdem ist alles noch in 16Bit.


Das darf eigentlich nicht sein. Ist schon seltsam.

btw. kann ich mich nicht erinnern, dass dieser Fehler des Cat3.7 auf meiner R8500 auch auftritt. Ich meine, dort ist alles ok (müsst ich aber nochmal überprüfen, meine Erinnerung hat mich kürzlich schon einmal getäuscht:D).

Indiana
2003-09-13, 22:47:17
Das ist schon als Bug zu bezeichnen, weil es eben auch dann auftritt, wenn im Spiel ausdrücklich 32Bit angewählt wurde. Der "Bug" ist ja auch von ATIs Terry Makedon bestätigt worden und wird mit dem Catalyst 3.8 gefixt.

Original geschrieben von ow
Stellt das nicht einige ATi-Benchmarks unter OGL jetzt in Frage?

Nein, da die Leistung unter OGL seit dem Catalyst 3.0 nicht zu- sondern eher abgenommen hat. Insbesondere gab es keinen relevanten Speedzuwachs unter OGL im Treibervergleich Cat3.5 (letzter Catalyst ohne Bug -> 32Bit Texturen) und 3.6 (erster Catalyst mit Bug -> 16Bit Texturen).

Gil-galad
2003-09-13, 23:31:19
Original geschrieben von ow
Stellt das nicht einige ATi-Benchmarks unter OGL jetzt in Frage?

Dies könnte zumindest meine Ergebnisse bei Serious Sam 2 und MDK 2 (obwohl bei MDK 2 der Cat 3.5 fast gleich schnell ist) in Frage stellen. Bei RTCW und Quake 3 würde ich aber von der Korrektheit ausgehen. Dort ist der 3.6er und 3.7er kaum schneller als die anderen und außerdem wurde dort überall 32 bit eingestellt. Bei Serious Sam 2 und MDK 2 wurde auch auf 32 bit umgestellt (aber man weiss ja nie). Mal schauen was der Catalyst 3.8 sagt.