Ob und wie intensiv die verschiedenen Shader in einem
bestimmten Benchmark.Test genutzt werden, hängt immer von dessen
Programmierung ab.
Kann ich dann ,theoretisch gesehen, mit nem neueren Benchmark
evtl. mehr Leistungsschub durch die Vertexshader sehen, wenn
ich diese aktiviere? (was ja leider nicht geht da diese nicht
richtig funktionieren)
Ja, bei neueren Benchmarks sollte auch von Vertexshadern mehr Gebrauch gemacht werden. Beim 3DMark03 (den ich als teilweisen DirectX8-Benchmark da mal schon dazu zähle) gibt es sogar einen expliziten Vertex Shader - Test (da rennt so eine Trollhorde auf Karo-Fußboden umher).
Kann vielleicht jemand aus Erfahrung sagen ob die Vertexshader
auch so leistungsbringend sind wie die Pixelshader?
Wie schon erwähnt, Vertex- und Pixelshader sind hintereinandergeschaltete Stufen bei der Signalverarbeitung in der GPU. Man kann die verschiedenen Recheneinheiten nicht komplett getrennt betrachten und sagen: Pixelshader bringt soviel und Vertexshader bringt soviel. Beide Einheiten können die Leistung der jeweils anderen limitieren. Das hängt von der Grafik-Programmierung ab. Wenn ein Benchmark wenig Berechnungen mit dem Vertexshader durchführt und den Pixelshader stark belastet (denke, das ist bei aktuellen Games eher der Normalfall), sollte es trotz der deaktivierten Vertex-Einheiten einen größeren Leistungszuwachs beim Freischalten der Pixelshader geben. Müssen die Bilddaten aber erstmal alle aufwendig durch den Vertexshader geschleift werden, bevor sie im Pixelshader texturiert werden, könnten fehlende Vertex-Einheiten schon kräftig Leistung kosten.
Um beurteilen zu können, welche Architektureinheit der GPU in einem bestimmten Anwendungsfall wieviel Leistung bringt, müsste man IMHO:
a) genau die Art und Weise der Bilderzeugung durch die Graphics Engine des Benchmarkprogramms kennen (welche Effekte werden wie erzeugt, welche alternativen Renderpfade gibt es etc.?)
b) genau den Aufbau und die Signalverarbeitungsmöglichkeiten in der entsprechenden Grafikkarte kennen, um zu wissen mit welchen Einheiten sie welche Befehle wie effizient abarbeiten würde
c) genau die Programmierung des verwendeten Grafiktreibers kennen und wissen, wie clever er die entsprechenden Befehle auf der entsprechenden Grafikkarten-Architektur umsetzt
Weil wir das alles nicht wissen können, bringen Überlegungen der Art
ob die Vertexshader
auch so leistungsbringend sind wie die Pixelshader?
für uns Laien gar nichts. Entweder du misst mit einem Benchmark große Unterschiede oder nicht und freust dich darüber oder nicht. *g* Im nächsten Benchmark oder einem bestimmten Spiel kann das schon wieder alles ganz anders aussehen!
Es ist prinzipiell schon eine sehr, sehr große Kunst, Benchmarks hinsichtlich ihrer Aussagekraft bezüglich der Leistungsfähigkeit einer bestimmten Grafikkarte differenziert zu bewerten. Es reicht nicht, einfach nur das Gesamtergebnis zu betrachten und zu sagen: Diese karte hat im 3DMark03 mehr Punkte als die andere, also ist sie stärker. Das ist falsch. Der nächste Benchmark misst was anderes und plötzlich ist die langsamere Karte schneller…
LG Jesse