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: Framebuffer manager: Use an allocator for "MakePixelTexture" images. #12873

Merged
merged 1 commit into from
May 6, 2020

Conversation

hrydgard
Copy link
Owner

@hrydgard hrydgard commented May 6, 2020

Fixes #12355 (or at a minimum, will improve it).

…images.

Fixes #12355 (or at a minimum, will improve it).
@hrydgard hrydgard added the Vulkan label May 6, 2020
@hrydgard hrydgard added this to the v1.10.0 milestone May 6, 2020
@unknownbrackets unknownbrackets merged commit b942607 into master May 6, 2020
@Passingby1
Copy link

Passingby1 commented May 8, 2020

Fixes #12355 (or at a minimum, will improve it).

Hey there.

Thanks a lot for making an effort in fixing this. What I have observed with this update is, the image still pixelates a lot when charging the shot, although it no longer slows down heavily impairing the timing required to properly make a shot, which was part of the original problem. So at least that part is fixed.

The distortion/pixelation is very noticeable in a big screen (a computer or tv) but, I've yet to try it, I guess it's not that big of a problem when using the Android counterpart.

I also noticed that everything on the screen seems to freeze when the power bar is filling but the powerbar animation does not freeze. For example you start charging the shot while a character animation is going on and it freezes while the power bar still works.

Mind this was tested both on Vulkan and D3D11

ppsspp1
ppsspp2
ppsspp3

@unknownbrackets
Copy link
Collaborator

That's because the game is doing that on purpose.

See, the game takes a "screenshot" and makes the screenshot only 272p. Then while you are shooting, it just draws the bar on top of that screenshot each frame.

On the PSP, this worked great. The PSP's screen is only 272p anyway, so the screenshot is the perfect size. It still meant animations froze on the PSP, but the developer would've had to spend more hours optimizing drawing not to do the screenshot thing. This saved them a lot of hours so it either made the game less expensive to make or might have been to make a release date deadline.

PPSSPP isn't going to make the game run differently than it did on the PSP - changing the freezing would mean someone hacking/modifying the game, or a port/remake to a new platform. That's not what "emulation" is.

It might be possible to work around the screenshot problem, though. The workaround only works if the game uses the screenshot as-is and doesn't modify it (some games do.) If we use the workaround, we wouldn't notice the modifications to the screenshot - because those modifications are made to the low resolution version only. It's a hack, but that hack may hopefully work here.

-[Unknown]

@Passingby1
Copy link

Oh that's very interesting. It's been a good while since I sold my psp and games so honestly I could not possibly compare it to the real thing but, what you say it makes sense, being that the screen was small and the resolution was not upscaled, plus there were no frame drops, it would have been hard to tell the difference since you'd focus solely on the power bar anyway.

Since this now replicates the original behavior, trying to improve it would be as you well say, a complicated hack, one that would do little more than to improve a couple of games.

Cheers and thank you very much, I'll update PPSSPP Gold through the google play store as soon as I get the chance.

Regards.

@hrydgard hrydgard deleted the draw-texture-allocator branch October 4, 2020 12:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Vulkan Performance Issues in Hot Shots Golf Open Tee - UCUS98614
3 participants