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

Enhance the EE recompiler making big speed gains #7295

Merged
merged 7 commits into from Nov 19, 2022

Conversation

stenzek
Copy link
Member

@stenzek stenzek commented Oct 29, 2022

Description of Changes

  • Add fastmem
  • Add delay slot swapping
  • Add COP2 sync elision
  • Add block analysis and use analysis
  • Add GPR register caching and renaming

Rationale behind Changes

Brr.

Suggested Testing Steps

Find out what's broken.

@seta-san
Copy link
Contributor

the 3d opening to ffx 3x res
145-270 v-fps on master
260-415 v-fps on pr to give you an idea

@refractionpcsx2
Copy link
Member

not new new numbers (I did them yesterday)
Jak and Daxter
image
Jak 3
image
Ratchet & Clank
image
Shadow of the Colossus
image
Soul Calibur 3
image
FFX-2 Intro Movie
image
True Crime NYC
image
Dark Cloud 2
image
Hitman Blood Money
image
Metal Gear Solid 3
image
MDK 2
image
Burnout 3
image
Tekken Tag
image

And saving the best to last... ICO
image

Copy link
Contributor

@lightningterror lightningterror left a comment

Choose a reason for hiding this comment

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

Warnings can be cleaned up.
iCore, iCore-32, recVTLB, microVU_Macro, microVU_Macro

https://github.com/PCSX2/pcsx2/actions/runs/3356305627/jobs/5561277204#step:11:806

Copy link
Contributor

@JordanTheToaster JordanTheToaster left a comment

Choose a reason for hiding this comment

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

Small improvements are always welcome.

hjerjnertdjnretj

Copy link
Contributor

@lightningterror lightningterror left a comment

Choose a reason for hiding this comment

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

A few more warnings in iR5900Templates.cpp, recVTLB.cpp

https://github.com/PCSX2/pcsx2/actions/runs/3370863751/jobs/5592311071#step:11:823

@refractionpcsx2
Copy link
Member

Doing some extensive testing, I will update this as I find broken stuff.

Chicken Little - Stuck in place, if you jump out of it you slide until you either jump or fall off the edge of the map
Incredibles - Rise of the Underminer - CTD (crashdump below)
Incrediblescrash.zip

@ehw
Copy link
Contributor

ehw commented Nov 6, 2022

Tested Bouken Jidai Katsugeki Goemon (SLPM-65014) with these changes just in case something broke. Wasn't sure what to anticipate other than performance improvements, but wanted to give this game a go since it notoriously does some weird things that warranted it having a pretty sophisticated hack to even work properly.

Behavior both with and without the "Goemon-TLB" hack is the same in comparison to the main branch. Game still functions normally without the hack if using EE Interpreter (disable "Enable Recompiler" under EmotionEngine "Advanced System" settings).

@F0bes
Copy link
Member

F0bes commented Nov 9, 2022

Here are some results when using fobesmark™
Basic Arithmetic: ~209VPS -> ~312VPS
Small Recompiler Blocks: ~64VPS -> ~73VPS
LD(x) and SD(x): ~205VPS -> ~290VPS

These numbers are completely meaningless as these tests are designed to be as outrageous as possible. But it's cool nonetheless.

@Berylskid
Copy link
Contributor

Select "1x Scale" from Window Size with "Render to separate window" unchecked, then the game screen becomes too long horizontally.
This does not happen in the Master build.
This is a little inconvenient, albeit limited.

@Berylskid
Copy link
Contributor

Berylskid commented Nov 17, 2022

Tested Armored Core Nexus (NTSC-J) (SLPS-25338 and SLPS-25339):

  • Cursor always goes downward automatically on menu part.

It doesn't occur while playing Mission part.
I also tested Armored Core Last Raven (SLPS-25462) and this problem did not occur.

@JordanTheToaster
Copy link
Contributor

Tested Armored Core Nexus (NTSC-J) (SLPS-25338 and SLPS-25339):

  • Cursor always goes downward automatically on menu part.
  • It doesn't while playing Mission part.

I also tested Armored Core Last Raven (SLPS-25462) and this problem did not occur.

Can't repro either of your issues.

@refractionpcsx2
Copy link
Member

refractionpcsx2 commented Nov 17, 2022

Menu cursor going down was reproduced, only on the Japanese version.

@stenzek
Copy link
Member Author

stenzek commented Nov 17, 2022

Fixed in latest push.

@refractionpcsx2 refractionpcsx2 changed the title Make the EE rec suck less: Part 1 Enhance the EE recompiler making big speed gains Nov 19, 2022
@refractionpcsx2 refractionpcsx2 merged commit 0e73bf1 into PCSX2:master Nov 19, 2022
@stenzek stenzek deleted the x86 branch November 19, 2022 07:47
@mindinsomnia
Copy link

Sounds amazing, looking forward to trying it out.

Some games I can think of which had some major performance issues when I tested them last that would be worth testing:
Primal (only barely playable even on a high end PC)
Kim Possible: What's the Switch? (cutscenes had major performance issues)

@lightningterror lightningterror added this to the Release 2.0 milestone Nov 29, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

10 participants