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

Graphical glitches related to save states and minimizing #13529

Open
Panderner opened this issue Oct 10, 2020 · 42 comments
Open

Graphical glitches related to save states and minimizing #13529

Panderner opened this issue Oct 10, 2020 · 42 comments
Labels
GE emulation Backend-independent GPU issues
Milestone

Comments

@Panderner
Copy link
Contributor

Here's what's happens a glitches when the black screen effect bug but when i use the save state it changes the screen to Save State's thumbnail.

Here's a Example for enemy encounter effect in Persona 2: Innocent Sin:

Here's what's looks like without using save states or minimizing:
ezgif com-gif-maker

and here's a another one using save states or minimizing:
ezgif com-gif-maker (1)

Here's a shatter effect in Danganronpa comparison:

With using save states or minimizing:
Screenshot_2020-10-10-23-18-09-47_2f85358b2198d26f8aca533d68bee793

Without using save states or minimizing:
Screenshot_2020-10-10-23-52-26-39_2f85358b2198d26f8aca533d68bee793

and what save screen screen and pause screen looks like:
Screenshot_2020-10-11-01-52-40-47_2f85358b2198d26f8aca533d68bee793
Screenshot_2020-10-11-01-53-12-06_2f85358b2198d26f8aca533d68bee793

YS Seven:
ezgif com-gif-maker (2)

@Panderner
Copy link
Contributor Author

Panderner commented Oct 10, 2020

Games affected:
Persona 1 and 2 enemy encounter effect
Shatter effects, save screens, pause screen in Danganronpa.
YS Seven
Danball Senki and Danball Senki Boost (#13338)
Gundam AGE Universe Accel/Comsic drive (only happens for block transfer effects turned off)
Gundam Battle Series (#13749)
Hot Shots Shorties (Everybody's Stress Buster)
Portable Island screenshots (#14533)

Games affected for graphical artifacts:
Sega Rally (#6979)
Juiced 2 (#7295)
Colin McRae Rally 2005 (#7810) flickering shadows

@hrydgard hrydgard added this to the v1.11.0 milestone Oct 10, 2020
@Panderner
Copy link
Contributor Author

Panderner commented Oct 12, 2020

Danball Senki and Danball Senki Boost affected this issue:
Screenshot_2020-10-12-20-29-19-57_2f85358b2198d26f8aca533d68bee793
Screenshot_2020-10-13-17-50-25-28_2f85358b2198d26f8aca533d68bee793

@Panderner
Copy link
Contributor Author

I've mentioned #8708, #13079 and #13338 for using these screenshots that are affected this bug that changes pictures using save states and minimizing

@hrydgard
Copy link
Owner

Thanks for the good reports, this is very weird...

@Panderner
Copy link
Contributor Author

Character Talking backgrounds in Gundam AGE Universe Accel and Cosmic Drive (only happens if you disable simulate block transfer effects)
Screenshot_2020-10-14-15-56-50-88_2f85358b2198d26f8aca533d68bee793

@hrydgard
Copy link
Owner

Stuff that only happens if you disable block transfers is not really bugs.

We're nearing a state now I think where we can just remove that option, it's not that many games that benefit without breaking anymore..

@Panderner
Copy link
Contributor Author

Panderner commented Oct 14, 2020

Stuff that only happens if you disable block transfers is not really bugs.

even I've enabled simulate block transfer effects for Persona 2, enemy encounter effect glitch still happens. including other games like Danganronpa.

@hrydgard
Copy link
Owner

Then that's a real bug.

@Panderner
Copy link
Contributor Author

Panderner commented Oct 14, 2020

This bug does not occur on Software Renderer mode.
Screenshot_2020-10-14-16-25-18-65_2f85358b2198d26f8aca533d68bee793
Screenshot_2020-10-14-16-29-48-48_2f85358b2198d26f8aca533d68bee793
Screenshot_2020-10-14-16-30-56-20_2f85358b2198d26f8aca533d68bee793

@Panderner
Copy link
Contributor Author

Panderner commented Oct 25, 2020

These issues are caused by graphical glitches related to framebuffers.

@Panderner
Copy link
Contributor Author

@hrydgard this also happens on all backends.

@Panderner
Copy link
Contributor Author

@hrydgard it also happens in all backends can you remove the OpenGL label?

@hrydgard hrydgard added GE emulation Backend-independent GPU issues and removed OpenGL labels Dec 7, 2020
@Panderner
Copy link
Contributor Author

Panderner commented Dec 13, 2020

Regarding this comment #13256 (comment) Hot Shots Shorties (Everybody's Stress Buster) it also affected this issue:

Before Minimizing:
Screenshot_2020-12-13-22-44-58-421_org ppsspp ppsspp

After Minimizing:
Screenshot_2020-12-13-22-40-30-466_org ppsspp ppsspp

@hrydgard
Copy link
Owner

hrydgard commented Jan 9, 2021

Has this worked in old builds? Possibly back when we had Readback mode in addition to buffered and non-buffered?

At least the Persona 2 issue seems to be texturing from a section of RAM, so this seems to be about the CPU reading back the screen copying it from VRAM to RAM. If you switch tasks or save state, we readback and write the framebuffer to VRAM, which makes it look like it works (kind of - it's still an old frame).

So likely there's a function that needs patching (or we need to implement proper detection of CPU reading from VRAM, which is difficult).

Anyway, postponing to 1.12.

@hrydgard hrydgard modified the milestones: v1.11.0, v1.12.0 Jan 9, 2021
@Panderner
Copy link
Contributor Author

Same happens for older versions of PPSSPP

@Panderner
Copy link
Contributor Author

Here's what happens when i disable BlockTransferAllowCreateFB for Ys Seven

BlockTransferAllowCreateFB off:
ezgif com-gif-maker (1)

BlockTransferAllowCreateFB on:
ezgif com-gif-maker (2)

@LunaMoo
Copy link
Collaborator

LunaMoo commented Jul 17, 2021

So the compat hack should be disabled for this title, since it causes issues.
It was already written, so just going to paste why rushing to add games to compat (speed)hacks was(is) a bad idea: #11669 (comment)

LunaMoo added a commit to LunaMoo/ppsspp that referenced this issue Jul 17, 2021
it's used as a speedhack, but causes issues, see comments in hrydgard#13529
@hrydgard
Copy link
Owner

Thanks for narrowing that down @LunaMoo . I think we'll just disable this speedhack for Ys like you did in your fork.

hrydgard added a commit that referenced this issue Jul 17, 2021
This will slow it down a bit again, but fix the graphical glitches.

See #13529
@hrydgard hrydgard modified the milestones: v1.12.0, Future Aug 24, 2021
@ghost
Copy link

ghost commented Oct 11, 2021

Here's what happens when i disable BlockTransferAllowCreateFB for Ys Seven

BlockTransferAllowCreateFB off: ezgif com-gif-maker (1)

BlockTransferAllowCreateFB on: ezgif com-gif-maker (2)

@hrydgard please re-enable again BlockTransferAllowCreateFB on this game YS7.

To avoid glitch Panderner reproduce add this game also to ClearToRAM 👍 tried and tested.

@Panderner
Copy link
Contributor Author

Enabling again for Ys Seven is bad idea @Gamemulatorer because it will result black screen save icons and BlockTransferAllowCreateFB off gif is a correct one.

Here's a gif for both: BlockTransferAllowCreateFB and ClearToRAM enabled:
ezgif com-gif-maker (1)

@ghost
Copy link

ghost commented Oct 11, 2021

Enabling again for Ys Seven is bad idea @Gamemulatorer because it will result black screen save icons and BlockTransferAllowCreateFB off gif is a correct one.

My save state png still correct.
Screenshot_2021-10-11-12-00-53

@ghost
Copy link

ghost commented Oct 11, 2021

Here's a gif for both: BlockTransferAllowCreateFB and ClearToRAM enabled: ezgif com-gif-maker (1)

Can you explain what's wrong in this gif?

@Panderner
Copy link
Contributor Author

Here's a gif for both: BlockTransferAllowCreateFB and ClearToRAM enabled: ezgif com-gif-maker (1)

Can you explain what's wrong in this gif?

This gif is incorrect.

And this one is correct:
104910080-c5629880-59c3-11eb-8baf-cb4dfd506542

@ghost
Copy link

ghost commented Oct 11, 2021

Here's a gif for both: BlockTransferAllowCreateFB and ClearToRAM enabled: ezgif com-gif-maker (1)

Can you explain what's wrong in this gif?

This gif is incorrect.

And this one is correct: 104910080-c5629880-59c3-11eb-8baf-cb4dfd506542

Can you explain more on details I didn't get what's wrong and correct o_0

Please elaborate more.

@Panderner
Copy link
Contributor Author

As I mentioned in #13975 enabling BlockTransferAllowCreateFB for this game might cause save icons that draw black screen.

@ghost
Copy link

ghost commented Oct 11, 2021

As I mentioned in #13975 enabling BlockTransferAllowCreateFB for this game might cause save icons that draw black screen.

Well as you can see my savestate icon still correct
maybe this is adreno gpu bug?

@Panderner
Copy link
Contributor Author

Here's a gif using software rendering:
ezgif com-gif-maker (3)

@ghost
Copy link

ghost commented Oct 11, 2021

My save icon png still correct
Screenshot_2021-10-11-12-23-29

@ghost
Copy link

ghost commented Oct 11, 2021

Here's a gif using software rendering: ezgif com-gif-maker (3)

Please explain more on details I didn't get your problem with this :/

@Panderner
Copy link
Contributor Author

My save icon png still correct Screenshot_2021-10-11-12-23-29

Look at in-game save screen:
Screenshot (44)

@ghost
Copy link

ghost commented Oct 11, 2021

My save icon png still correct Screenshot_2021-10-11-12-23-29

Look at in-game save screen: Screenshot (44)

I really cannot reproduce your issue using BlockTransferAllowCreateFB and ClearToRAM
I already tested this with two of my phones both
with Mali gpu.

@ghost
Copy link

ghost commented Oct 13, 2021

Danball Senki and Danball Senki Boost affected this issue: Screenshot_2020-10-12-20-29-19-57_2f85358b2198d26f8aca533d68bee793 Screenshot_2020-10-13-17-50-25-28_2f85358b2198d26f8aca533d68bee793

ClearToRAM fix this issue :)

@unknownbrackets
Copy link
Collaborator

The problem with clear to RAM is that it's making the fade better, but it's still a fade from black (the cleared RAM) instead of a cross fade. That's what the gif is showing.

Block transfers are typically used for creating new save icons when creating a new save. Save icons created while block transfer was disabled or forced to the GPU will still of course display, it only affects newly created save icons. That said, as long as you see a screenshot of your current scene when saving, that should be fine.

-[Unknown]

@Panderner
Copy link
Contributor Author

Danball Senki and Danball Senki Boost affected this issue: Screenshot_2020-10-12-20-29-19-57_2f85358b2198d26f8aca533d68bee793 Screenshot_2020-10-13-17-50-25-28_2f85358b2198d26f8aca533d68bee793

ClearToRAM fix this issue :)

No @Gamemulatorer this make characters disappear when I open up the menu screen as I mentioned in #13338
Screenshot_2021-10-14-09-27-36-846_org ppsspp ppsspp

@ghost
Copy link

ghost commented Oct 14, 2021

Danball Senki and Danball Senki Boost affected this issue: Screenshot_2020-10-12-20-29-19-57_2f85358b2198d26f8aca533d68bee793 Screenshot_2020-10-13-17-50-25-28_2f85358b2198d26f8aca533d68bee793

ClearToRAM fix this issue :)

No @Gamemulatorer this make characters disappear when I open up the menu screen as I mentioned in #13338 Screenshot_2021-10-14-09-27-36-846_org ppsspp ppsspp

Adreno gpu bug I think 🤔

@Panderner
Copy link
Contributor Author

This how it looks like on real hardware:
91383764-e3d6c480-e867-11ea-8bdf-8922968a0d2b

@ArhumMK
Copy link

ArhumMK commented Jul 27, 2022

Sorry if this has been answered before but this thread is too complicated for me to figure out the solution:

Has the Persona 2 enemy encounter effect visual bug been fixed? or the tweaks needed to fix it discovered? Plus where is this "ClearToRAM" flag accessed?

@jimkage
Copy link

jimkage commented Aug 2, 2022

So, has the bug being worked out yet.for Persona ???

@ghost
Copy link

ghost commented Aug 9, 2022

Split/Second minimizing issue.
#15785 (comment)

@71knight
Copy link

71knight commented Aug 9, 2022

Split/Second minimizing issue. #15785 (comment)

Hexyz Force also has graphical glitches when minimizing the screen. The game over screen has half a wavy image on it. The whole screen is supposed to be wavy and it does become that when you minimize the screen and then make it full screen again. This is for the Android build of ppsspp.

@ghost
Copy link

ghost commented Dec 12, 2022

If I load save state twice or more in Metal Gear Acid 2 can causes glitch in vulkan only opengl doesn't reproduce this.
Screenshot_20221213_023202_2f85358b2198d26f8aca533d68bee793

@bassforte123
Copy link

bassforte123 commented Apr 15, 2023

This issue is still around for Persona 2. Software Rendering appears to resolve it though you lose out on the better rendering options. The other choice is to disable ClearToRAM (currently known "Skip GPU Readbacks") which will give you a white screen when entering random battles which is less distracting than the load state screen though it's not the correct cross fade transition so it's only a half solution.
Possibly will be resolved with #16900

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
GE emulation Backend-independent GPU issues
Projects
None yet
Development

No branches or pull requests

8 participants