Template:Problems/Shader Compilation Stuttering

From Dolphin Emulator Wiki
< Template:Problems
Revision as of 03:53, 29 November 2015 by Mbc07 (talk | contribs) (Minor adjustments. Not sure about the last note, feel free to improve)
Jump to navigation Jump to search
[edit] [purge] Template documentation

This adds shader compilation information to any page that has stuttering so severe that users have actively complained about on the forum, such as the Metroid Prime series and Xenoblade Chronicles. Do not spread this template to a bunch of pages! Only games with the absolute most severe stuttering issues and have confirmed user reports asking about it should have this template. See {{Problems}} for other shared problem statements.

Usage

{{Problems/Shader Compilation Stuttering}}

Example

Shader Compilation Stuttering

Problems/Shader Compilation Stuttering is one of the most susceptible titles to shader compilation stuttering. The GC and Wii have no concept of shaders - everything is executed directly by the hardware without an intermediate programming language (API). Modern computers and mobile systems do not work in this way, requiring the use of shaders as an intermediary so your system's GPU can perform the tasks that the GC and Wii GPU performed directly. Shaders have to be generated though, and since GC/Wii games are not designed to create shaders ahead of time as a PC game would, when a new effect appears Dolphin has to delay the CPU thread while the GPU thread performs the compilation; a pause that does not exist on the consoles. For most games shader generation takes only a few milliseconds, but for a few demanding titles, the shaders that they generate are so large that they can result in noticeable stuttering, in severe cases pauses of over a second may occur.

Eventually stuttering will reduce as a shader cache is built up, but there is no solution to this problem at this time. Also, updating your GPU drivers or Dolphin version may invalidate the shader cache which will be rebuilt from scratch again.

Used By