Software mode threading
#1
I been wondering this for a long time.. since I think it was around r3137 or so, the old GUI PCSX2 where setting X software rendering threads actually used that many threads or appeared to.

Now I am using the latest SVN from the build bot with all settings default, MTVU is off as its reducing FPS and appearing to make the "threading issue" worse, speed hacks all off. With my desktop system in my profile I put render threads to 7, I get output like this:

[Image: th_oddsoftwarethreading.png]

If I set 8 (yes I know PCSX2 needs its own thread) it slows down slightly but still doesnt use even close to whats set, I would think all threads would be near 100%? The older versions of PCSX2/GSdx didnt behave like so for software mode and was giving more FPS in that same spot in the game, doesn't look like EE is the cause or GS going by the window's display load. In the most intense spots like this, 3 threads are dead and the ones in use are barely over half and this is with 7 render threads set. Is there a reason for this? It a bug? Would like to know.
-Core i7 6700k @ 4.5 GHz
-GIGABYTE Z170X-Gaming 5
-G.SKILL Ripjaws V 16GB DDR4 2400 @ 14-13-13-30-1T
-EVGA GTX 970 4GB @ 1380/1853 MHz
-Crucial MX100 512GB, Silicon Power S60 120GB, Toshiba 2TB 7200 RPM
-PC P & C Silencer 750 Quad
-Windows 7 x64

-----

-Core i7 4710MQ
-16GB DDR3 1866
-GTX 965M 4GB @ 1127/1353 MHz
-Mushkin ECO2 240GB, HGST 1TB 7200 RPM
-Windows 7 x64
Reply

Sponsored links

#2
That's because hyper threading screws up the reading of each core. And since hyper threading provides no benefit in pcsx2, it's better to set the software thread to 3 so that each thread has its own dedicated core instead of having two threads racing against each other for the same core.
Reply
#3
No benefit? It did with older builds.. and when I set it to 3 it looses more FPS from the 30 at that situation in the screenshot. Also I have tried HT off to get the "full core's power" per thread, much much less FPS than with HT on, places where it will get full speed with HT on it will no longer get with HT off.
-Core i7 6700k @ 4.5 GHz
-GIGABYTE Z170X-Gaming 5
-G.SKILL Ripjaws V 16GB DDR4 2400 @ 14-13-13-30-1T
-EVGA GTX 970 4GB @ 1380/1853 MHz
-Crucial MX100 512GB, Silicon Power S60 120GB, Toshiba 2TB 7200 RPM
-PC P & C Silencer 750 Quad
-Windows 7 x64

-----

-Core i7 4710MQ
-16GB DDR3 1866
-GTX 965M 4GB @ 1127/1353 MHz
-Mushkin ECO2 240GB, HGST 1TB 7200 RPM
-Windows 7 x64
Reply
#4
Oh and is that Ace combat 4 or 5 you're playing? I'd like to give it a try on my i7 3930k and see if I can obtain full speed.
Well you can only set the number of extra threads in the newer builds so you need to leave 2 spare threads for pcsx2 core and the main GS thread. These 2 threads you will probably want running in its own dedicated core.
Reply
#5
old versions didn't thread properly.
Reply
#6
So what would be the ideal number of extra software threads to set on a 6 core i7?
Reply
#7
(01-09-2012, 12:14 AM)DrHycodan Wrote: Oh and is that Ace combat 4 or 5 you're playing? I'd like to give it a try on my i7 3930k and see if I can obtain full speed.

Ace Combat 4, absolutely addicted to this game Smile

(01-09-2012, 12:33 AM)Squall Leonhart Wrote: old versions didn't thread properly.

Well from what im seeing, im seeing the opposite which is why im hoping for some technical explanation as to why.

-Core i7 6700k @ 4.5 GHz
-GIGABYTE Z170X-Gaming 5
-G.SKILL Ripjaws V 16GB DDR4 2400 @ 14-13-13-30-1T
-EVGA GTX 970 4GB @ 1380/1853 MHz
-Crucial MX100 512GB, Silicon Power S60 120GB, Toshiba 2TB 7200 RPM
-PC P & C Silencer 750 Quad
-Windows 7 x64

-----

-Core i7 4710MQ
-16GB DDR3 1866
-GTX 965M 4GB @ 1127/1353 MHz
-Mushkin ECO2 240GB, HGST 1TB 7200 RPM
-Windows 7 x64
Reply
#8
Is this the only game giving you problems in software mode? What kind of fps do you get with Okami in software mode?
Reply
#9
All games thread like this in SW, even those like Rumble Racing that are full speed, the threading is still to my knowledge, abnormal. I don't have Okami.
-Core i7 6700k @ 4.5 GHz
-GIGABYTE Z170X-Gaming 5
-G.SKILL Ripjaws V 16GB DDR4 2400 @ 14-13-13-30-1T
-EVGA GTX 970 4GB @ 1380/1853 MHz
-Crucial MX100 512GB, Silicon Power S60 120GB, Toshiba 2TB 7200 RPM
-PC P & C Silencer 750 Quad
-Windows 7 x64

-----

-Core i7 4710MQ
-16GB DDR3 1866
-GTX 965M 4GB @ 1127/1353 MHz
-Mushkin ECO2 240GB, HGST 1TB 7200 RPM
-Windows 7 x64
Reply
#10
On my i7 2600, which is 4x2, 4 to 6 threads gives the most fps, actual cores - 1 was the limit before but not anymore. CPU was maxed in old versions because it was not giving up the threads to let them do other work, they were mostly not doing anything just continuously checking for some flag, task manager registered this as being active. Current builds use syncronization primitives to wait, provided by the operating system, so you see the real cpu usage. There is some task switching overhead (more on xp, less since vista) when a thread goes to sleep and wakes up, this should be compensated by the more uninterrupted work given to the workers and less syncronization, since r4992. There are revisions after big rewrites, which have unfinished code and not running at full speed, the first good one is probably r5036, then today's r5063 should be pretty bug-free as well.
Reply




Users browsing this thread: 1 Guest(s)