Need info from Pcsx2 coders
#11
(06-17-2011, 02:11 PM)ferrariii Wrote: Ya i agree with your statement.
but why should coders didn't make pcsx2 foR core 2quad also i think they have to do changes by copying the whole coding and then a little bit of editing..

A lot of editing. So it is the same as rewriting it.
Reply

Sponsored links

#12
(06-17-2011, 02:11 PM)ferrariii Wrote: Ya i agree with your statement.
but why should coders didn't make pcsx2 foR core 2quad also i think they have to do changes by copying the whole coding and then a little bit of editing..
Because Intel i generation processors are launched and core 2duo is going out dated....

Yes current intel i5/7 processors are more than enough for the task, specially if you overclock them and it's not because they have more cores but because they're faster.
An i5 2500 is about 20-30% faster than a core2 duo E8600 (both have about the same clock speed (3.3GHz) ) and would be more than that 5-10% or 6FPS on your example.

And no... it's not just a bit of editing, if it was that easy it would have probably been done already long ago Tongue2
Core i5 3570k -- Geforce GTX 670  --  Windows 7 x64
Reply
#13
Should be simple I think, Just edit:
Use_cores=2;

and change to 4, or 8, no?
Reply
#14
(06-17-2011, 06:35 PM)avih Wrote: Should be simple I think, Just edit:
Use_cores=2;

and change to 4, or 8, no?

Should be Tongue2

And on the topic of CPUs, clockspeed isn't everything. A CPU at 2.3ghz could be much faster than its 3ghz brother due to the architecture. (Seems extreme but hopefully my point got across).
Reply
#15
If by "brother", you mean "older brother" from the same "mother", born years before. This is what's known as a "clock-for-clock advantage". Wink

On the topic of PCSX2 using more cores/threads, I like to let people know that Windows 7 seems to spread the load of PCSX2 across all cores fairly well on my 2500K. It's not that benefitial, though.

@ avih:
Dude, that's classic! Laugh
Reply
#16
pcsx2 already has 3 main threads: a core thread, a gs thread, and a gui thread.
the thing about multi-threading is that its not always a huge speedup as many newbies think.
look at the gui thread, do you think thats providing a big speedup?

you need to thread big components that are doing a lot of work in order to get noticeable results.
currently the most probable component in pcsx2 to thread is VU1.
however there are big problems with doing so, which is why we don't have it threaded yet.
basically every part of pcsx2 that can access vu1 in some way needs to account for VU1 being threaded. and a lot of code that is doing this is a mess or is already very complicated, so making that code account for VU1 being threaded is not easy and perhaps not even a good idea since it will just introduce more random bugs.
vu1 being threaded will also require changes in the gif uploading, and depending on how its implemented could cause additional random problems by packets being sent at varying times.
also if this is ever attempted, the emitter needs to have some multi-threading defines enabled; because it is not thread safe unless you enable that. with the defines enabled it uses thread local storage for its global variables.

in the end though, its probably best to abandon the idea. it will only complicate the already messy code. and any fast implementation will be hacky and bug prone.
Check out my blog: Trashcan of Code
Reply
#17
(06-18-2011, 01:08 AM)Rezard Wrote: On the topic of PCSX2 using more cores/threads, I like to let people know that Windows 7 seems to spread the load of PCSX2 across all cores fairly well on my 2500K. It's not that benefitial, though.

yeh the OS will just assign the threaded code to be run on w/e logical core it wants for a time-slice. it seems to alternate the cores that are used in quad-core systems.
however in the end it is not paralleling the code by doing this, its running it for x amount of nano-seconds on one core, and then after that it runs the same thread for y amount of nano-seconds on another core.
Check out my blog: Trashcan of Code
Reply
#18
Moving pcsx2 to quad core is a lot more complicated than just finding a line of code and writing cores = 4. At the very least a lot of new bugs would be introduced with the complete code rewrite to take into account new registers, cache, cores, etc. Coding in parallel gets exponentially more difficult the more cores are added. It is nice with just one core because then all you have to deal with is just fetch and execute. When you take timing into account things get difficult.

Plus as I understand it pcsx2 relies on precise timing for emulation. If you have 4 cores all working as fast as possible and one core needs information that was processed by another you will have to stall the program until the bottleneck core catches up with the processing. When you are having to stall quite frequently then you really get no speed increase.

That is what I think anyway when the pcsx2 coders say quad core support would only give a slight fps increase. While it is nice in theory to have all 4 cores working as hard as possible, you will have to end up stalling most of the time anyway to have the components like the EE and VU catch up to each other in order to get the correct timings for the emulation.
Reply
#19
Correct. And this stalling can go so far as to *decrease* the speed.

What we really need is the chip makers to increase their single thread
execution speed (which thankfully they're doing now).
Reply




Users browsing this thread: 1 Guest(s)