PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : if 3dfx&rampage=launch then PS&VS1.0=DX8-Standard?


MadManniMan
2003-02-19, 23:56:02
...klingt kompiliziert und meint folgendes...

wir hatten mit dem radeon 256(klingt eleganter als 'ur-radeon') einen dx7-chip, der verdammt nah an dx8 vorbeigeschrammt ist und damit quasi die technik-krone der dx7-karten inne hat. irgendwelche vorteile hat ihm das nie gebracht, die 3 TMUs als wirkliche weitere differenz zu den andern dx7 chips waren das einzige, was erkenntlich vorteile ergab, aber die feature-vorteile(zB was als matrix-skinning angepriesen wurde... VS 1.0) wurden nie erkenntlich.

wir hatten mit dem R2*0 einen PS 1.4 chip. dessen nähe zum PS 2.0 hat ihm bisher keine erkenntlichen vorteile gebracht(kein dx8-feature spiel scheint auch nur irgendwann PS 1.4 anpreisen zu werden). die PS 1.3 des gf4(die ich immernoch stark anzweifle, denn auch meine gf3 schafft z-korrektes bumpmapping) haben wohl auch keine wirkliche auswirkung auf die spieleszene. im endeffekt hat sich der PS/VS 1.1 als standard etabliert.

die PS/VS 2.0+ des NV30 werden bei den verdammt großen möglichkeiten der 2.0 ohne + wohl auch nur in techdemos genutzt werden.


---


wenn man sich nun diese 3 szenarien vor augen führt, erkannt man: wer die 'niederste basis' einer 'DX-Stufe' bietet, wird auch die basis für die kommenden spiele stellen...

...hätte nun 3dfx den rampage - der ja mit den PS 1.0 und den VS 1.0 noch unter den der NV2* angesetzt war - noch rausgebracht... wären dann deren PS und VS die basis für DX8 geworden?

was meint ihr? ...zumal die unterschiede bei 1.0 ... 1.3 IIRC ja recht marginal sind

Ailuros
2003-02-20, 02:17:59
PS1.0/VS1.1 um genauer zu sein. Damals sah es eher so aus:

PS/VS1.0= dx8.0
=/> PS/VS1.1= dx8.1

Spectre "verlor" PS1.1 weil ihm address ops fehlten, aber sie hatten ein paar gute "workarounds" dafuer. Rampage war ein RISC chip und daher war es auch nicht zu schwer Gigapixel's Hydra chip damit zu verschmelzen, der irgendwo Ende 2001 erschienen waere mit PS/VS1.1 (projected tapeout March 01').

Spectre haette 8 Texturen/pass unterstuetzt und bis zu 13bit pro Farbkanal (0-16.0 colour luminosity range); was sie damit machen konnten mit fehlenden address ops im PS, hab ich wirklich keine Ahnung.

MadManniMan
2003-02-20, 03:09:53
thx für die infos, VS 1.1 also...

ändert ja nix dran: wäre dann PS 1.0 standard geworden? was meint ihr?
und vor allem: wie wichtig sind die address ops? ...demi?

Demirug
2003-02-20, 07:55:56
AFAIR gab es zwischen PS 1.0 und 1.1 nur zwei unterschiede:

1. Mache Instruktion werden dort bezüglich des Instructioncount unterschiedlich gezählt

2. 1.0 fehlt der "Blue replicate"

Beides im Prinzip nicht so schlimm.

Xmas
2003-02-20, 13:00:05
Es gibt noch weitere Unterschiede was die Read Ports der Register angeht AFAIK. Aber das DX8SDK werd ich jetzt nicht installieren, und in der DX9SDK-Doku ist PS1.0 gar nicht mehr drin.

Demirug
2003-02-20, 13:15:57
Xmas, du hast recht es sind noch ein paar Sachen mehr:

- Instruction Pairing: For pixel shader version 1.0, the destination register for co-issued instruction pairs must be the same.

- Counting Instructions: Arithmetic 8, Texture address 4, Total 8 (ab 1.1 sind es 12)

- For version 1.0 only, the tex instruction does not count toward the total number of instructions, although it does count toward the total number of texture address instructions.

- In version 1.0, texbem counts as two texture address instructions.

- In version 1.0, texbeml counts as two texture address instructions plus one arithmetic instruction

- Texture registers: For pixel shader version 1.0, texture registers are read-only to arithmetic instructions. (1.1-1.3 können sie auch beschreiben)

- Read Port Limit: Texture register 1, Color register 1

MadManniMan
2003-02-20, 13:42:01
thx, jungens... nur eines:

könntet ihr nem-proggi-n00b kurz anreißen, was die punkte ... nunja, heißen? :eyes:

Ailuros
2003-02-20, 14:08:35
Originally posted by MadManniMan
thx für die infos, VS 1.1 also...

ändert ja nix dran: wäre dann PS 1.0 standard geworden? was meint ihr?
und vor allem: wie wichtig sind die address ops? ...demi?

Die Frage ist eher was sie fuer "workarounds" dafuer hatten und wie effektiv sie waren.

Nichtsdestominder 3dfx erwartete nicht allzu hohe Verkaufszahlen mit Spectre, sondern eher mit Fear (siehe Ende 2001 mit PS1.1 zumindest und pre-sampled displacement mapping).

Nachdem kam dann der Kreidetafel Design fuer Mojo (2002), wobei der wesentlichste Unterschied war dass der Geometrie Prozessor integriert war und in die dx9 Richtung ging.

Demi oder Xmas koennen sicher Deine theoretische Fragen beantworten; was ich darueber denke ist dass R200 mit PS1.4 Leistung aufpumpen kann in manchen Situationen um fuer fehlendes Zculling (siehe gegen NV20/5) "gutzumachen". Fear waere ein TBDR gewesen, wobei man wohl kein Zculling braucht in diesem Sinn.

Spectre hatte nicht allzu hohe Effizienz im Vergleich zu NV20/5, nur die teuren dual chip boards. Da Fear ein Tiler gewesen waere, war nur single chip geplant, wobei es wie immer die natuerlichen Vor- und Nachteile eines display list renderers gibt.

Gigapixel arbeitete soweit ich mich noch erinnern kann ausschliesslich mit Multisampling AA. Eine weiteres Fragezeichen verbleibt was 3dfx mit "adaptive Aniso" meinte; wenn der Algorithmus schnell genug war, sieht es eher so aus als ob zumindest theoretisch Fear umso einiges schneller gewesen waere als R200.

15um
128bit bus
4*1
250-300MHz
250-300MHz DDR
SageII= 250M vertices/sec maximum/125M vertices/s sustained ***
Multisampling AA
up to 128-tap adaptive anisotropic filtering usw usw.

***(hoechstwahrscheinlich mit "eigenem" ram und Hierarchy GP Patente)

Demirug
2003-02-20, 14:09:59
MadManniMan.

- Instruction Pairing: For pixel shader version 1.0, the destination register for co-issued instruction pairs must be the same.

In den 1.x Pixelshader kann man parralel eine Farb (RGB) und eine Alpha Operation (A) ausführen (Instruction Pairing). Die Register (Speicherzellen) in den Pixelshader speichern aber immer Farbe und Alpha zusammen (RGBA). Nutzt man dieses Feature musste man bei den PS 1.0 das Farb und das Alpha Ergebniss in das gleiche Register speichern. Bei den grösseren Shader kann man den Farb und den Alpha wert in unterschiedliche Register speichern.

- Counting Instructions: Arithmetic 8, Texture address 4, Total 8 (ab 1.1 sind es 12)

- For version 1.0 only, the tex instruction does not count toward the total number of instructions, although it does count toward the total number of texture address instructions.

- In version 1.0, texbem counts as two texture address instructions.

- In version 1.0, texbeml counts as two texture address instructions plus one arithmetic instruction

Ein Pixelshader kann eine bestimmte Maximallänge haben. Bei den 1.0 Shader waren das 8 Instruktionen wobei davon maximal 4 Instruktionen einen Texturewert samplen konnten (Texture address). Für bestimmte Texture anweisungen gab es aber besonderheiten. Die einfache tex instruktion zählte nur bei den Texturanweisungen mit. Dadurch konnte man dann auf maximal 12 Instruktionen kommen 4tex+8Arithmetic. (PS 1.1 - 1.3 haben immer 12 Instruktionen als maximum 4*texture+8*Arithmetic). Bei der benutzung von texbem musste man 2 Texture und zwei zu der Gesamtzahl hinzufügen. texbeml kostet 2 texture, 1 Arithmetic und 3 von der Gesamtzahl. tex, texbem und texbeml sind Pixelshader anweisungen mit denen man die TMU steuert.

- Texture registers: For pixel shader version 1.0, texture registers are read-only to arithmetic instructions. (1.1-1.3 können sie auch beschreiben)

Ein Register ist eine Speicherzelle zum zwischenspeichern von Werten. Die PS 1.0 können in den Shadern nur die Temp-Register zum anlegen von Ergebnissen aus Arithmetic funktionen benutzten die PS 1.1-1.3 können dafür auch die texture register verwenden.

- Read Port Limit: Texture register 1, Color register 1

Das Read port Limit gibt an wie viele Register von einem Type (Temp, Color, Texture, Constant) man pro Instruktion verwenden kann. Da der PS 1.0 nur ein Texture register pro Instruktion erlaubt ist es zum Beispiel nicht möglich zwei Texturewerte in einer Anweisung direkt zu verrechnen. Man muss erst einen der beiden Texturewerte in ein Temp-Register umkopieren und dann mit einer zweiten Instruktion dieses Temp-Register mit dem anderen Textureregister verrechnen. Bei den PS > 1.0 (ausser 1.4) kommt man mit einer Instruktion aus weil das Read Port Limit für die Texture Register dort höher ist.

Ich hoffe es war einigermassen verständlich. :)

aths
2003-03-03, 08:00:36
Originally posted by Ailuros
und bis zu 13bit pro Farbkanal (0-16.0 colour luminosity range); was sie damit machen konnten mit fehlenden address ops im PS, hab ich wirklich keine Ahnung. 13 Bit: Overbright Lighting.

RyoHazuki
2003-03-04, 00:41:07
ich weiss nur eins, wenn rampage rausgekommen wäre, hätte 3DFX alle spieleentwickler zurückgewonnen !!!

Da bin ich mir so sicher, wie das mein name ........... ist !;D

MadManniMan
2003-03-04, 00:43:03
Originally posted by Demirug

(...) theoriekrams (...)



soweit eine sehr schöne erklärung, danke demi :)

Ailuros
2003-03-04, 11:06:47
Originally posted by aths
13 Bit: Overbright Lighting.

Natuerlich ist 52bit internal= overbright, aber was ich sagen wollte ist ob das Resultat mit dx8 shadern wirklich der Rede wert gewesen waere.

Wenn Spiele mit 8-layer MT auf den Markt kommen werden, dann sollte es wohl besser sein theoretisch als nur 8bit/RGBA (trotzdem aber nicht so effektive wie FP16), aber da waere zu der Zeit die Karte auch zu schwach gewesen.

Wird es ueberhaupt nennenswerte Spiele mit 8-layer MT geben dieses Jahr, oder sind wir eher gerade auf der ~6-layer MT Schwelle? Im zweiten Fall sind es dann theoretisch von 2001/2002 bis zu 2004, 2 und 3 Jahre danach im Vergleich.