Buenas!
Desde hace un tiempo que una de las cosas que más me molesta es el shader compilation stuttering en juegos de PC. Siendo programador, siempre he tenido el gusanillo de ver si se podrían leer los pipelines de los shaders de los juegos (mayormente juegos UE4/5) y precompilarlos todos al caché de shaders de la GPU, pero siempre acababa en nada, ya que tenía que dedicarle mucho tiempo a hacer reverse engineering.
Pero eso cambió hace poco y he podido dedicarle más tiempo, finalmente he conseguido hacer la herramienta open source en la que siempre había pensado: SCSKiller.
Básicamente, lee la lista de shaders de los juegos, intenta deducir todos los pipelines que el juego va a usar y los precompila al caché. Funciona tanto en Nvidia como en AMD, pero es mejor en la primera, ya que te deja modificar el tamaño máximo del shader cache, mientras que AMD parece que lo capa a 16GB sin posibilidad de modificarlo.
Como indico arriba, la herramienta es open source:
Github: https://github.com/BlueHeisenberg/SCSKillerWeb: https://www.scskiller.com/
Algunos ejemplos de cómo mejora:
En la web o en GitHub podéis ver más casos, o comprobarlo vosotros mismos. Dado que intenta compilar todos los shaders del juego, es un poco como matar moscas a cañonazos (lo ideal sería que el juego compilase lo que toca antes de tiempo
![más risas [+risas]](/images/smilies/nuevos/risa_ani3.gif)
), y en algunos juegos el shader cache entero puede ocupar bastante (como Hogwarts Legacy, que son ~14GB), pero el resultado es worth it incluso para la gente con poco espacio, ya que puedes compilar el juego al que estés jugando en el momento y luego borrarlo y compilar otro cuando cambies.
PD: No sé si esto se considera promoción al ser un proyecto open source y tampoco he visto que rompa ninguna norma del foro, pero si algún mod piensa que me equivoco, que me lo comunique, por favor.
PD2: En cuanto pueda lo traduciré al Castellano por si alguien no es muy dado con el Inglés.
Saludos!