| ▲ | Gigachad 3 hours ago | ||||||||||||||||||||||
There's two tiers of precompiled though. Even if you can't download them precompiled, you can compile before the game launches so there are no stutters after. | |||||||||||||||||||||||
| ▲ | MindSpunk 3 hours ago | parent [-] | ||||||||||||||||||||||
Yes, many games do that too. Depending on how many shaders the game uses and how fast the user's CPU is an exhaustive pre-compile could take half an hour or more. But in reality the exhaustive pre-compile will compile way more than will be used by any given game session (on average) and waste lots of time. Also you would have to recompile every time the user upgraded their driver version or changed hardware. And you're likely to churn a lot of customers if you smack them with a 30+ minute loading screen. Precisely which shaders get used by the game can only be correctly discovered at runtime in many games, it depends on the precise state of the game/renderer and the quality settings and often hardware vendor if there are vendor-specific code paths. Some games will get QA to play a bunch of the game, or maybe setup automated scripts to fly through all the levels and log which shaders get used. Then that log gets replayed in a startup pre-compile loading screen so you're at least pre-compiling shaders you know will be used. | |||||||||||||||||||||||
| |||||||||||||||||||||||