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

Skip Buffer Effects - UI bugs, plus backend change sometimes causing secondary instance #17404

Open
5 tasks done
Mishasama opened this issue May 4, 2023 · 18 comments
Open
5 tasks done
Labels
GE emulation Backend-independent GPU issues
Milestone

Comments

@Mishasama
Copy link

Game or games this happens in

NPJH50701 - SAO:IM

What area of the game / PPSSPP

image
Please check the texture. This is definitely not 1x resolution clarity.

What should happen

image
After closing, you can see that the jagged effect on the edges of the tower is much more pronounced.

Logs

No response

Platform

Windows

Mobile phone model or graphics card

NV GTX 770

PPSSPP version affected

1.15.2

Last working version

No response

Graphics backend (3D API)

Direct3D 11

Checklist

  • Test in the latest git build in case it's already fixed.
  • Search for other reports of the same issue.
  • Try resetting settings or older versions and include if the issue is related.
  • Try without any cheats and without loading any save states.
  • Include logs or screenshots of issue.
@hrydgard
Copy link
Owner

hrydgard commented May 4, 2023

When "Skip buffer effects" is enabled, we draw everything straight to the backbuffer, which means the exact resolution your window is in. This mode is meant as desperate performance hack only - when you have exhausted all other tricks and need even more speed on your hardware, and are willing to sacrifice a lot of graphical features.

So don't expect things to work correctly when it's enabled, they just won't, and that's how it is.

@hrydgard hrydgard closed this as not planned Won't fix, can't repro, duplicate, stale May 4, 2023
@Mishasama
Copy link
Author

Mishasama commented May 4, 2023

And I had read #8713. I want it to run as fast as possible. With all speed settings, it still can't eat all my CPU and GPU to run as fast as possible.
Because with the game DLC updates, the cheat code won't work anymore. I have left it to level up itself. I even don't need any graphics.
Any ideas for this? What settings can maximize the speed?

@hrydgard
Copy link
Owner

hrydgard commented May 4, 2023

1x resolution or just use skip buffer with a tiny window. but I highly doubt you'll be bottlenecked by rendering anyway.

@Mishasama
Copy link
Author

1x resolution or just use skip buffer with a tiny window. but I highly doubt you'll be bottlenecked by rendering anyway.

How to make the window smaller than 1x to be tiny?
image

And when I set frame skipping at 8, it will turn into a black screen, and it runs even faster, but my hardware is still not at full speed. And the load is much easier than before, and they even automatically underclock. Is it a bug? Or is this the expected?

@hrydgard
Copy link
Owner

hrydgard commented May 4, 2023

This is an extremely strange use case that PPSSPP isn't optimized for. But try the various backends and see which ones gives you the most frames.

@Mishasama
Copy link
Author

This is an extremely strange use case that PPSSPP isn't optimized for. But try the various backends and see which ones gives you the most frames.
image

Oh, you mentioned the backend, when I upgraded from 1.15.1 to 1.15.2 I found that Vulkan was no longer an option. Bug?

@hrydgard
Copy link
Owner

hrydgard commented May 4, 2023

That cannot possibly have anything to do with the upgrade. Try to restart your machine, install drivers.

@Mishasama
Copy link
Author

Mishasama commented May 4, 2023

image
When I switch the backend in game at this pause menu, PPSSPP will crash, but not when I switch at the window menu. Bug?

And I found that many times the same option has different effects when switched in different menus. e.g.
The Skip Buffer Effects. This should also be a BUG, ​​right?

Also, if the Auto skipping frame conflicts with the Skip Buffer Effects, should it be disabled in the menus? It seems will lead to the program crash too.

@hrydgard
Copy link
Owner

hrydgard commented May 4, 2023

And I found that many times the same option has different effects when switched in different menus. e.g.
The Skip Buffer Effects. This should also be a BUG, ​​right?

That is not a bug, it's just turning off things that are not relevant when skip buffers is enabled.

But yeah, I guess auto frame skipping should be disabled too. Overall, I highly recommend avoiding the Skip buffers setting, it is under "Speed hacks" for a reason and is only useful as a very last resort.

@Mishasama
Copy link
Author

That is not a bug, it's just turning off things that are not relevant when skip buffers is enabled.

