mibbio schrieb:
SLI (Scan Line Interleave) bei 3dfx war halt auch eine andere Technik als SLI (Scalable Link Interface) von Nvidia.
Ja und Nein zur gleichen Zeit. Es ist "kompliziert".
3dfx SLI basiert darauf, dass der Treiber das Bild in die geraden und ungerade Zeilen teilt und GPU-1 die Gerade und GPU 2 die ungeraden Zeilen berechnet. In dem Fall ist SLI eine Technik, die man unter dem Begriff Splitted Frame Rendering zusammenfassen kann. SLI bezeichnete also einmal eine Technik in SFR und dann einmal auch die Technik zur Kommunikation von zwei GPUs.
mibbio schrieb:
Bei 3dfx dürfte es auch stärker in die Architektur der Grafikchips und die Glide-API integriert gewesen sein, mit entsprechender Optimierung.
In dem Fall war es bei 3dfx auf Treiberebene und war auch in DX6 möglich, also nicht explizit auf Glide beschränkt.
Zu der damaligen Zeit war es auch weit einfacher, die Berechnungen zwischen mehrere GPUs aufzuteilen, weil die GPUs weitgehend noch Fixed-Function-Units waren. Das hatte ich auch gerade grob beschrieben.
mibbio schrieb:
Besonders da SLI für 3dfx in den späteren Voodoo-Generationen essentiell war, um mehrere Grafikchips auf einer Karte zu koppeln.
Und ist einer der Gründe, warum Voodoo 4 und Voodoo 5 eigentlich nur DX6-Grafikkarten waren und keine DX7. Bei Voodoo 1 - 5 hat die CPU die Geometrie- und Beleuchtungsrechnung durchgführt, die GPU hat dann nur die fertigen Polygone gerastert, die Textur darauf geklebt und dann mit bestehenden Shadow- und Lightmaps verrechnet.
Mit DX7 kamen dann die ersten "dynamischen" Geometrie (Transform) und Lichtberechnungen hinzu, DX7 "kompatiblität" bei 3dfx-Karten wurde dadurch erreicht, dass man diese Berechnungen auf die CPU ausgelagert hat.
Die CPU/Treiber hat bei DX6 und DX7 soweit alles berechnte, dass nur noch das fertige Bild, das gerastert werden muss, auf den GPUs aufgeteilt wurde.
Bei DX 8 mit den nun flexiblen Vertex- und Pixelshadern wäre das ursprüngliche SLI vollendens an die Grenzen geraten und hätte nicht mehr funktioniert.
Entsprechend hatte 3dfx für ihre erste DX8-Karte eine "Multi-Chip-GPU" in Entwicklung: Sage als Geometrie-Prozessor, der die T&L-Einheiten nach DX7 sowie die Vertex-Shader und ein Teil der Pixel-Shader enthalten hätte, während dann der Rampage-Chip die ROPs, TMU und Pixel-Shader nach DX8 enthälten hätte.
Sage hätte dann das Bild soweit berechnete, dass dann die Rampage mit den ROPs, TMU und den Pixel-Shadern hätten übernehmen können. 3dfx hätte jedoch spätesten bei DX9 und DX10 wieder Probleme mit dem ursprünglichen SLI bekommen, weil sich die stare Pipeline mit DX9 und DX10 final quasi in Luft aufgelöst hat.
3dfx SLI funktionierte so gut, weil es nur einen kleinen Teil der damligen Pipeline ausgemacht hat und quasi nur 3 Berechnungen am Ende vor der Bildausgabe hatte:
Das Polygon für den Pixel bestimmen, die Texel für den Pixel bestimmten und dann mit dem Lichtwert verrechnen.