Post Reply 
 
Thread Rating:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Why was Multi-threading removed?
05-15-2018, 12:20 PM
Post: #16
RE: Why was Multi-threading removed?
Dude learn how to read before you comment, the post of mine you commented explains that the option GuilhermeGS2 mentioned does something else and has nothing to do with MT, it also mentions new MT which not only is already finished, it's also safe enough to be always activated and much faster than the broken option which existed before.

http://forums.ppsspp.org/showthread.php?tid=6594 - Custom PPSSPP Shaders!
http://forums.ppsspp.org/showthread.php?tid=3590&pid=117172#pid117172 - simple CE scripts to help creating CWCheats,
https://github.com/LunaMoo/PPSSPP_workarounds - CWCheat workarounds.
Find all posts by this user
Quote this message in a reply
05-15-2018, 06:56 PM
Post: #17
RE: Why was Multi-threading removed?
(05-15-2018 09:48 AM)mattiiee Wrote:  
(12-15-2017 12:21 PM)LunaMoo Wrote:  No lol. Not only PPSSPP never could use "as many cores as you have", also "CPUCore" is a PPSSPP cpu core, which as follows means: interpreter, JIT or IR-interpreter and has nothing to do with multithreading.


"Multithreading (experimental)" was completely removed since it was really bad and causing a lot of device specific issues with many people ignoring all the warnings and using it anyway breaking their games just because the setting worked for someone else or even without any reason at all other than having a multi core device.
It will never return in it's old form, currently different, safer MT exists only in Vulkan backend only where it's enabled by default and does not need an option, that new multithreading method might eventually be backported to GL backend, but it will be unlikely to give same results as the broken option, so if you absolutely required that feature on some old device without Vulkan, you might as well continue using old PPSSPP versions on that device.

Why didn't the devs leave the Multithreading untouched? Multithread option causes crashes and break games as we all know. The user can untick that setting instead. Now it looks like the latest version of PPSSPP is exclusively for those Vulkan supported phones, shitty sounds and bad framerate are all that our mid-end devices get without MT option.


(12-15-2017 11:52 AM)GuilhermeGS2 Wrote:  Go to PSP/SYSTEM then edit ppsspp.ini, look for CPUCore=1 and put how much cores your CPU have.

Multi-threading option may crash some games.

That trick isn't working for me. Setting CPUCore higher than 1 will make it slower, and even kicking me out from the app.


You should try on of the latest developer builds then. It utilizes a new OpenGL Multithreading code that greatly increases emulation speed and is much more stable than the old method. You'll see speeds that nearly match Vulkan in some games.
Find all posts by this user
Quote this message in a reply
05-16-2018, 03:13 PM (This post was last modified: 05-16-2018 03:14 PM by gir489.)
Post: #18
RE: Why was Multi-threading removed?
MIPS is generally very time specific. I remember there was a piece of software to overclock the PSP's CPU from 333 Mhrtz to 444 Mhrtz. This would have wildly varying results, resulting usually a crash. The biggest problem with multithreading back in the era of PSP (2005) was an issue of lockstepping threads. This has been solved now by usually a hypervisor or some kind of moderator piece in front of the OS to enforce lockstepping, but the PSP didn't have this. Back then, it was all about speed, and a lot of games especially the PSP are time sensitive. They expect X cycles takes about Y seconds, and write their code heavily on this. For MIPS (the CPU type the PSP has) is generally the following table. 5/4/4/3/3. But you can know for sure that a single instruction would never take more than 5 cycles. If you reduce that by allowing certian threads to return sooner by hyperthreading or multithreading, you could risk a certian piece of code trying to dereference something like a pointer or struct in memory with something that may or may not be there and end up with a race condition.

TL;DR It was probably removed to enforce consistency with MIPS HLE (High Level Emulation).
Find all posts by this user
Quote this message in a reply
05-17-2018, 11:51 PM
Post: #19
RE: Why was Multi-threading removed?
Well, the multithreading setting actually never tried to run MIPS threads on separate cores - which would quickly crash a ton of games indeed. Instead, it tried to interpret graphics commands on a separate core (it would never use more than one core for this purpose.)

This wasn't a good approach, because it turns out MIPS code ALSO often makes assumptions about how quickly or slowly graphics render.

It was removed because it was in the way. And now we have something much better because it was out of the way. The strategy worked great.

-[Unknown]
Find all posts by this user
Quote this message in a reply
09-13-2018, 04:44 AM
Post: #20
RE: Why was Multi-threading removed?
why they removed multi threading since worked fine,now the emulator barelly works on pc or gaming tablets.
sad to see this emulator going downhill is similar to the time dolphin emulator got took over by other developers and they started to break the emu because they didnt want a working emulator for low end or middle end systems they wanted to claim "we have powerfull pcs if the emu run slow buy a new pc since yours is sh*t" and removed several features because they claimed those features didnt work or break several games instead of improving the features (henrik when the native save is going to get fixed i have been waiting 8 years since you broke the saves for several games just because those save broke the snapshot save) for example multi threading was a good option and helped in several games specially on tablets and pc for games like tekken,ryu ga gototoku,one piece and other games.
Find all posts by this user
Quote this message in a reply
09-13-2018, 05:41 AM
Post: #21
RE: Why was Multi-threading removed?
It is not really about "we have powerful PC" or "we don't want low end system users to run X emulator". Emulation has 2 main cycles accuracy and optimization. Accuracy involves making the emulator respond more like the hardware it is trying to emulate so more games work and work like they would if run on the physical hardware. Usually more accurate methods require more powerful hardware as timings get tighter and some things are removed because they break the newer more accurate methods. Then comes optimization where the newer more accurate methods are improved upon to make them less resource intensive. Hopefully the optimizations make the more accurate methods accessible on a larger amount of hardware but sometimes changes will eliminate certain hardware. For example if a new method of making the emulator more accurate requires SSE4 instructions then CPUs that only support SSE3 and lower will not be compatible no matter how optimized the new method becomes.

Luckily there is a solution (kind of). You can always install and run older versions of the emulator if they work on your system and are accurate enough for the games you like to play. Unfortunately less people will run those versions (les people can help if you have issues), you won't be able to take advantage of newer features and some games can only be fixed my the more accurate methods (so some games will not work or will have issues).
Find all posts by this user
Quote this message in a reply
09-13-2018, 03:36 PM
Post: #22
RE: Why was Multi-threading removed?
(09-13-2018 05:41 AM)TkSilver Wrote:  It is not really about "we have powerful PC" or "we don't want low end system users to run X emulator". Emulation has 2 main cycles accuracy and optimization. Accuracy involves making the emulator respond more like the hardware it is trying to emulate so more games work and work like they would if run on the physical hardware. Usually more accurate methods require more powerful hardware as timings get tighter and some things are removed because they break the newer more accurate methods. Then comes optimization where the newer more accurate methods are improved upon to make them less resource intensive. Hopefully the optimizations make the more accurate methods accessible on a larger amount of hardware but sometimes changes will eliminate certain hardware. For example if a new method of making the emulator more accurate requires SSE4 instructions then CPUs that only support SSE3 and lower will not be compatible no matter how optimized the new method becomes.

Luckily there is a solution (kind of). You can always install and run older versions of the emulator if they work on your system and are accurate enough for the games you like to play. Unfortunately less people will run those versions (les people can help if you have issues), you won't be able to take advantage of newer features and some games can only be fixed my the more accurate methods (so some games will not work or will have issues).
Accuracy purposes (you are joking dont you) i find it hard to bellieve since accuracy went down after reaching 1.0 of 100 games i have more then half of those barelly runs on latest version (weird they work almost perfect from beggining to end on older version ignoring 3 games that had the save feature broken because they opted to keep the useless snapshot save feature)
Optimization has become less and less since now the emulator is crippled on purpose we known they want to make money but they should stop crippling the emulator free version and giving the best experience to users that pay (this normally tends to increase the third party site usage and the leaking of gold version for free)
While some games have issues those issues got there after reaching 1.0 and havent been fixed (is easy revert the code to 0.9.9.1) so is kinda useless to avoid using old versions since they work faster and better (they are not being crippled on purpose)

For example on one pc i can use ppsspp 0.9.9.1 at 4X upscaling,16x anysotropic filtering,4x rendering resolution and using reshade at full speed without problems but the same pc has issues while using latest version i cant use 4x rendering or 4x upscale i cant use reshade or anything at all that made games look good since the emulator will start slowing down even at 1x without upscaling the games will slowdown because the emulator is being crippled on purpose.
Find all posts by this user
Quote this message in a reply
09-13-2018, 10:59 PM
Post: #23
RE: Why was Multi-threading removed?
Stop trolling @Tabris666, the only reason people answer your posts is because they're full of made up shit.

Old MT was breaking games, new MT is not, it's also faster and works on all hardware same way differing only by performance gains while old MT was bugging out different users in different ways which was as useful to whole community as your account filled with trolling spam here.

The reason PPSSPP became slower for some potato users like you is addition and fixes of more heavy effects which in the past weren't emulated at all, sorry but your lack of money to upgrade 10year old hardware to something which actually can handle psp emulation does NOT justify you making up stories out of personal frustration. Gold version of PPSSPP does NOT differ from standard one outside of the colors, in fact for more adventurous users it's worse as it doesn't get updated at all outside of release versions which happens like once or twice a year and potential performance regressions that are actually confirmed are fixed in standard version far earlier than they get into "gold" one.

http://forums.ppsspp.org/showthread.php?tid=6594 - Custom PPSSPP Shaders!
http://forums.ppsspp.org/showthread.php?tid=3590&pid=117172#pid117172 - simple CE scripts to help creating CWCheats,
https://github.com/LunaMoo/PPSSPP_workarounds - CWCheat workarounds.
Find all posts by this user
Quote this message in a reply
09-14-2018, 03:34 PM
Post: #24
RE: Why was Multi-threading removed?
(09-13-2018 10:59 PM)LunaMoo Wrote:  Stop trolling @Tabris666, the only reason people answer your posts is because they're full of made up shit.

Old MT was breaking games, new MT is not, it's also faster and works on all hardware same way differing only by performance gains while old MT was bugging out different users in different ways which was as useful to whole community as your account filled with trolling spam here.

The reason PPSSPP became slower for some potato users like you is addition and fixes of more heavy effects which in the past weren't emulated at all, sorry but your lack of money to upgrade 10year old hardware to something which actually can handle psp emulation does NOT justify you making up stories out of personal frustration. Gold version of PPSSPP does NOT differ from standard one outside of the colors, in fact for more adventurous users it's worse as it doesn't get updated at all outside of release versions which happens like once or twice a year and potential performance regressions that are actually confirmed are fixed in standard version far earlier than they get into "gold" one.

yes potato 8 cores 2.4 ghz,nvidia shield gpu,4 Gb of ram for my gaming tablet (i think you barelly know me and you are one of the guys i reported for trolling old users) which is more advanced and powerfull then even last gen iphone or some android shit,my pc is powerfull i am able to play gta V,rage for pc at highest setting no fps loss,ps2 emulator,cemu,rpcs3,watch dogs game at max settings if that kind of pc is a potato for you i bet you are a troll or similar that feels envy of other people.

of 100 games that work perfectly on 0.9.9 (ignoring save problem for 3 games) the performance was great compatibility was really good all the games worked and now on latest 1.6.3 what works barelly 10 games and they claim is better then before accuracy has increased but the only thing i have seen is they added some features not needed or other backends that break emulation instead of improving opengl as they had in the past.

Multi threading broke games if you had an old pc or a pc with several cores but didnt have multi threading or hyper threading (some intel cpu are like that)
Find all posts by this user
Quote this message in a reply
09-15-2018, 02:53 PM
Post: #25
RE: Why was Multi-threading removed?
Just disable simulate block transfer and slower effects. You can have the same bad graphics as old versions while using the latest versions of PPSSPP. The new multithreading is already in, faster, and better.

Your performance problems are because back in 0.9.9 (which was literally over 10,000 changes ago, released 4 years ago), we didn't support a lot of rendering effects games use. We support them now, but they can cause slowdowns.

But we added those two options to turn off the rendering effects, so you're not stuck with the higher accuracy. You can still have bad graphics and more speed if you really want.

There's a ton of games that have been made more compatible, had crashes fixed, or etc. since v0.9.9. v1.0 in particular had a lot.

But sure - if you don't care about these updates and feel like v0.9.9 was the golden, beautiful release... why are you complaining? Just keep using v0.9.9. No one here is trying to separate you from your bugs. You're more than welcome to stick with them forever.

The old, badly implemented multithreading feature broke games on all sorts of systems. For example, my Core i7 definitely had issues with the badly implemented mulithreading. I don't think my CPU is that old, though I'm considering an upgrade to an 8700 now. It's certain that the bugs in the old multithreading would be present on an 8700 too. In fact, they would be worse if I didn't also upgrade my video card.

The good news is the new, better multithreading works great. It's so good, we removed the option to turn it off. Don't want multithreading? Too bad, you cannot turn it off. That's because it's better for literally everyone, whether on old Pentium 4s or new Core i7s.

-[Unknown]
Find all posts by this user
Quote this message in a reply
Post Reply 


Forum Jump: