yo!
many games currently have speed issues. e.g. pokemon let's go eeve/pikachu, sword/shield, so basically games which are new and loved.
the emulation speed, at least on my machine, is around 17%... my CPU load is about 11%.
this means with good parallelization we can easily achieve 100% speed on high end machines...
of course optimizing the performance is important, but a good multithreading would be an awesome power boost of the software.
now i know this is not a formal issue but i think it's an important point and if you decide to abandon this issue, maybe you can give me a short explanation, why it's currently not intended or not possible to go this way - just for interest
When you add more threads, you also need all the previous work to make VERY sure that you will not get problems accessing the data on other cores on time.
It's very easy to enable 4 or 999 threads now, but it would just crash on any game, if you don't check for race conditions.
The work is being done, but it will take time.
When you add more threads, you also need all the previous work to make VERY sure that you will not get problems accessing the data on other cores on time.
And the performance may also get worse because of the mutual exclusion required to prevent undefined behavior of concurrent access. Using a fancy technique to vectorize a bunch of ARM instructions into a single x86 AVX one would probably be easier to make it run faster (https://dl.acm.org/doi/10.1145/3301488), but also seems pretty darn hard to implement without breaking other stuff.
EDIT: my bad, I thought they didn't had the code, but the number of threads is hardwired in, and it is used if use_multi_core is set in settings.
https://github.com/yuzu-emu/yuzu/blob/b6faea0dd2139b9dcfd36191e5bcd847fa083c3b/src/core/cpu_core_manager.h
Golden has explained everything, so I'll be closing this.
Uh? It's being worked on, but it hasn't been completed yet. Wouldn't that make this issue valid?
Uh? The work is being done, but it hasn't been completed yet. Wouldn't that make this issue valid?
why dont we just open an issue for "android port of yuzu" and leave it open for the next 10 years while we're at it? this isnt an issue. this is a feature request. one that is being worked on. also, lose the passive aggressive comments. maybe others put up with them, but i dont.
Because that specifically wouldn't be in the scope of this project? Multithreading clearly is.
It's not an issue for an existing feature, so it is a feature request. These issues are for existing code.
Because that specifically wouldn't be in the scope of this project? Multithreading clearly is.
multithreading isnt an issue. multithreading is a feature. this hub is already flooded with 179 issues, half of which are feature requests, or other pointless filler that only makes solving actual issues that much harder because our devs have to sift through "issues" like this.
Most helpful comment
multithreading isnt an issue. multithreading is a feature. this hub is already flooded with 179 issues, half of which are feature requests, or other pointless filler that only makes solving actual issues that much harder because our devs have to sift through "issues" like this.