Dynamic VU cycle stealing
#1
Question 
I have question.  can pcsx2 make vu cycle stealing dynamic instead constant vu stealing?. I mean is, if ee and vu load is high  ( above 90%). vu stealing will activate. just like auto frameskip, but it is vu stealing.
Im sorry i often misstype because im using cellphone...Y( '',)Y
Reply

Sponsored links

#2
VU Stealing can make games to crash so automaticaly changing it depending on the situation is even more risky
Reply
#3
(11-15-2015, 12:53 PM)vsub Wrote: VU Stealing can make games to crash so automaticaly changing it depending on the situation is even more risky
 
has it been tried before?  since constant vu stealing  makes games slower in certain situation  and some games.
edit : isn't  it vu cycle stealing works on high vu load,  is it?
Im sorry i often misstype because im using cellphone...Y( '',)Y
Reply
#4
The problem is you need an indicator when to enable it. Since vu is async and works on demand and the demand is highly game dependent i dont know any indocator that would be reasonable.

I just create a random stupid example that might be completely wrong but just consider your cpu can process 10 instructions. The ee takes 8 and the vu takes 2 instructions. You are bottlenecked but still running in full speed. The scene changes and instead of 2 instructions the vu needs 4 instructions. You are now fully bottlenecked and run in slowmo. Easy solution: decrease vu instructions by 50% by adaptive vu cycle stealing if instructions > 2. the problem now if what happens if i switch the game and by default use only 4 ee instructions and 4 vu instructions. According to the considered model adaptive vu cycle stealing would kick in and reduce by 50%. But this will result in unnecessary stuttering.

So requested vu instructions are a bad indicator. What about cpu load? Well you can seperate that into gs load and ee load but if you are bottlenecked by ee or vu in the ee thread is unknown. So vu cycle stealing can help or not. So this is also no good indicator.

What could be a good indicator?
Reply
#5
(11-15-2015, 05:23 PM)willkuer Wrote: The problem is you need an indicator when to enable it. Since vu is async and works on demand and the demand is highly game dependent i dont know any indocator that would be reasonable.

I just create a random stupid example that might be completely wrong but just consider your cpu can process 10 instructions. The ee takes 8 and the vu takes 2 instructions. You are bottlenecked but still running in full speed. The scene changes and instead of 2 instructions the vu needs 4 instructions. You are now fully bottlenecked and run in slowmo. Easy solution: decrease vu instructions by 50% by adaptive vu cycle stealing if instructions > 2. the problem now if what happens if i switch the game and by default use only 4 ee instructions and 4 vu instructions. According to the considered model adaptive vu cycle stealing would kick in and reduce by 50%. But this will result in unnecessary stuttering.

So requested vu instructions are a bad indicator. What about cpu load? Well you can seperate that into gs load and ee load but if you are bottlenecked by ee or vu in the ee thread is unknown. So vu cycle stealing can help or not. So this is also no good indicator.

What could be a good indicator?

as far as my investigation,  the indicator are vu and ee. 
1.if ee load > 95% and vu load >95%. vu  cycle stealing is on
2.if ee load  > 95% and vu load < 95%. vu cycle stealing is off
3. if ee load < 95% and vu load > 95%. vu cycle stealing is off
4. if ee load  < 95% and vu load  < 95%. vu cycle stealing is off
here are example game,  i have tested :

1. God of war ll.  it has high ee load and high vu load. vu cycle stealing is the only solution to get good speed . 
2. Dynasty warrior 5 empire.  it had low ee load but  in certain  situation,  like  intensive graphic (if there are  a lot troops).  vu load suddenly increase. but it's strange,  motion become much slower. 
3. Street fighter ex 3 . it has high ee load and high vu load. again vu cycle stealing is the only way to get increase it speed. 
You could test other games too, wich has same ee load and vu load that described above. thank you Smile
Im sorry i often misstype because im using cellphone...Y( '',)Y
Reply
#6
By vu load you mean the indicator VU% using the MTVU hack? Can you really get it as high as 95%?

Unfortunately the vu thread is supposed to be 'tightly' synchronized with the EE thread. So cpu times of both components should affect each other. Furthermore I don't know how stable and reliable the vu indicator is upon vu cycle stealing usage.

This indicator might be usable but it's reliability could strongly depend on the game.

I fear that you can be bottlenecked by the VU thread without getting 95% load. I guess sometimes you can be bottlenecked during values around 50%. It really depends on the stalling of EE and VU threads which is game and HW dependent. I don't see how there could be some general rule. And this would be only applicable using the MTVU hack.
Reply
#7
(11-16-2015, 06:02 PM)willkuer Wrote: By vu load you mean the indicator VU% using the MTVU hack? Can you really get it as high as 95%?
Furthermore I don't know how stable and reliable the vu indicator is upon vu cycle stealing usage.

It can get that high, but things start to slow down around 85-90

The % will drop with stealing on for the most part.



FYI you can leave the speedhacks panel open while PCSX2 is running and change it on the fly as long as you hit "Apply." Dynamic speedhacks are a bad idea. What if they apply to one of the zillion games that actually get slowed down by them?

Anyway VU stealing is not the only way to increase speed. Getting a better machine will Wink
[Image: XTe1j6J.png]
Gaming Rig: Intel i7 6700k @ 4.8Ghz | GTX 1070 TI | 32GB RAM | 960GB(480GB+480GB RAID0) SSD | 2x 1TB HDD
Reply
#8
(11-16-2015, 06:02 PM)willkuer Wrote: By vu load you mean the indicator VU% using the MTVU hack? Can you really get it as high as 95%? 
 Yep,  iturn on mtvu hack because if i turn it off , it  doesn't  display vu load. 

"  Can you really get it as high as 95%? "
For  some  games,  yes it can get  vu load 95%. 
"  I guess sometimes you can be bottlenecked during values around 50%. "
As far as my investigation i never get slowdown if vu load 50%.
Please test with other games wich have high  ee and vu load. 
" Dynamic speedhacks are a bad idea. What if they apply to one of the zillion games that actually get slowed down by them?" 
Game  that i have tested is dynasty warrior empire 5,  which is slowed down by vu cycle stealing on. And this game doesn't  have high ee load. That's  one of condition wich " if ee load <95% and vu >95%" then vu cycle stealing is off. Thank you. 
Please please  try it.
Im sorry i often misstype because im using cellphone...Y( '',)Y
Reply




Users browsing this thread: 1 Guest(s)