zelect0r schrieb:
Ich war ein bisschen verwirrt, weil das Shader kompilieren für CS2 ausschliesslich nur bei Linux stattfindet.
Die Option ist zwar auch im Windows-Steam enthalten, beträgt aber bei mir 0mb.
Und ein kompilieren für CS2 habe ich unter Windows nie gesehen.
Die Frage ist warum ich Shader zum kompilieren von Linux-Steam für CS2 erhalte, aber vom Windows-Steam nicht?!
Deswegen bin ich davon ausgegangen das es sich um ein Linux/Steam eigenes Feature handelt.
Soweit ich mitberkommen habe, aber ich bin da auch nicht gut informiert drüber: Shader-Pre-Caching ist ein Feature von Steam was sowohl unter WIndows als auch Linux existiert und benutzt wird. Bei Windows-Spielen unter Windows hängt es aber von der verwendeten Grafik-API ab und ist glaube ich nur bei OpenGL oder Vulkan-Spielen überhaupt möglich (also nicht bei Direct3D-Spielen, was die Mehrheit der Spiele ist).
Bei Linux aber läuft ja alles über Vulkan, auch Direct3D wird ja zu Vulkan translated. Auf GPU-Seite ist alles Vulkan. D.h. Steam unter Linux kann für ALLE Spiele Shaders pre-cachen und diese zwischen Steam-Usern verteilen. Was eigentlich ein sinnvolles Feature ist, denn dadurch haben dann viele Spieler dann keine Ruckler mehr in-game (außer denen, die das Spiel als allererstes von allen starten, die dann die Shader während der Runtime des Spiels kompilieren müssen was in Rucklern oder längeren Ladezeiten resultieren kann). Sobald der erste Steam-User eines Spiels dann bspw. die Shader kompiliert hat für seine GPU, verteilt Steam die im Hintergrund an alle anderen Steam-User mit der selben GPU. Die profitieren dann von keinen Rucklern etc.
Warum sowas nicht für Direct3D-Spiele unter Windows geht, weiß ich nicht. Auf jeden Fall: Linux-User haben durch dieses Feature zwar häufiger Downloads von den Caches, aber dafür sehr wahrscheinlich nrigendwo Probleme mit Rucklern.
Hängt natürlich auch vom Spiel ab, wie das damit umgeht. Manche Spiele kompilieren alle Shader während dem ersten Start, was länger dauern kann beim allerersten Mal. Viele machen das aber nicht so, was bedeutet dass mitten im Gameplay im Hintergrund bestimmte Shader, die halt gerade benötigt werden, kompiliert werden, und das resultiert dann mglw. in unschönen Rucklern. Ruckler könnten aber auch noch andere Ursachen haben.
Also so reime ich mir das zumindest zusammen. Genau kenne ich die Prozesse da nicht.