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

Vulkan Performance Regression in Earth Defence Force 2 #10597

Closed
fivefeet8 opened this issue Feb 9, 2018 · 15 comments
Closed

Vulkan Performance Regression in Earth Defence Force 2 #10597

fivefeet8 opened this issue Feb 9, 2018 · 15 comments
Labels
Milestone

Comments

@fivefeet8
Copy link

What happens?
Earth Defense Force 2 performance with the Vulkan render is below 50% ingame. OpenGL now runs the game full speed when before it was at 50%.

What should happen?
In earlier builds the game ran 100% speed with the Vulkan path and 50% with OpenGL.

What hardware and operating system are you running PPSSPP on? GPU might matter if it's a graphical issue.
This is on a Nvidia Shield TV.

@fivefeet8
Copy link
Author

fivefeet8 commented Feb 9, 2018

I did some more testing of previous builds and the last build where Vulkan performance was ok in this game was rev. 386 and before. It was already slower than even earlier builds but any build above 386, and Vulkan is very slow in this game.

@hrydgard hrydgard changed the title Vulkan Performance Regression Vulkan Performance Regression in Earth Defence Force 2 Feb 9, 2018
@hrydgard
Copy link
Owner

hrydgard commented Feb 9, 2018

So 387 is really slower? Not much change in that vs 386.. I would rather expect 484 to be the first bad one, if anything...

@hrydgard hrydgard added the Vulkan label Feb 9, 2018
@fivefeet8
Copy link
Author

I think you're correct. I didn't check 387, but all the 4xx revision I checked are slower with Vulkan.

@unknownbrackets
Copy link
Collaborator

Are you able to compile? If you could try to bisect, it'd really help. I think as long as you use the Vulkan backend there shouldn't be any crashes in that range, probably...

-[Unknown]

@hrydgard
Copy link
Owner

I've been looking at the diff restricted to Vulkan-related code between 386 and 484:

git diff 26b146a24 22e28e218 Common/Vulkan ext/native/thin3d/Vulkan* GPU/Vulkan GPU/Common

and I really can't see anything that would make it slower. I don't see any speed difference for Vulkan in other games on my computer or phones between these two revisions, though haven't tried the Shield TV yet due to minor setup inconveniences.

EDF2 is, if I remember correctly, one of those insane games that make many tens of thousands of draw call per frame because they switch backface culling every few triangles in order to be able to wind strips backwards, which is just dumb. You'd expect to see some change that would be likely to slow down making draw calls but I can't see anything in the diff.

@fivefeet8
Copy link
Author

Hmm. It may be something specific to the shield tv. The game runs a lot faster with Vulkan on my zte phone with an adreno 5xx GPU.

@hrydgard
Copy link
Owner

hrydgard commented Feb 10, 2018

So, I'm mystified. Tried a couple of my favorite performance-intense games and not a hint of a slowdown in newer builds as compared to #387 in Vulkan (and performance slightly improved in GL, though on Shield which has really fast GL drivers already, the gain isn't nearly what I see on phones).

My Shield TV is updated to the newest OS. Used self-built builds, not buildbot.

The buildbot hasn't started doing debug builds or something like that right @Orphis ? :P (not exactly likely...)

@unknownbrackets
Copy link
Collaborator

With #10973 merged, does this still happen? Whatever the issue here, driver or otherwise, that change may have helped overcome the performance problems.

-[Unknown]

@fivefeet8
Copy link
Author

I checked the game on my ZTE Snapdragon 820 phone and it seems Vulkan performance is up. I'll check my Shield TV later tonight.

@fivefeet8
Copy link
Author

Hmm. Still seems quite slow with Vulkan on my Shield TV. OpenGL is much faster still.

weihuoya pushed a commit to weihuoya/ppsspp that referenced this issue Jun 12, 2018
weihuoya added a commit to weihuoya/ppsspp that referenced this issue Aug 23, 2018
weihuoya added a commit to weihuoya/ppsspp that referenced this issue Aug 23, 2018
weihuoya added a commit to weihuoya/ppsspp that referenced this issue Aug 23, 2018
weihuoya added a commit to weihuoya/ppsspp that referenced this issue Aug 23, 2018
weihuoya added a commit to weihuoya/ppsspp that referenced this issue Aug 23, 2018
@fivefeet8
Copy link
Author

fivefeet8 commented Oct 31, 2018

Tested the recent code updates on my Shield TV and Snapdragon 820 phone and the low performance is still there with the Vulkan backend. OpenGl is much faster on both.

@unknownbrackets
Copy link
Collaborator

Note that #11172 has not yet been merged.

-[Unknown]

hrydgard added a commit that referenced this issue Nov 23, 2018
@unknownbrackets
Copy link
Collaborator

unknownbrackets commented Dec 4, 2018

That change has now been merged, and some follow up issues fixed. How does this look now?

-[Unknown]

@hrydgard
Copy link
Owner

hrydgard commented Dec 4, 2018

s/not/now :)

@fivefeet8
Copy link
Author

It looks amazing. Both OpenGL and Vulkan are full speed on the game. 👍

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

No branches or pull requests

3 participants