Zum 3DCenter Forum
Inhalt




T&L - das nicht eingelöste Versprechen (Nachtrag)

17. September 2001 / von aths / Seite 3 von 3



      Nachtrag - Reaktionen auf den Artikel (Fortsetzung)

Probleme beim Einfügen neuer Objekte

Nun gut, möge man die zusätzlichen Polygone, die mit der Entlastung durch T&L denkbar sind, für zusätzliche Objekte aufwenden. Diese sollen das Bild durch neue (= anders gefärbte) Pixel bereichern, die in der Version mit weniger Objekten nicht sichtbar sind. Angenommen, wir fügen eine Kugel ein:


Ein Modell und die schattierte Version.

Man sieht beim Vergleich mit dem Drahtgitter, dass die Hälfte der Kugel nicht zu sehen ist. Muss trotzdem alles gerendert werden? Zum Glück nicht, mit bestimmten Techniken fliegen die Flächen "hinten" rechtzeitig vor dem Rendern raus. Doch die Kugel wird ja kaum in einen leeren Raum gezeichnet. Jeder ihrer Pixel überdeckt ein bereits vorhandenes Hintergrund-Pixel. Für jedes zusätzliche Pixel, dass zu sehen ist, sind somit insgesamt zwei Pixel zu rendern. Das ist eine Mindestangabe, denn es sind ja zusätzliche Verdeckungen (auch durch die alten Objekte) möglich. Je mehr Objekte zusätzlich ins Spiel kommen, desto grösser wird die Wahrscheinlichkeit, dass sie sich gegenseitig überdecken oder von den bisherigen Objekten verdeckt werden und so die Füllrate immer ineffizienter verpulvert wird.

Das erhöht natürlich auch die Anforderung an die Bandbreite zum Rendern und nicht nur für die Geometrie-Daten. Nun sind die nVidias DirectX7 T&L Vorzeigekarten (GeForce256, GeForce2 GTS, Pro und Ultra, auch MX in allen Variationen) bei 32 Bit leider grundsätzlich bandbreitenlimitiert. Auch in einem synthetischem Benchmark können sie deshalb ihre Füllrate nicht (annähernd) ausspielen. Wenn die CPU nicht limitiert, wird die Framerate bei Einfügen von neuen Objekten entsprechend sinken, Entlastung durch T&L hin oder her. Dieser Einbruch lässt sich dann zwar noch bei 16 Bit und moderaten Auflösungen abwenden. Aber es kann nicht der Sinn von T&L sein, mit 16 Bit zu spielen ...

Eine fps-Steigerung dank T&L kann sich derzeit aber auch bei 32 Bit ergeben. Dies ist immer dann der Fall, wenn das Spiel trotz T&L noch CPU-limitiert bleibt.


Der Hintergrund besteht aus zwei Dreiecken, der Würfel aus 12 Dreiecken (mit 8 zu transformierenden Eckpunkten) kommt hinzu. 6 der Würfel-Dreiecke sind vorderseitig sichtbar und werden gerendert. Dabei wurden Hintergrundpixel entweder übermalt, oder die Hintergrundpixel fielen beim Z-Test durch, aber wurden natürlich trotzdem erstmal gerendert. Für 3,14% neue Pixel musste 6,28% mehr Aufwand betrieben werden. Bei 15% neuen Pixeln ist schon mindestens 30% mehr Renderleistung erforderlich, in der Praxis eher mehr.

Eine sehr kluge Idee wurde mit dem PowerVR3 (Kyro-Chip) endlich praxistauglich umgesetzt. Hier wird der sogenannte dreiecksbasierte Overdraw (also genau der, welcher beim Einfügen neuer Objekte entsteht) eliminiert. Neue Dreicke in die Szenerie zu setzen, führt hier auch bei 32 Bit nicht zum Performance-Einbruch. Ist es nicht wesentlich sinnvoller, diese Entwicklung vor T&L zu setzen? Obwohl im Nachteil, was die puren Hardware-Spezifkationen bezüglich Füllrate, Taktrate und Bandbreite betrifft, gewinnt der Kyro oft gegen eine GeForce2 MX, wenn es um anfordernde Grafikeinstellungen geht, wie z.B. 1280x1028x32. Es ist offensichtlich, dass für die Zukunft - denn diese Einstellung wird zukünftig häufiger verwendet werden als heute - eine Kyro 1 mehr als eine GeForce2 MX bringt, obwohl sie kein T&L hat. Falls die Bemerkung erlaubt ist: Anstatt dem Kyro wie den anderen entsprechenden Karten die "fehlende" T&L-Einheit anzukreiden, welche immerhin per Software emuliert werden kann, hätte man seit dem Kyro allen entsprechenden Karten fehlende Effizienz-steigernde Maßnahmen ankreiden können.

Wie gesagt, pro Dreieck sind maximal drei Vertex-Transformationen zu erledigen. Bekanntlich geht nVidia für die Leistungs-Angabe ihrer T&L-Einheiten von nur einem Eckpunkt pro Dreieck aus, was unrealistisch ist. Aber jeder einzelne Pixel will mit perspektivisch korrekten, gefilterten Texturen versehen werden. Der Schwachpunkt wird über kurz oder lang eher die Renderingleistung der Grafikkarte denn die CPU sein. Von der reinen Rechenleistung her übertreffen selbst ältere 3D-Beschleuniger-Chips mühelos jede der modernsten heutigen PC-CPUs. Ein TNT2-Chip kann dank der Parallelisierbarkeit beim Rendern jeden 2-GHz-P4 locker in die Schranken weisen. Doch Overdraw frisst Leistung, ohne dass der Anwender etwas davon sieht. ImgTec zeigte mit dem Kyro: Vom Overdraw ist zumindest der dreiecksbasierte Anteil (offenbar sogar recht kostengünstig) vermeidbar.

Mit dem Feature "T&L in Hardware" alleine ist es nicht getan und GeForce-Karten bis zur Ultra können (wie alle anderen grossen Karten der gleichen Generation) ihre Power nur mit kostenintensivem Siliziumeinsatz statt Schlauheit erreichen. Mit T&L begann man mit der Weiterentwicklung am falschen Ende, da nicht die Pixel-Pipeline entlastet wurde, welche extreme Rechenarbeit leisten muss, sondern nur die CPU. GeForce-Techdemos lassen sich natürlich viel stärker optimieren, also auf den GeForce zuschneiden, als das Spiele-Entwicklern möglich ist. Denn diese müssen eine weite Palette an Grafikkarten bedienen. Somit kann eine Techdemo nicht die Leistung einer Grafikkarte im Querschnitt moderner Spiele präsentieren. Also darf man über Techdemos staunen, aber nicht die entsprechende Karte deshalb in den Himmel loben. Man darf auch nicht die anderen Karten an dieser einseitigen Optimierung messen - was aber getan wurde und zu ungerechten Bewertungsmaßstäben führte, die teilweise noch heute Verwendung finden.


aths, 17. September 2001. Mehr Texte (nicht nur) von mir auf www.aths.de/attic.



Kommentare, Meinungen, Kritiken können ins Forum geschrieben werden - Registrierung ist nicht notwendig Zurück / Back 3DCenter-Artikel - Index Home

Shortcuts
nach oben