Rukola schrieb:
Bis jetzt hat SM3.0 in Spielen aber noch keine Performanceverbesserung gebracht oder?
Das kann man nicht so einfach sagen.
Die größte Einschränkung von SM2.0 ist die Shader-Länge. SM2.x Profil 2_B erlaubt ja schon deutlich längere Shader. Damit kann man mehrere Shader zusammenfassen, das entlastet die CPU und spart Bandbreite auf der Grafikkarte (da das Zwischenspeichern der bis dahin berechneten Pixelfarbe entfällt.) In Far Cry bringt Profil 2_B denn auch einen Performance-Gewinn. Dieser wäre mit SM3.0 ebenfalls möglich, da SM3 das
komplette SM2.x, mit allen Caps auf den Maximalwert gesetzt, einschließt (mit Ausnahme der unterstützten Texturformate im Vertexshader.)
Insofern bringt auch SM3 eine Performanceverbesserung gegenüber SM2.0, nur reichen eben oft auch 2.x-Profile.
Bei SM3-Nutzung berechnet Far Cry die Entfernung zur Lichtquelle pro Pixel aus (und nicht nur pro Eckpunkt des Dreiecks) was genauer ist, als die pro Eckpunkt berechnete Entfernung über das Dreieck zu interpolieren (für solche Sachen ist übrigens der erwähnte Interpolator da, von denen SM3 10 Stück bietet, SM2 nur 8.) Hier wird also etwas höhere Grafikqualität mit SM3 geboten, ohne dass eine mit SM3 neu eingeführte Instruktion genutzt wurde. Da man unter "Performance" imo nicht nur Geschwindigkeit, sondern auch Qualität verstehen sollte, könnte man sagen dass SM3 hier die Performance verbessert hätte – nur ist SM3 für diesen Effekt prinzipiell nicht unbedingt notwendig.
Inwieweit Spiele derzeit von SM3 profitieren ist also eine ganz andere Fragestellung als inwieweit Spiele von SM3 denn profitieren könnten.
//Edit
azdr schrieb:
doch wenn du alle zustätzlichen effekte abschaltest wie HDR, tonemapping soft shadows etc.. , dann hast du schon einen gewissen performance Vorteil gegen über der shader 2.0 version.
Kein echtes HDR-Rendering ohne Tonemapping. "HDR" sollte man so für sich genommen nicht sagen, aus zwei Gründen:
- Es gibt auch HDR-Imaging und andere HDR-Sachen, gemeint ist hier aber HDR-Rendering.
- Intern rechnet jede DX9-Karte in HDR-Genauigkeit, insofern kann jede DX9-Karte auch "HDR". Das alleine reicht aber noch nicht für performantes HDR-
Rendering.
HDR-Rendering erzeugt zunächst auch ein HDR-Target, was ein Monitor nicht darstellen kann. Tonemapping macht daraus ein LDR-Target. Ein guter Monitor hat ein Kontrastverhältnis von ca. 1:1000, also 3 dB. Das FP16-Format bietet selbst in einer einfach implementierten Variante schon 9,3 dB (ca. 1:2.100.000.000) und ein bestmöglich implementiertes FP16-Format sogar 12,3 dB.
Es ist, siehe auch vorherigen Post, kein Problem mit SM3 schneller zu sein als mit SM2.0. Aber mit SM2.x reicht oft schon aus – gleich SM3 zu nehmen ist nicht immer notwendig. Natürlich klingt es fortschrittlich, wenn ein Spiel mit Support von SM3 wirbt.
//Edit by Green Mamba
Immer wieder schön Texte von dir zu lesen.
Aber bitte keine Mehrfachposts. 