Archiv verlassen und diese Seite im Standarddesign anzeigen : Stencil Buffer / Back Buffer Unterschiede
3dfx Voodoo5 5500
2005-02-10, 01:19:52
Habe hier gerade mal mit meiner Volari V5 Real-Time HDR IBL gestartet.
In der Config habe ich die Auswahl bei Stencil zwischen:
D3DFMT_D16
D3DFMT_D24X8
D3DFMT_D24S8
D3DFMT_D32
Als Vorgabe wurde mir D16 empfohlen.
Wie unterscheiden sich die jeweiligen Stencils, bzw. was ist der Stencil Buffer, hatte diesen ja schon oft als Problemfall bei der Kyro2 gehabt.
Haben die Stencils Leistungsunterschiede, ich kann mir nämlich absolut nicht vorstellen, welchen ich bei der Volari nehmen sollte.
Die Geforce Karten (ab NV35)haben imo ein Problem mit dem 24bit Buffer, von daher muss man dort auf den 32er zurückgreifen.
Die Radeons ab R300 sind allerdings wieder recht flott unterwegs auf 24bit Basis, wobei ja, wie ich hier sehe 2 verschiedene 24bit Stencils existieren.
Die BackBuffer
Zur Auswahl stehen:
D3DFMT_A8R8G8B8
D3DFMT_X8R8G8B8
D3DFMT_R5G6B5
D3DFMT_X1R5G5B5
Bei diesen habe ich keinen blassen Schimmer, was diese bedt. sollen.
Was bewirken diese und welche Unterschiede gibt es zwischen den einzelnen Varianten?
Dankeschön
Habe hier gerade mal mit meiner Volari V5 Real-Time HDR IBL gestartet.
In der Config habe ich die Auswahl bei Stencil zwischen:
D3DFMT_D16
D3DFMT_D24X8
D3DFMT_D24S8
D3DFMT_D32
Als Vorgabe wurde mir D16 empfohlen.
Wie unterscheiden sich die jeweiligen Stencils, bzw. was ist der Stencil Buffer, hatte diesen ja schon oft als Problemfall bei der Kyro2 gehabt.
Der Stencil Buffer ist ein spezieller Puffer für Zähl- oder Maskenoperationen. Bei Kyro ist dieser AFAIK unüblicherweise 4bit, normal sind 8bit.
Die Formate beziehen sich sowohl auf den Depth (Z) Buffer als auch den Stencil Buffer, weil diese beiden häufig zusammen gespeichert werden.
D16 = 16bit Z, kein Stencil
D24X8 = 24bit Z, 8bit "ungenutzt"
D24S8 = 24bit Z, 8bit Stencil
D32 = 32bit Z, kein Stencil
Dass RTHDRIBL Formate ohne Stencil in der Auswahl lässt, bedeutet dass der Stencil Buffer gar nicht benutzt wird. Theoretisch am Besten ist dann D32, obwohl du in RTHDRIBL wahrscheinlich keinen Unterschied sehen wirst. Ich finde es erstaunlich dass Volari D32 unterstützt, das tun die beiden großen IHV nämlich nicht.
Haben die Stencils Leistungsunterschiede, ich kann mir nämlich absolut nicht vorstellen, welchen ich bei der Volari nehmen sollte.
Die Geforce Karten (ab NV35)haben imo ein Problem mit dem 24bit Buffer, von daher muss man dort auf den 32er zurückgreifen.
Die Radeons ab R300 sind allerdings wieder recht flott unterwegs auf 24bit Basis, wobei ja, wie ich hier sehe 2 verschiedene 24bit Stencils existieren.
Ob es Leistungsunterschiede gibt, hängt vom jeweiligen Chip ab. Wenn überhaupt, dann ist D16 geringfügig schneller als die anderen Modi.
GeForce-Karten haben ganz sicher kein Problem mit 24bit Depth Buffer, und 32bit Depth unterstützen weder GeForce-Karten noch aktuelle Radeons.
Die BackBuffer
Zur Auswahl stehen:
D3DFMT_A8R8G8B8
D3DFMT_X8R8G8B8
D3DFMT_R5G6B5
D3DFMT_X1R5G5B5
Bei diesen habe ich keinen blassen Schimmer, was diese bedt. sollen.
Was bewirken diese und welche Unterschiede gibt es zwischen den einzelnen Varianten?
Dankeschön
Die Buchstaben geben an was gespeichert wird, die Zahlen dahinter mit wievielen Bits. A ist Alpha, R Rot, G Grün, B Blau und X sind ungenutzte "Füllbits".
A8R8G8B8 und X8R8G8B8 sind das, was man üblicherweise (und fälschlicherweise) als "32bit Farbe" bezeichnet, ersteres noch mit einem Alpha-Kanal. Kann man wählen, nimm letzteres. R5G6B5 ist 16bit Farbe, X1R5G5B5 15bit Farbe, beides nicht empfehlenswert.
3dfx Voodoo5 5500
2005-02-10, 05:24:02
Der Stencil Buffer ist ein spezieller Puffer für Zähl- oder Maskenoperationen. Bei Kyro ist dieser AFAIK unüblicherweise 4bit, normal sind 8bit.
Die Formate beziehen sich sowohl auf den Depth (Z) Buffer als auch den Stencil Buffer, weil diese beiden häufig zusammen gespeichert werden.
D16 = 16bit Z, kein Stencil
D24X8 = 24bit Z, 8bit "ungenutzt"
D24S8 = 24bit Z, 8bit Stencil
D32 = 32bit Z, kein Stencil
Dass RTHDRIBL Formate ohne Stencil in der Auswahl lässt, bedeutet dass der Stencil Buffer gar nicht benutzt wird. Theoretisch am Besten ist dann D32, obwohl du in RTHDRIBL wahrscheinlich keinen Unterschied sehen wirst. Ich finde es erstaunlich dass Volari D32 unterstützt, das tun die beiden großen IHV nämlich nicht.
Ob es Leistungsunterschiede gibt, hängt vom jeweiligen Chip ab. Wenn überhaupt, dann ist D16 geringfügig schneller als die anderen Modi.
GeForce-Karten haben ganz sicher kein Problem mit 24bit Depth Buffer, und 32bit Depth unterstützen weder GeForce-Karten noch aktuelle Radeons.
Die Buchstaben geben an was gespeichert wird, die Zahlen dahinter mit wievielen Bits. A ist Alpha, R Rot, G Grün, B Blau und X sind ungenutzte "Füllbits".
A8R8G8B8 und X8R8G8B8 sind das, was man üblicherweise (und fälschlicherweise) als "32bit Farbe" bezeichnet, ersteres noch mit einem Alpha-Kanal. Kann man wählen, nimm letzteres. R5G6B5 ist 16bit Farbe, X1R5G5B5 15bit Farbe, beides nicht empfehlenswert.
Dankeschön, durch diese Erklärung wirkt das ganze schon wesentlich transparenter.
Mit der Volari kann ich alles auswählen, was RTHDRIBL anbietet und bei keinem kommt eine Fehlermeldung. Die Framerate ändert sich bei jeder Auswahl nur Minimal, wobei das bei (640x480x32 (X8R8G8B8 wird als Vorgabe genommen)) und ~6fps nicht wirklich viel ausmacht. (schwankt leicht zwischen ~5,5 und ~6,5fps bei stino außer MS=0)
Ist dieser "Techmark" eigentlich rein GPU limitiert, oder kann eine CPU mit wesentlich mehr Takt und Features (SSE 1 &2 usw. (statt meinen aktuell 750MHz Spitfire sogar noch ohne SSE) etas an der FPS Zahl reißen?
Demirug
2005-02-10, 07:11:32
Eine Übersicht über alle DirectX Formate und ihere Verwendung gibt es dort:
http://msdn.microsoft.com/library/en-us/directx9_c/directx/graphics/reference/d3d/enums/d3dformat.asp?frame=true
vBulletin®, Copyright ©2000-2025, Jelsoft Enterprises Ltd.