BoardBricker schrieb:
Aber für das ganze Bild muss man auch die Softwareseite betrachten und dann wäre es etwas unfair, den schwarzen Peter für die steigenden Verbräuche nur bei den Hardwareherstellern abzuladen.
Sieht man sich die aktuelle Entwicklung an, dann liegen die steigenden Energiebedarf aber alleine an den Hardwareherstellern zur Zeit, weil sie über jede Not hinaus mehr Energie in die Schaltkreise jagen, als notwendig wäre.
Die 4090 ist bei 450 W kaum schneller als bei 350 W und selbst bei 300 W verliert sie NUR 10 % an Leistung. Selbst mit 300 W verprügelt die 4090 aktuell alles was auf dem Markt ist. Es geht hier alleine darum, dass man den längsten Balken hat.
Und auch im weiteren Feld ist das mit der Softwareseite so eine Sache, auch wenn DirectX12/Vulkan deutlich nähere Programmierung an der Hardware ermöglicht, es ist immer noch eine Abstraktionschicht, die einiges an Leistung benötigt.
Genauso sind es die zwei unterschiedlichen, jetzt drei unterschiedlichen Architekturen bei den GPUs, die keine wirkliche "Optimierung" zulässt. Ampere und Ada wollen zwei Tasks pro SM am besten mit 64 Werten, GCN wollte 4 Task pro CU mit 64 Werten, RDNA will 2 Taks pro CU mit 32 Werten. Das sind heute Sachen, die an den Treiber ausgelagert werden.
Die Möglichkeiten der Optimierung der Software sind heute wegen den Hochsprachen und den APIs teilweise begrenzt. Das dient der Portierbarkeit der Programme auf verscheidene Hardware.
KitKat::new() schrieb:
Wenn bei der Zielgruppe genug Leistung da ist, warum dann viele Arbeitsstunden in Performanceoptimierungen stecken?
Da Optimierungen heute oft nur noch auf Algorithmen-Ebene möglich ist, erübrigt sich vieles andere auch wegen der Portierbarkeit automatisch. Ein Spiel, dass man auf ein Prozessor oder eine GPU hin optimiert, müsste für jede GPU und jede CPU eigene Programmierpfade enthalten, dass macht man heute nicht mehr.
BoardBricker schrieb:
Tatsächlich wird aber wohl fest damit gerechnet, dass beim Release in x Jahren die Rechenpower y vorhanden ist.
Ja und Nein zur gleichen Zeit. Es kommt immer darauf an, von was für einem Spiel man redet und was die Intention hinter dem Spiel ist. Es gibt Spiele, die sich über die Grafik definieren und die die Maßstäbe verschieben wollen - FarCry, Crysis 1 - die absichtlich versuche heutige Hardware maximal auszureizen mit dem Ziel, die Grafikqualität voran zubringen.
FarCry und Crysis haben damals nur "DX9" verwendet, also die Schnittstelle, die seit 2002, auf den Markt kam, und wollten damit zu dem jeweiligen Zeitpunkt (DirectX9 und DirectX9c) die beste Grafik zaubern, die möglich war. Das führte unweigerlich dazu, dass man natürlich die Rechenleistung der damaligen Karten sprengte.
Es gibt aber auch in diesem Fall das Gegenbeispiel, nämlich die Unreal Engine 3: Diese hatte sich damals das Ziel gesetzt bei bestimmter Hardware die bestmögliche Grafik zubieten. Beide Vorsätze hören sich ähnlich an, sind aber ein entscheidener Unterschied.
1. Bestmögliche Grafik, die technisch möglich ist.
2. Bestmögliche Grafik, die mit betimmter Hardware möglich ist.
jogbert schrieb:
Ich glaube nicht, dass man da mit effizienter Programmierung den Leistungshunger signifikant einschränken könnte.
Ja und Nein. Auch hier ist das beste Beispiel Crysis und Unreal Tournament 3 (UE3). Gerade Spiele mit der Unreal Engine 3 haben damals qualiativ sehr viel auf den Bildschirm gezaubert. Crysis sah besser aus, hat damals aber bei den gängigen Auflösungen jede Hardware überfordert. Selbst die GeForce 8800 Ultra hatte bei 1280 * 1024 durchaus Probleme und in den damals aufkommenden Auflösungen des 16:10 Zeitalters mit 1680 * 1050 war in Crysis oft bei "Hoch" bereits schluss, wenn man über 30 FPS bleiben wollte:
https://www.computerbase.de/2008-04/test-nvidia-geforce-9800-gtx-sli/18/ (Crysis)
https://www.computerbase.de/2008-04/test-nvidia-geforce-9800-gtx-sli/14/ (UnrealTournament 3)
jogbert schrieb:
Allerdings bin ich kein Coder, ich nehme das also nur an.
Kann man und viele Spiele zeigen auch, dass es möglich ist. Das Problem heute sind teilweise wir Spieler, aber auch die Auflösung. Wer heute noch in FullHD spielt, kommt teilweise mit recht schwachen Karten zurecht. Auch WQHD (also 1440p) ist heute relativ normal mit der Hardware. Der Leistungsfresser ist heute 4k und dass hier eben eine gewisse Rechenleistung benötigt wird.
Und ebenso wollen natürlich auch die Entwickler die Grafik weiter bringen, das "RT"-Zeitalter ist, was Echtzeitberechnung angeht, noch am Anfang. Die ersten Gehversuche mit SSAO waren auch höllisch, was die Leistung anging oder die ersten Screenspace-Reflections, bis die Entwickler damit immer besser umgehen konnten und die Algorithmen sich verbessert haben.
Klar, wurden da die Effiziengewinne gleich in bessere Effekte überführt, aber was früher die Grafikkarte hat teilweise massiv einbrechen lassen, kann man heute quasi an lassen, da es kaum mehr Leistung frisst.