sifadil / pcsx2-playground

Automatically exported from code.google.com/p/pcsx2-playground
2 stars 0 forks source link

VU-Skip and Crash Bandicoot #66

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
Previous version of VU-Skip was fine, speed was excellent. But now with the
same settings (0-9999-1-1) it is horrible. When VU-Skip is not needed, game
is smooth. I mean SMOOTH. That is great. But, when I get into the game,
it's choppy, so it's unplayable. I tried change settings (0-9999-2-2), it's
better, but still worse than before. Can you do something abou it?
Thanks.

Original issue reported on code.google.com by Mr.Hen...@gmail.com on 29 Nov 2008 at 9:51

GoogleCodeExporter commented 8 years ago
Sure, try setting all to 0.
The algorithm has changed, so you'll have to find new settings.
Try lots of settings, if no one works acceptable report back.

Original comment by ramapcsx2 on 29 Nov 2008 at 10:13

GoogleCodeExporter commented 8 years ago
So, here are the results:
Option 1 - No effect.
Option 2 - No effect.
Option 3 - 1: Choppy. 2: Less choppy, but still choppy. 3+: Too fast/Too slow.
Option 4 - 1: Less choppy, than option 3 - 1. 2: Same choppy as option 3 - 2. 
3+:
Even more choppy, unplayable.

Original comment by Mr.Hen...@gmail.com on 29 Nov 2008 at 10:29

GoogleCodeExporter commented 8 years ago
I will go revisit the algorithm with using those settings specifically.  
Admittedly I
didn't test 1/1 because it causes vsync field errors on most of my games.  I 
have one
that likes it though so I'll see what I can figure out.

Also, anything past 2 is usually a really bad idea regardless (super choppy and 
lots
of artifacts), and we should probably just put a cap on it at either 0 
(defaults to
2), 1 or 2.

Original comment by Jake.Stine on 29 Nov 2008 at 11:32

GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
Just to add, the reason from the higher skip could be that in the same rev. 
Jake set
down the EE wait state to 512 from 2048 if I remember correctly.
Some game can have some slowdown and this could be why your game seem to skip 
more
with this new vu-Skip but in fact it could be the EE wait cycle at 512 that is 
at fault.
Personally I think this VU-skip Jake coded is perfect (or almost since nothing 
is
perfect in this world).
Ill maybe post a version of pcsx2 with the current vu=skip but with the Wait 
state at
2048 so you can test just to be sure what is the cause.

Original comment by Wagnar...@gmail.com on 29 Nov 2008 at 11:31

GoogleCodeExporter commented 8 years ago
here is the file keep us updated Henky1

Original comment by Wagnar...@gmail.com on 30 Nov 2008 at 12:01

Attachments:

GoogleCodeExporter commented 8 years ago
Didn't help.

Original comment by Mr.Hen...@gmail.com on 30 Nov 2008 at 7:27

GoogleCodeExporter commented 8 years ago
I've uploaded a new frameskipper into the SVN.  Give it a try.

Original comment by Jake.Stine on 4 Dec 2008 at 7:09

GoogleCodeExporter commented 8 years ago
Waiting for re4rainbow to compile SVN.

Original comment by Mr.Hen...@gmail.com on 4 Dec 2008 at 7:44

GoogleCodeExporter commented 8 years ago
Ok ive tested it and it seem to work good.
But I have 1 question about it.
I have a game named Bleach Blade battler 2. And this is a fighting game that 
tend to
skip a lot in-game because its intensive 3d.
WIth this vu-skip, I lose the background and character on screen.
It doesnt happen on Framskip setting tho.
I just wanted to be sure this is normal because I know that vu-skip could make 
appear
artifact since it skip the vu lol.  But the complete removal of character and 
background?
Thanks for tips.

Original comment by Wagnar...@gmail.com on 4 Dec 2008 at 5:12

GoogleCodeExporter commented 8 years ago
I'm not entirely sure what all the VU Skip could do, artifact-wise.  Missing 
geometry
might actually be the #1 likely result of skipped VUs.  I know that some games
actually run slower, I assume because they wait on certain VU irqs that end up 
being
missed or skipped.. so yeah, it's highly experimental stuff the VUskip is :)

Original comment by Jake.Stine on 4 Dec 2008 at 10:18

GoogleCodeExporter commented 8 years ago
It is... different. It isn't choppy anymore, but slow. It has GFX issues and 
after
entering the first level, emu freezed. So no, it isn't better.

