Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder einen alternativen Browser verwenden.
NewsWeniger Ruckler: Steam aktiviert „Shader Pre-Caching“ für Vulkan & OpenGL
Steam unterstützt ab sofort „Shader Pre-Caching“ in Vulkan- und OpenGL-Spielen. Das bedeutet, dass Steam vorab kompilierte Shader herunterladen kann, sodass diese nicht mehr in Echtzeit von der Grafikkarte kompiliert und dann ausgeführt werden müssen – sondern direkt ausgeführt werden können.
Sinn erschließt sich mir nicht ganz. Shader werden sowieso schon im Graka Treiber gecacht. Man spart sich also nur das kompilieren beim ersten Laden. . . . .
Sinn erschließt sich mir nicht ganz. Shader werden sowieso schon im Graka Treiber gecacht. Man spart sich also nur das kompilieren beim ersten Laden. . . . .
Während Steam die Shader vorab laden kann, können GeForce- und Radeon-Grafikkarten diese nach dem ersten Spielstart speichern und beim nächsten Start erneut verwenden. Auch dann werden Ladezeit und Nachladeruckler reduziert. Dafür müssen im Treiber entsprechende Profile für das jeweilige Spiel hinterlegt sein.
Ich verstehe Hand in Hand irgendwie nicht. Für mich hört sich "Hand in Hand" helfend bzw ergänzend an. So wie ich den Fließtext aber dann verstehe, sind es zwei verschiedene System die unabhängig voneinander funktionieren?
Wenn ich es richtig verstehe:
Beim aller ersten Laden (direkt nach der Installation) des Spieles werden Shader kompiliert. Das speichert sich AMD oder NVidia mithilfe des Treibers und legt die ab. Beim zweiten Laden (egal ob ein Neustart war oder nicht) greift AMD oder NVidia auf diese Speicherung zurück.
Steam hilft mir jetzt also nur beim wirklich ALLER ersten Starten des spiels?
Steht doch in der Beschreibung, dass man damit die Performanceeinbußen beim ersten Laden umgehen will. Wenn der von Steam geladene Cache identisch mit dem des Treibers ist und nicht überschrieben wird, spart man sich den Kompilierschrit eventuell ganz.
Siehe z.B. die Probleme bei Hellblade: Senua's Sacrifice oder CEMU, bei letzterem tauschen die User fertige Shader Caches der einzelnen Spiele untereinander um Hänger zu vermeiden.
Sinn erschließt sich mir nicht ganz. Shader werden sowieso schon im Graka Treiber gecacht. Man spart sich also nur das kompilieren beim ersten Laden. . . . .
Korrigiert mich, aber mein Halbwissensstand war, dass die entsprechendem Compiler beim Treiber integriert sind und auf der CPU ausgeführt werden. Die GPU bekommt dann den Bytecode zum Abarbeiten.
Ergänzung ()
KillX schrieb:
Ist das nur unter Windows der Fall oder auch unter Linux?
Steam Client vom 30.Oct bietet die Option unter Linux bei mir nicht.
Das ist wie ich glaube aber auch ein undankbarer Job. Bei den Treibern ist bei AMD gerade sehr viel Bewegung drin und Intel hat zuletzt glaub auch am Caching gearbeitet. Es würde mich sehr überraschen, wenn Valve sich für den kleinen Kundenkreis die Arbeit machen würde dieses Feature für Pinguin OS und dessen Wildwüchsen scharf zu schalten.
Ergänzung ()
Nai schrieb:
Sinn erschließt sich mir nicht ganz. Shader werden sowieso schon im Graka Treiber gecacht. Man spart sich also nur das kompilieren beim ersten Laden. . . . .
Beim ersten Laden kann bei dynamisch geladenen Shadern eben auch bedeuten "mitten im Spiel" und "aller paar Sekundenbruchteile" mit entsprechend daraus resultierenden Rucklern.
Ergänzung ()
Nitschi66 schrieb:
Wenn ich es richtig verstehe:
Beim aller ersten Laden (direkt nach der Installation) des Spieles werden Shader kompiliert.
Beim ersten Start des Spieles wird das in der Regel nicht gemacht. Da müsstest du sehr lange warten bis alle Shader compiliert sind*. Typischerweise wird es das Compilieren beim Laden von Leveln erledigt (für die Shader die in den Level notwendig sind) oder aber die Shader werden dynamisch geladen (im Spiel, immer wenn es notwendig ist) und dann compiliert. Letzteres bietet sich für offene Spielwelten an, kann aber auch für Ruckler sorgen.
Ja, wie zum Beispiel jedes Spiel, das du bei Steam kaufst, ebenfalls vorkompiliert und dann von dir heruntergeladen wird.
Ich kann mir kaum vorstellen, dass diese Technik außerhalb von SPIR-V funktioniert, da jeder OpenGL-Treiber andere Shader-Formate verdaut. Somit müsste also auch der jeweilige OpenGL-Treiber in der Lage sein, vorkompilierte SPIR-V-Shader zu laden (OpenGL 4.6?).
Zitat Zitat von KillX Beitrag anzeigen
Ist das nur unter Windows der Fall oder auch unter Linux?
Steam Client vom 30.Oct bietet die Option unter Linux bei mir nicht.
Zu meiner Überraschung war bei mir schon 1 MB mit der neuen Funktion vorabgeladen.
Als ich sie deaktivierte (und wieder aktivierte) hatte ich gleich 4 kleine Downloads bei folgenden Spiele:
Binding of Isaac: Rebirth
Brink
FTL
Prison Architect
Diese scheinen die neue Funktion also zu unterstützen.
Das kann man doch auch über den Nvidia Treiber in der Systemsteuerung selbst einrichten, indem man dort Shadercache auf ein stellt, dann das Game startet und einmal abspeichert und dann das Game nochmals neu startet, oder nicht?
Gab doch mal diesbezüglich Informationen, wo es zu unterschiedlichen Ergebnissen bei Game-Benchmarks gab, wo genau bei Nvidia Grafikkarten sogar diese Einstellung empfohlen wurde, wenn ich es noch richtig in Erinnerung habe! Das müsste doch den gleichen Effekt haben und eigentlich direkt über den Treiber besser umgesetzt werden, als über einen Client, oder nicht?
Wenn mir das mehr FPS bringt, dann ist das super. Da ich momentan nur mit meinem Laptop spiele (AMD R5 430M) kann das ein oder andere FPS mehr nicht schaden