Progress Continues
We've already had 21453 updates since Dolphin 5.0. Keep up with Dolphin's continuing progress through the Dolphin Blog: August, September, and October 2023 Progress Report. |
The Dolphin Emulator Wiki needs your help! Dolphin can play thousands of games, and changes are happening all the time. Help us keep up! Join in and help us make this the best resource for Dolphin. |
Template:Problems/Shader Compilation Stuttering: Difference between revisions
(Hopefully this doesn't break anything...) |
(Removing strike out. Stuttering still occurs in Dolphin's default configuration. There are options to address it now, but there are tradeoffs and users need to be informed - that's what this is for! It is not "fixed".) |
||
(14 intermediate revisions by 6 users not shown) | |||
Line 1: | Line 1: | ||
<includeonly>=== Shader Compilation Stuttering === | <includeonly>=== Shader Compilation Stuttering === | ||
''{{PAGENAME}}'' is one of the most susceptible titles to shader compilation stuttering. The GC and Wii have no concept of shaders - everything | ''{{PAGENAME}}'' 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. | ||
Since {{revision|5.0-4869}}, this problem can be solved by enabling [https://dolphin-emu.org/blog/2017/07/30/ubershaders/ ubershaders]. <s>Changing GPU, updating GPU drivers, or updating Dolphin may invalidate the shader cache, requiring specialized shaders to be compiled again.</s> Since {{revision|5.0-6461}}, Dolphin caches shader pipeline UIDs independently of the video backend and compiles them on game start. This allows cached shaders to work across different video backends, platforms, hardware configurations and even Dolphin versions as long as changes aren't made to Dolphin's actual shader pipeline. These shaders are compiled in the background when the game starts, which may cause stuttering for a short period. Enable '''Compile Shaders Before Starting''' to avoid this.</includeonly><noinclude>{{documentation}}</noinclude> |
Latest revision as of 02:15, 29 June 2018
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.
Since 5.0-4869, this problem can be solved by enabling ubershaders. Changing GPU, updating GPU drivers, or updating Dolphin may invalidate the shader cache, requiring specialized shaders to be compiled again. Since 5.0-6461, Dolphin caches shader pipeline UIDs independently of the video backend and compiles them on game start. This allows cached shaders to work across different video backends, platforms, hardware configurations and even Dolphin versions as long as changes aren't made to Dolphin's actual shader pipeline. These shaders are compiled in the background when the game starts, which may cause stuttering for a short period. Enable Compile Shaders Before Starting to avoid this.
Used By
M
S
T
The above documentation is transcluded from Template:Problems/Shader Compilation Stuttering/doc. (edit | history) Editors can experiment in this template's sandbox (create) and testcases (create) pages. Please add categories and interwikis to the /doc subpage. Subpages of this template. |