Dolphin, the GameCube and Wii emulator - Forums

Full Version: How Accurate is Dolphin Compared to Console
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3 4
How accurate is Dolphin compared to a Gamecube and a Wii? And I don't just mean an answer like "pretty accurate" I've always wanted a technical overview of just how accurate is Dolphin to console. You can throw statistics, frame data comparisons, technical explanations, and any other data related thing at me, I can usually understand it. I just want an in-depth detailed overview of the accuracy of Dolphin is to console if Dolphin were to set to its most accurate settings with all the Bios and DSP files and whatever other files the Wii and Gamecube need for LLE.
You could have bought Wiiware games off of the Wii Shop Channel back when it was open. How much more accuracy do you need?
(09-09-2019, 04:02 PM)Silent Hell Wrote: [ -> ]You could have bought Wiiware games off of the Wii Shop Channel back when it was open. How much more accuracy do you need?

I was just wondering about Dolphin's accuracy out of pure curiosity. Besides, the only Wiiware game I wanted to emulate was Paper Mario since A) N64 emulation is complete garbage/a mess, and B) my Wii U is currently at my house where I can't access it since I'm at college right now. And since there is basically no way for me to obtain Wiiware games at all now I've kinda just given up on it, too much effort for one game. Plus I never owned a Wii when Wiiware existed and brought all of my Virtual Console games on Wii U.
Dolphin is now very, very accurate. Thanks to the expanding feature set of PCs, we've been able to remove hacks left and right in favor of accurate solutions that use these new features, all while actually *getting faster*. Integer TEV, Ubershaders, and the rebuilt DSP HLE are big examples. We also can (or could) do crazy things like multiplayer with real consoles and buy games off the wii shop. Heck you could even play the crazy multi disc online downloading MMO Dragon Quest 10 in Dolphin, with console players! Also we can emulate just about every one of the weird controller options available to the Wii and GameCube, from dance mats to steering wheels to wii remotes to bongos!

Dolphin still has a couple of key limitations though. First is timings. Most games don't care about timings all that much, so Dolphin was built to go as fast as possible in absolutely everything. We've tightened it up here and there, like emulating disc loading, but there are still some very low level timing things that a tiny percentage of games care about, but we know lead to issues in a handful. Emulating these accurately would destroy our performance so that's not going to happen any time soon. The other accuracy bit is that we only have no proper emulation of the Wii's Scarlett co-processor. That prevents us from emulationg some of weirder things, like Wii Linux. For now, you can't run Dolphin emulating a Wii running Linux running Dolphin emulating a Wii running Linux running Dolphin emulating...
(09-09-2019, 06:23 PM)MayImilae Wrote: [ -> ]For now, you can't run Dolphin emulating a Wii running Linux running Dolphin emulating a Wii running Linux running Dolphin emulating...

Wait, can you run dolphin on a real wii?
(09-09-2019, 06:23 PM)MayImilae Wrote: [ -> ]Dolphin is now very, very accurate. Thanks to the expanding feature set of PCs, we've been able to remove hacks left and right in favor of accurate solutions that use these new features, all while actually *getting faster*. Integer TEV, Ubershaders, and the rebuilt DSP HLE are big examples. We also can (or could) do crazy things like multiplayer with real consoles and buy games off the wii shop. Heck you could even play the crazy multi disc online downloading MMO Dragon Quest 10 in Dolphin, with console players! Also we can emulate just about every one of the weird controller options available to the Wii and GameCube, from dance mats to steering wheels to wii remotes to bongos!

Dolphin still has a couple of key limitations though. First is timings. Most games don't care about timings all that much, so Dolphin was built to go as fast as possible in absolutely everything. We've tightened it up here and there, like emulating disc loading, but there are still some very low level timing things that a tiny percentage of games care about, but we know lead to issues in a handful. Emulating these accurately would destroy our performance so that's not going to happen any time soon. The other accuracy bit is that we only have no proper emulation of the Wii's Scarlett co-processor. That prevents us from emulationg some of weirder things, like Wii Linux. For now, you can't run Dolphin emulating a Wii running Linux running Dolphin emulating a Wii running Linux running Dolphin emulating...

So I guess "very accurate" would be a good summary, but could this be explained even further, like going into console comparisons and in-depth data and whatnot. If not that's fine, as this basically summed up what I was asking. However since you mentioned it, since emulating timing is done as absolutely fast as possible, I was wondering if there could be an option to actually emulate it instead (with the obvious performance cut) for users with more powerful PCs and want as accurate an experience as possible. If this can't be done or would be way too time consuming now to focus on that's fine, I'm just curious if it is possible.
(09-09-2019, 10:11 PM)ExtremeDude2 Wrote: [ -> ]Wait, can you run dolphin on a real wii?

No, you can't. One very clear blocker is that Dolphin doesn't support big endian CPUs. There might be other obstacles as well (RAM?), even if you ignore that the speed is going to be horrible.
(09-09-2019, 06:23 PM)MayImilae Wrote: [ -> ]For now, you can't run Dolphin emulating a Wii running Linux running Dolphin emulating a Wii running Linux running Dolphin emulating...

At best, it would just start Dolphin as it wouldn't emulate OGL (I think).
Well, one thing Dolphin doesn't properly emulate are caches. If a game is programmed, let's say, "strictly", it should function the same with and without cache, even if you were to remove it, just the speed would be different. Dolphin is faster in many cases and makes up in other cases with its own caches, so you don't notice that Dolphin basically runs everything without those caches. Emulating those caches can be difficult and a lot of work, because Dolphin would need to track the memory and caches seperately, and track what happens exactly with the caches, when their memory runs out, which is happening 99.99% of the time.

Now some games use tricks for special effects or performance and abuse certain attributes of the caches. Other times it might be programming errors, which, out of sheer luck, don't trigger on real hardware. Spyro: A Hero's Tail for example uses a copy of a texture from the texture cache, while the actual memory holding the texture has been overwritten already. Currently Dolphin is using a hack to emulate that, but the hack breaks other things, i don't think this counts as emulating the TMEM cache.

And then there's the memory cache, which i think is technically 2 caches, one data cache and one instruction cache. I don't know what exactly is going on with those, but some games and some game hacks require at least of of them to function properly, i don't even know which one. This is low level stuff, and emulating those caches would potentially cost a lot of performance, especially since the cpu emulation might be the bottleneck for most games already.
So could it be possible to include cache emulation but have it default to off unless the person themselves wants to turn it on knowing about the performance hit? Or is cache emulation too complex or difficult to dedicate time to LLE it as an option when that time can currently be spent somewhere else to improve the emulator as a whole.
Pages: 1 2 3 4