Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge vfpu-dot changes and add compat flag for Tekken #12217

Merged
merged 14 commits into from
Aug 5, 2019

Conversation

unknownbrackets
Copy link
Collaborator

Alternative to #12214 with all the previous commit history for blame. Interpreter should be unchanged compared to that commit (new constants USE_VFPU_DOT and USE_VFPU_SQRT are used to enable functionality across other ops.)

I do think we probably will want to just enable these by default for interpreter, assuming it doesn't make any op we haven't written jit for too slow.

For jit, it'll require more careful testing to determine where it's worth it - I've considered if a setting might make sense, since TAS users most likely would want the accuracy rather than the speed. For people viewing Dissidia replays made on a PSP, an option (defaulting off) might make sense. Ideal would be a fast jit implementation that has no significant FPS impact.

-[Unknown]

This gets some vdot/similar tests to give more accurate results compared
to hardware.  Also added flushing of zero and NaNs.

Currently disabled, only enabled with a compile-time flag.
Disabled by default using a compile-time flag.
Improves test accuracy here too.  Also keep neg sign on NAN for vdiv.

Disabled by default via compile-time flag.
This matches the PSP's square root better.

Disabled by default using a compile-time flag.
Copy link
Owner

@hrydgard hrydgard left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great, this is a much better solution. After 1.9.0 we'll enable USE_VFPU_DOT and USE_VFPU_SQRT.

A minor build error needs fixing, not much to comment about that.

Tekken 5 is not affected (I think?) so those IDs can be removed from the list.

@unknownbrackets
Copy link
Collaborator Author

Removed Tekken 5 (I have no idea if affected, was just copying the IDs in.) Obviously forgot to check compile after I pasted the check into IR too, sorry...

-[Unknown]

@LunaMoo
Copy link
Collaborator

LunaMoo commented Aug 5, 2019

Oh, I never really checked;p, Tekken 5 has some tiny shaking, but whole characters shake evenly, it's pretty awful, but possibly exist on real PSP as it might be using awfulness of PSP screen for anti aliasing or some other eye candy blur.

@hrydgard
Copy link
Owner

hrydgard commented Aug 5, 2019

Alright. Yeah let's hold off on Tekken 5 for now.

@ghost
Copy link

ghost commented Aug 6, 2019

I have a performance decrease in Tekken6 using the last build on my phone the FPS drops is 5-7 fps compare to the previous build but thanks for fixing the leg shaking hope you guys manage to fixed the performance ^_^

@hrydgard
Copy link
Owner

hrydgard commented Aug 6, 2019

@Emulatorer That's comparing to the build just before this one? What device is that? I hadn't expected quite such a big framedrop although of course expected some.

There is room for optimization and there might be some compromises that can be done to speed things up too in the future.

@ghost
Copy link

ghost commented Aug 6, 2019

@hrydgard yes I comparing the build just one before this that is running smooth then become lag after the implementation of this build my phone is Mali-450 GPU Octacore @1.4GHz CPU and I use force 30fps cheat code

In the previous build I got a 29/30 in all stages but now I only got 23/30 fps 75% speed and aslo tried it on Mali-T720 GPU Quad-core @1.4GHz phone I didn't use force 30fps cheat btw the performance also decrease compare to previous build that I got 35/60 FPS (frameskipping x1) but now in the current build I only got 20/60 FPS (frameskipping x1)

@ghost
Copy link

ghost commented Aug 6, 2019

@PilipinoAko and @marosis can you try Tekken6 using the last beta build and feedback if it's lag on your android devices!? 😅

@hrydgard
Copy link
Owner

hrydgard commented Aug 6, 2019

Thanks! On my S8+ I didn't see any slowdown but of course it will be down to the spare power of the device. Like I said, I do believe we'll be able to catch up with some of the loss, but maybe not all of it.

@ghost
Copy link

ghost commented Aug 6, 2019

Thanks guys, for solving the shaking problem on Tekken 6 psp after 5 years!
It is playable on 60 fps on a mid-range Android device.

@ghost
Copy link

ghost commented Aug 6, 2019

Yeah, and I was using a snapdragon 636

@ghost
Copy link

ghost commented Aug 6, 2019

So only affected is entry level to low end android devices :(

@PilipinoAko
Copy link

PilipinoAko commented Aug 6, 2019 via email

hrydgard added a commit that referenced this pull request Aug 6, 2019
hrydgard added a commit that referenced this pull request Aug 6, 2019
hrydgard added a commit that referenced this pull request Aug 6, 2019
@unknownbrackets
Copy link
Collaborator Author

RAM has nothing to do with any speed impact you'll see here, it will probably center around CPU.

Currently it also adds a flush, although I'm not sure how big an impact that has. For sure the vfpu_dot algorithm can be optimized - I'd guess the compiler is not even using SIMD for it currently, which I suspect it could.

-[Unknown]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants