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

(android) enable rendering duplicate frames causing lag on brave story new traveller. #14762

Closed
5 tasks done
ghost opened this issue Aug 26, 2021 · 6 comments
Closed
5 tasks done

Comments

@ghost
Copy link

ghost commented Aug 26, 2021

Game or games this happens in

ULUS10279

What area of the game

Screenshot_2021-08-26-18-39-03-345_org ppsspp ppsspp

What happens

The option render duplicate frames can make brave story new traveller lag instead of fast/smooth.
Screenshot_2021-08-26-18-35-06-594_org ppsspp ppsspp

What should happen

Should make the game run fast/smooth.

GE frame capture

brave_story.ppdmp.zip

Platform

Android

Mobile phone model or graphics card

Redmi 9 Android 11 Helio G80

PPSSPP version affected

v1.11.3-1184 buildbot

Last working version

none

Graphics backend (3D API)

Vulkan

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 changing graphics settings to determine if one causes the glitch (especially speed hacks or enhancements/replacements.)
  • Include logs or screenshots of issue.
@ghost
Copy link
Author

ghost commented Aug 26, 2021

Same happening on OGL as well.

@anr2me
Copy link
Collaborator

anr2me commented Aug 26, 2021

rendering duplicate frames will gives extra burden isn't? so it's normal to get slower performance with extra burden, or was i mistaken?

@ghost ghost mentioned this issue Aug 26, 2021
@ghost
Copy link
Author

ghost commented Aug 26, 2021

Bomberman a 30fps game is no lag on rendering duplicate frames.
Screenshot_2021-08-26-19-19-25-559_org ppsspp ppsspp

@unknownbrackets
Copy link
Collaborator

This shouldn't really be surprising. The setting makes us do more work and has downsides - it's not really unexpected or a bug that this can cause worse performance. Obviously, it depends on how much work the game is doing for rendering whether it will - so some games may be able to use this setting on weaker devices, and some may not.

How we normally do timing:

|-----1-----2-----3-----4-----5-----6------| <-- time showing on your watch
|123--------------------456----------------| <-- when the game actually executes

This makes it:

|-----1-----2-----3-----4-----5-----6------| <-- time showing on your watch
|-----12----------34----------56-----------| <-- when the game actually executes

This incurs a speed penalty, because if anything takes too long in the normal method, it looks like this:

|-----1-----2-----3-----4-----5-----6------| <-- time showing on your watch
|1222222223-------------45555555556--------| <-- when the game actually executes

See how it's still okay? That's not happening anymore:

|-----1-----2-----3-----4-----5-----6------| <-- time showing on your watch
|-----122222222---34----------5555555556---| <-- when the game actually executes

Now you're lagging behind on some frames. Isn't it a shame that we didn't get started on "5" early when there was all that time we sat around waiting, doing nothing? That's what this setting specifically requests doing.

But, the upside is your watch on your wrist matches the watch on the game, at least every frame. This can reduce microstutter.

-[Unknown]

@hrydgard
Copy link
Owner

hrydgard commented Aug 26, 2021

It would be possible to implement frame duplication that only runs emulation every other frame, to maintain the same perceived performance - that's not what the option currently does, though, indeed.

@unknownbrackets
Copy link
Collaborator

Since this isn't a bug and the reporter closed their account, I'm going to close this.

-[Unknown]

@unknownbrackets unknownbrackets closed this as not planned Won't fix, can't repro, duplicate, stale Jul 25, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants