Why only 2 threads?
#11
Well x64's only real advantage for us is the larger addressing space (has various uses), the extra registers aren't very helpful (especially since they're mostly scratch) and the ABI changes they bring are downright painful and the wider instructions are at best useless.
Reply

Sponsored links

#12
A cousin of mine knows about the tech on a basic level and explained it to me: emulation means that the entire code must be emulated on hardware which does not represent the original PS2. Unless your PC has the same CPU and GPU as the PS2, the computer has to do the same work the hard way. With "hard way" meaning that it requires hundred-thousands, if not even millions of times more effort. As a result, a console released in 2000 requires hardware from 8 to 10 years later just to keep up with the extra effort.

Aside from that, the PS2 doesn't have a quad-core CPU. It has dual-core at best (theoretically speaking, since the console was released in 2000) so the emulator can only use two processors to emulate the code. Adding quad-core might help somehow, but since the console can't handle 4 cores natively, the bonus is only superficial, which is the 20-30% which someone mentioned before(although even that would be nice, but c'mon, that's only if you want to play with enhanced anti-aliasing on 1080p).

In other words, all they can do is somehow reducing the effort needed to create the results. Easier said than done, but sadly the only option left in the long run. Unless they have a holy grail plug-in in development that makes it 10 times better XD.
Reply
#13
Thread synchronisation and parallel emulation has little to do with the lack of cores in the console itself.
Reply
#14
The PS2 has 11 cores, doesn't it? 2 of them are the Vector Unit processors, 1 of them is the GS, and 8 are contained in the EmotionEngine?

It's just that a lot of these processors are heavily synchronized and therefore hard to thread except for the GS and the whole of the EmotionEngine, right?
Want to contribute? Don't know how? Check out the PCSX2 Wiki page!



Keep safe with MyWOT.

I have everything...
Reply
#15
Chris: Unfortunately we're fresh out of holy grails Wink

MyDreamName:
IOP, EE with VU0 and VU1, GS. Those are the workers in the console. All the rest is just specialized chips
that handle pretty basic tasks. Threading them out would cause said sync issues and may not even be worth the effort.
Reply
#16
The EE has 8 cores? I think you're confusing the PS2 with the PS3 there. Our main threading hope is simulating multiple VU1 units by lying to the EE. A lot. We don't know whether it'll work at all.
Reply
#17
(07-18-2011, 05:02 AM)rama Wrote: MyDreamName:
IOP, EE with VU0 and VU1, GS. Those are the workers in the console. All the rest is just specialized chips
that handle pretty basic tasks. Threading them out would cause said sync issues and may not even be worth the effort.

just to add to that, there are components used to transfer/unpack data to/from the other components.
the main ones being vif0/vif1 and gif.
pcsx2 spends a significant amount of time running vif unpack code and we ended up writing recompiler to speedup the process.

pretty much every major component of the ps2 needs to have optimized code for it in pcsx2 in order to get decent performance like we have now. for example, you can easily slowdown emulation by over 20% by just having unoptimized vif unpack code... and that's just a small component of the ps2 system.
Check out my blog: Trashcan of Code
Reply
#18
(07-12-2011, 11:53 PM)ecchiless Wrote: Off topic; what about 64bits? or would be a waste of time??

a 64 bit of pcsx2 was developed before and failed Closedeyes for more information read this :
http://forums.pcsx2.net/Thread-We-are-dr...und-builds
anyway from what my mortal brain understand the reasons were :
1- no speed advantage Glare
2- x86 of pcsx2 is working perfectly on x64 OS
3- it was really hard to the developers to keep both versions alive Tongue

it is not bad to study the history of pcsx2 Wink
Reply
#19
Ah yea cotton, forgot to mention the various data movers Tongue2
Reply




Users browsing this thread: 1 Guest(s)