Original comment by Mr.Hen...@gmail.com on 5 Dec 2008 at 3:37

GoogleCodeExporter commented 8 years ago
That was under VU-Skip only?

Original comment by Jake.Stine on 7 Dec 2008 at 4:17

GoogleCodeExporter commented 8 years ago
OK, I did som testing. It seems, that the freez promblem did haped only once. 
Speed
is OK, unless skiping is needed and then FPS is droping to around 40 FPS. 
Didn't have
this problems in old VU-Skip. The good news is DX10 in Gsdx is working properly 
:)

Original comment by Mr.Hen...@gmail.com on 8 Dec 2008 at 7:07

GoogleCodeExporter commented 8 years ago
Still, the VU portion of the new skip algo probably isn't ideal.  I need to
enable/disable the VU from the EE and currently it's done from the MTGS.  This 
means
2 things.  One, the VU is disabled for a much shorter period of time than 
before,
which is probably why your fps isn't as good as it should be.  Second, the VU is
probably happier if the VU is enabled/disabled within the context of a VBLANK, 
and
the MTGS just sort of enables/disables it "whenever."

I'll see if I can't fix it.  I have an idea in mind which just might do the 
trick, I
hope.

Original comment by Jake.Stine on 8 Dec 2008 at 8:00

GoogleCodeExporter commented 8 years ago
I've prepared a new VUskip which should make it behave a lot better (fewer 
artifacts,
and no more freezing hopefully).  However, VUskip still won't keep FPS as
consistently as the regular skip method when MTGS is enabled.  This is 
unavoidable
due to the way PS2 emulation works, such that the MTGS must "pass back" VUskip
requests to the EE/VU1 unit, so the actual VU skip activation/deactivation gets
delayed somewhat.

ETA for the uploaded fix may be a couple days though.  I'm probably going to 
roll it
together with another MTGS bugfix related to GIFtag handling.

Original comment by Jake.Stine on 9 Dec 2008 at 11:56

GoogleCodeExporter commented 8 years ago
So, what's the status? Long time no update.

Original comment by Mr.Hen...@gmail.com on 18 Dec 2008 at 9:56

GoogleCodeExporter commented 8 years ago
Devs, I've had a big problem with VU Skip today.

I was playing Persona 3 FES with the Limit Speed option and, when i reached a 
boss
fight, I toggled to VU-Skip because it was pretty slow... 

Well, after 10 minutes i noticed that during a few seconds the menu was acting 
weird
(it did not move where i was saying to), and after that, pcsx2 closed up.

Later I tried again without changing to VU-Skip mode and i could pass that boss.

I hope this can help.

Original comment by tiku...@gmail.com on 20 Dec 2008 at 2:23

GoogleCodeExporter commented 8 years ago
The current VU-skip is highly unstable.

I'll try to get my fix for it up soon, but I got side-tracked with the VTLB 
build/merge.

Original comment by Jake.Stine on 20 Dec 2008 at 2:44

GoogleCodeExporter commented 8 years ago
r467 / r468 should fix VUSkip instabilities and improve the visual quality in a
sense.  Flickering will be on a frame-by-frame basis instead of the 
piece-by-piece
flickering caused by the old version.

Let me know if problems persist.

Original comment by Jake.Stine on 20 Dec 2008 at 9:33

GoogleCodeExporter commented 8 years ago
Yes, the GFX guggs are gone, but bad speed is still there. I'm staying with 
r362,
which is funny, 'cause it's more than 100 revisions and it still isn't working
properly. But thanks for your effort anyway.

Original comment by Mr.Hen...@gmail.com on 21 Dec 2008 at 7:13

GoogleCodeExporter commented 8 years ago
I've been testing VU-Skip and it seems that is really ok now with stability.

The speed is still worse than other options, but at least it seems a little more
accurate.

Thx, Jake :)

Original comment by tiku...@gmail.com on 22 Dec 2008 at 9:34

GoogleCodeExporter commented 8 years ago
I noticed huge speed improvements using VUskip in a couple of my games, and then
speed regressions in other games.  I'm not really sure why that happens.  I 
assume
it's because some games end up "waiting" for the VU irqs that don't happen when 
the
VU is skipped, and if so there's nothing we can do about it.

But for now it's at least another option in the toolbox that can make some 
games more
enjoyable. :)

Original comment by Jake.Stine on 23 Dec 2008 at 12:01