Maybe I didn't say it clearly enough. Please see the picture below

When Skip Buffer Effects is ON, toggle this option in the window's menu.

image
image
When I toggle this option in the window's menu, it doesn't do anything.

Then toggle this to OFF in the pause menu.

image
But when I change this option in the pause menu, it takes effect.
image
But again, switching in the window menu again has no effect.

Also, do you see that the picture quality is better after turning on this option? All special effects are rendered correctly, just like an automatic optimization, but there is no picture quality degradation as you mentioned. At least I didn't see it.

@hrydgard
Copy link
Owner

hrydgard commented May 4, 2023

Yeah, seems like a small UI bug there. Thanks.

Whether there's picture quality degradation or not depends on the game. Some games don't function at all with skip buffers enabled, and some look terribly wrong. Again, I wouldn't recommend it, because you'll see stuff wrong in games here and there and assume it's bugs, but it's just things that can't work in that mode.

@Mishasama
Copy link
Author

Mishasama commented May 4, 2023

Yeah, seems like a small UI bug there.

There is another bug.

When the backend is switched in real time in the game (I thought about it, maybe even before loading the game), there is a certain probability that PPSSPP will start in multi-instance mode when restarting, but in fact there is only one window, and the backend may not be switched successfully in this case. It seems that a new process is loaded before the process has completely exited.
There may be a problem with the design of this switching logic.

Since this is sporadic, I'm not sure if it's related to the menu bug just mentioned.

@hrydgard hrydgard changed the title Skip Buffer Effects did not work with rendering resolution changes. Skip Buffer Effects - UI bugs, plus backend change sometimes causing secondary instance May 4, 2023
@hrydgard hrydgard added this to the v1.16.0 milestone May 4, 2023
@hrydgard hrydgard added the GE emulation Backend-independent GPU issues label May 4, 2023
@hrydgard
Copy link
Owner

hrydgard commented May 4, 2023

Alright, changing this issue to be about these switching bugs.

@hrydgard hrydgard reopened this May 4, 2023
@LunaMoo
Copy link
Collaborator

LunaMoo commented May 4, 2023

Also, do you see that the picture quality is better after turning on this option? All special effects are rendered correctly, just like an automatic optimization, but there is no picture quality degradation as you mentioned. At least I didn't see it.

The only reason activating skip buffer effects "improves" graphics here is because all of the other hacks that you used that break effects in buffered rendering + reduced resolution while skip buffer effects doesn't render any of those effects at all(in opposite to claiming it renders all effects well which is simply not true) and ends up with resolution of the window as well.

@Mishasama
Copy link
Author

while skip buffer effects doesn't render any of those effects at all

If so, I suggest designing it as a conflict item in the UI: when it is activated the other corresponding options will be disabled to avoid user confusion.

@anr2me
Copy link
Collaborator

anr2me commented May 6, 2023

Yeah, seems like a small UI bug there.

There is another bug.

When the backend is switched in real time in the game (I thought about it, maybe even before loading the game), there is a certain probability that PPSSPP will start in multi-instance mode when restarting, but in fact there is only one window, and the backend may not be switched successfully in this case. It seems that a new process is loaded before the process has completely exited. There may be a problem with the design of this switching logic.

Since this is sporadic, I'm not sure if it's related to the menu bug just mentioned.

This is probably a deadlock/race-condition case that causing the process to stuck when closing down PPSSPP, thus the next time you ran PPSSPP it ends up as the second instance, because there are more than one ppsspp process running if you checked it in Task Manager.

PS: As I remembered it was a thread related to audio or input that stuck, not really sure tho, as it's a rare case and been a long time since i bumped into this issue while debugging. May be because the window already closed it can't get messages anymore 🤔

hrydgard added a commit that referenced this issue May 6, 2023
@hrydgard
Copy link
Owner

hrydgard commented May 6, 2023

I made a quick fix for the skip-buffer option in the menu.

Haven't looked into the backend restart thing, that'll have to wait.

@hrydgard
Copy link
Owner

I can't reproduce the restart bug, so I'm gonna post-pone.

@hrydgard hrydgard modified the milestones: v1.16.0, Future-Prio Aug 11, 2023
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

4 participants