In the Ishiikura builds there's support for that (unofficial builds). While they have problems, they significantly reduce stuttering in the metroid prime series (or other games that has shader caching stuttering). I'm not an expert, but it seems that if the dolphin team will implent them and imrpove their compatibility and fix the issues, then maybe there will finally be a fix for the stuttering issues in the metroid prime series. If that's not the case, what prevent it from happenning?
Thread Rating:
asynchronous shaders questions
|
07-19-2015, 12:44 PM
Well, I'm not an expert either, but I would guess that these unofficial builds go against the philosophy of dolphin to make an accurate emulator. Which is confirmed by "The focus is the gaming experience and speed." which I just read at the very beginning of that thread. (https://forums.dolphin-emu.org/Thread-unofficial-ishiiruka-dolphin-custom-version)
The main development team would love to include asynchronous shaders; it's not "against Dolphin's philosophy" or anything of the sort. The Ishiruuka developers simply refuse to contribute the feature, and nobody else has volunteered to port it from Ishiruuka. Contributions are welcome, I think, if you'd like to take up such a task!
07-19-2015, 01:54 PM
(07-19-2015, 01:02 PM)Fiora Wrote: The Ishiruuka developers simply refuse to contribute the feature, and nobody else has volunteered to port it from Ishiruuka.From what I've read, this isn't the case. I thought one or more of the developers for master were against the asynchronous shaders, because they fix the stuttering during shader cache generation by making various game assets simply become invisible if they haven't been generated yet, and said developer(s) thought the speed boost afforded by such an approach was too hackish and buggy. 07-19-2015, 02:23 PM
From my understanding the devs have known of the async shaders trick for years and just haven't done it because blackness during rendering is not seen as an acceptable tradeoff to fix stuttering during shader generation. Dolphin has benefited a lot from doing things the right way and avoiding hacks, so it's probably the right call.
![]() AMD Threadripper Pro 5975WX PBO+200 | Asrock WRX80 Creator | NVIDIA GeForce RTX 4090 FE | 64GB DDR4-3600 Octo-Channel | Windows 11 22H2 | (details)
MacBook Pro 14in | M1 Max (32 GPU Cores) | 64GB LPDDR5 6400 | macOS 12
07-19-2015, 04:12 PM
THere's also the "uber shader" approach (I read that somewhere in the forums), it would achieve similar results but without hacks; however, implementing it would require several changes to current code and nobody is working on it at the moment (AFAIK)...
Avell A70 MOB: Core i7-11800H, GeForce RTX 3060, 16 GB DDR4-3200, Windows 11 (Insider Preview)
ASRock Z97M OC Formula: Pentium G3258, GeForce GT 440, 16 GB DDR3-1600, Windows 10 (22H2) 07-19-2015, 09:59 PM
(07-19-2015, 04:12 PM)Jhonn Wrote: THere's also the "uber shader" approach (I read that somewhere in the forums), it would achieve similar results but without hacks; however, implementing it would require several changes to current code and nobody is working on it at the moment (AFAIK)... Yes it's indeed very hacky, I just thought that it would be possible to make them more accurate and compatible. What is "Uber Shader"? And if that's the case, then i really hope that someone will try to work on it in the near future, even if it's only for the metroid prime games (I can guess that many people are waiting for a solution for the stuttering).
Shading stuttering happens because shader compilation is done by OpenGL and D3D, and Dolphin cannot control them. Those shader compilation systems were design for PC games, where shaders are compiled well before they are needed and with a minimum performance impact, so they are tuned to be kind of slow. But the GC and Wii don't use shaders, and just call things up from the hardware whenever they want! Hence, stuttering.
The "uber shader" would theoretically allow Dolphin render a generic shader that it can fill with whatever it wants, bypassing the need to compile shaders entirely! It would still be accurate and have better performance, again, in theory. But so far no one has really tried to implement the theory yet. ![]() AMD Threadripper Pro 5975WX PBO+200 | Asrock WRX80 Creator | NVIDIA GeForce RTX 4090 FE | 64GB DDR4-3600 Octo-Channel | Windows 11 22H2 | (details)
MacBook Pro 14in | M1 Max (32 GPU Cores) | 64GB LPDDR5 6400 | macOS 12
07-19-2015, 11:01 PM
(07-19-2015, 10:24 PM)MaJoR Wrote: Shading stuttering happens because shader compilation is done by OpenGL and D3D, and Dolphin cannot control them. Those shader compilation systems were design for PC games, where shaders are compiled well before they are needed and with a minimum performance impact, so they are tuned to be kind of slow. But the GC and Wii don't use shaders, and just call things up from the hardware whenever they want! Hence, stuttering. Is there any other way to completely get rid of the stuttering, or at least reduce them without Uber shaders?
Async shaders and the uber shader are pretty much the only techniques known... The shader compilation is the problem, and there is no way to control it since they are a part of the D3D and OGL spec. It's either continue the game without waiting for the shader compilation (async shaders) and get visual errors, or do an uber shader and work around the problem.
Btw, by "better performance" I meant "no more stuttering". The uber shader technique would most likely be more demanding on your PC hardware. But it would fix an unfixable problem without any added issues (in theory) so it might be worth it. ![]() AMD Threadripper Pro 5975WX PBO+200 | Asrock WRX80 Creator | NVIDIA GeForce RTX 4090 FE | 64GB DDR4-3600 Octo-Channel | Windows 11 22H2 | (details)
MacBook Pro 14in | M1 Max (32 GPU Cores) | 64GB LPDDR5 6400 | macOS 12
|
« Next Oldest | Next Newest »
|
Users browsing this thread: 1 Guest(s)