449 karma · joined April 8, 2024
I'm very curious, can you elaborate on that?
I also never got the random events automated so I just read a book while it ran and killed it whenever one of those popped up.
For further reading, https://admiralcloudberg.medium.com/fields-of-fortune-the-cr...
(Why "shaders" in quotes? Because they weren't shaders as we know them today but really more like lists of hardware flags for how to flow data through a fixed function pipeline)
Prior to ubershaders the emulator took a configuration for the hardware pipeline and turned that into a shader, which took time to compile. Ubershaders work by emulating the entire fixed function pipeline in one glorious shader until the smaller, more efficient shader can be compiled and slipped in.
Basically, the ubershader is the only thing that can actually understand the "shaders" packaged with the game and start using them with zero latency.
Why not just precompile all the possible hardware combinations? There's far more combinations than atoms in the universe. Why not just precompile all the hardware combinations that the game actually uses? There's no way to tell before hand without examining every branch of the game's code which ranges in difficulty from "computationally prohibitive" to "fundamental theorems of how computers work says this is impossible".
The article mentions that some users actually passed around cached shader packs, but that solution was brittle.
https://github.com/TomatoCo/warren
(It wasn't exactly over a weekend but it only had two or three days of effort put into it, which I think meets the spirit.)