Everybody is free to contribute what they want to Dolphin. If somebody capable wanted to implement such features, i'm sure it would be welcomed with open arms.
I don't understand the problems with cache emulation to know how complicated it would be to properly emulate any of them. But generally, the developers invest their personal time on issues that are interesting to them. And what is interesting differs from person to person. Some would weight the ratio between effort and results between different features, some just work on issues on games they care about, others just like the challenge. And then there's the JMC factor...
Yea, that's what I thought. Although I have no idea what you mean by "JMC factor", what is that?
JMC(47) is a writer, tester, debugger jack of all trades that does a lot of work (that doesn't involve a compiler or server) for Dolphin.
He motivates a lot of devs to fix stuff by doing very comprehensive, technical testing.
(09-10-2019, 06:16 AM)Yershi Wrote: [ -> ]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.
Emulating cache isn't useful enough to even expose the option given how huge of a performance hit it is.
Another thing to note about emulation development is that you have to balance "accuracy" and "options" with whats sensible to actually expose. you give an option, users will flip it without reading, and then wonder why things are slow or broken. Without telling us what they changed either because they don't think it's important or they forgot.
Obviously balancing accuracy and performance is a big part in something like Dolphin, I would definitely prefer the game actually running at 30fps than it running accurately at like 10fps. However as for not including it cause people will flick it on without realizing what they just did, why not include a warning. You could have a window pop up every time you turn on the setting as to warn the more ignorant. And then for extra measure have Dolphin display another warning when loading a game if said setting is actually on just to make sure they know what they did. Then, when the game runs at like 5fps they have a pretty good idea on what caused it. And just to idiot proof it, ask for people to upload screenshots of their graphics configurations and what not so that way people can see what things are set to to give whoever is helping the person an idea of what might be going wrong. Also I know its gonna be a performance hit but I kinda want to know how much. Like take my computer specs (on my profile for reference), if I had all graphical enhancements off and kept resolution at 480p would it still lag or not?
The GameCube and Wii's architecture is modern enough that silly low level tricks were few and not really necessary for game devs to exploit, but there are a few known cases of it. We have made experimental branches that emulate cache that we've used for testing. It does help a couple of games (1080 Snowboarding i think it was?) but basically it improved .001% of games for a MASSIVE performance hit. We're talking single digit framerates in everything! Of course it could theorectically be only used for necessary titles via the ini, but still, that's the price of really low level accuracy. And all for like, one or two games out of 3000+.
[snipped, moved to below]
Single digit frames, yea nevermind definitely have no chance of running that. Although now that you mention they exist, I kinda want to download one of these development builds and turn on the cache emulation just to witness it for myself. If the experimental branches are available for public download can I have a link. If they are only for developers than obviously I won't bother anyone about getting something just to watch a game lag hard.
(09-10-2019, 07:50 AM)Yershi Wrote: [ -> ]However as for not including it cause people will flick it on without realizing what they just did, why not include a warning. You could have a window pop up every time you turn on the setting as to warn the more ignorant.
(09-10-2019, 07:23 AM)Helios Wrote: [ -> ]... users will flip it without reading...
Ok, I guess I have more faith in people than I should. But wouldn't having a screenshot of your settings at least help with just general idiocy issues somewhat. Obviously I don't run forums or really chat in them that often, so for all I know people would still somehow manage to screw that up.
So you replied while I was still editing this so I'm going to just paste this here to make sure you read it.
One thing I'd like to point out is that we've only just now been getting to the point where we can remove gross hacks from Dolphin without destroying performance. Converting integer to floating point for graphics emulation was an awful awful hack that was recently (relatively) removed, and we've pulled a lot of awful hacks like that recently thanks to better feature sets in host computers. But... they are not all gone. We have one especially big gross hack still around: Dual Core mode. Dual Core mode is antithetical to how the GameCube and Wii work, and while it's -mostly- fine, it breaks stuff, we know it breaks stuff. But we leave it on by default because it takes a bloody crazy system to emulate a strong game in single core mode. Like, maybe a 9900k overclocked to 5ghz could handle demanding games? But just, single core performance and frequency are just not where they need to be for single core mode to be something we can use by default. There's a lot more hacks around too. Like Store EFB Copies to Texture Only is a pretty big hack, and also antithetical to how the GameCube and Wii work, but it's so important for performance on PCs that we only disable it when a game is known to have issues with it. There are a lot more, but hopefully you get the picture by now. If we turned off every hack and speed trick all at once, no system that exists would be able to run Dolphin at fullspeed! So a lot of gross hacks are gone but, we're still relying on hacks just to be performant. We aren't really at the point where we have free performance to throw around on superfluous things like cache emulation!
I completely understand what your saying, and don't worry, I'm keeping an eye on this thread I made so I won't miss anything. However the hacks you mentioned I have off (I'm including pictures to make sure I'm talking about the same thing, if I'm not then ¯\_(ツ)_/¯). I still get very stable framerate, can usually use SSAA 8x/4x without much issue at 1080p without lag if I have Synchronous Ubershaders off (with it on I can do either MSAA 8x/4x depending on the game). Is it my PC or is it something else, again my specs are on my profile page so you don't have to ask. Also just in general I appreciate the Devs actually responding to my post, so thanks for that.