December news (Patreon)
Content
work on the next release of Cemu is already well underway. You can expect the update to arrive early January.
The new release will come with two huge new features. One of those I will talk about today while the other feature will remain a secret until shortly before the release ;) It's like a super late Christmas surprise present.
Shader cache details
As you may already know, whenever Cemu encounters a new shader in a game (usually associated with a graphic effect that hasn't been used before) it will cause a short freeze. This happens because in order to execute Wii U shaders, Cemu has to translate them to a PC-friendly format. This translation process is quite involved and can take up to 50-1000ms depending on the complexity of the used shader.
Since there is no way to avoid stalling the rendering, we resort to a simple trick: Once a shader is translated, Cemu remembers it forever by storing it in a file. If you play the same game again in the future, Cemu will pre-load all previously translated shaders. As a result any shaders that you encountered in a past play session won't cause a freeze anymore.
The drawback of this solution is that in order to get the smoothest possible experience, you would have to play through the entire game once, as this is the only way to make sure every shader is cached. To make matters worse, the cached shader files are incompatible between different Cemu versions and PC configurations.
Transferable shader cache
This is where the next release sees some massive improvements. Put simply, we have changed the way the shader files are stored and they are now transferable between different PCs and even all future Cemu versions.
In theory this means that someone could compile shader cache files for all major games and offer them for download, sparing you the need to go through the stuttering yourself. Sadly we can't offer these 'shader cache packs' ourselves because it's a legal gray area (the shaders contain bits and pieces that might fall under copyright). But we will look into the possibility in the future.
Other changes
Something that has been bothering us for a while is the high VRAM(graphic memory) usage of Cemu. If you care about the technical details: A while ago I wrote a rather lengthy post on why Cemu needs so much VRAM.
For the next Cemu release we are looking into a few different strategies to decrease VRAM usage. This should fix crashes due to lack of VRAM and might also reduce stuttering slightly.