4 ms·
Each configuration has a Unique ID, and they discuss building up a list of all the required UIDs beforehand: > Users refer to this as "sharing shaders" and in
by DougBTX 9y ago
Each configuration has a Unique ID, and they discuss building up a list of all the required UIDs beforehand:
> Users refer to this as "sharing shaders" and in theory if users shared UID files, they could compile shaders ahead of time and not encounter stuttering.
They list a few reasons why they didn't go for this, but the tl;dr is that it is hard to build a complete list, so many users in many games would still see stuttering.
- ZenoArrow 9y agoIt still seems like a good supplementary approach to the ubershader hybrid mode. Perhaps it'll be an idea that gets revisited at a later date, after the speed of changes to the graphics emulation code have slowed down.
- rasz 9y agothis is kind of BS, all it takes is one cheap shared hosted server collecting shaders from users(upload every time you check for new version/once a day), you would build 95% complete list in couple of months.
- shitlord 9y agoCitation needed
- vvanders 9y agoExcept that formats change between driver versions, among other things. I know of few games that aggregate their shaders, most just generate them during loading. There's a good chance you'd uncover some amusing bugs.
- rasz 9y agowe are talking about caching TEV configuration, not compiled shaders. They were against this solution for ~3 years, how much coverage would they get in 3 years of users uploading missing Unique ID" objects?
- vvanders 9y agoAt the end of the day you still have to compile the shader though. A shader cache is the only way around that.
- mort96 9y agoYes, and the parent comments are talking about a way to make it possible to compile all the shaders on startup instead of in the middle of the game. Longer loading times > stuttering.
- Tarean 9y agoThe UID's are a dolphin invention, though, on the hardware level there are just a bunch of registers set. So either you store a complete dump of the cpu state for each shader configuration or you invalidate all shared shaders when dolphin internals change.
- ketralnis 9y agoAwesome, go build it and prove them wrong