Search Issue Tracker

By Design

Votes

0

Found in [Package]

5.1.1

Issue ID

APB-52

Regression

No

[Android] [ADPF] Framerate scaler cannot scale back to the initial framerate when the framerate is forcefully slowed a short time

Package: Adaptive Performance

-

How to reproduce:
1. Open the “ADPF.zip“ project
2. Open the “SampleScene“
3. Build and Run for Android with Development Build enabled
4. Connect the Profiler (Framerate scaler should be equal to 0)
5. Take note of the current FPS displayed at the top-right corner of the app (Should be 60 FPS or higher)
6. Spam the “Slowdown for a few seconds“ button until FPS drops to single digits (might take a few tries)
7. Wait for a few minutes

Expected result: The frame rate climbs back to 60 FPS
Actual result: The frame rate climbs to 30 FPS and does not reach the original value

Reproducible with: 5.0.0 (APA - 1.3.1) (2021.3.46f1, 2022.3.54f1), 5.1.0 (APA - 1.3.1) (2021.3.46f1, 2022.3.54f1, 6000.0.30f1, 6000.1.0a7)

Reproducible environment: macOS 15.1.1 (Intel), Windows 10 Pro (22H2)
Not reproducible environment: No other environment tested

Reproducible with these devices:
VLNQA00267, Samsung Galaxy S10+ (SM-G975F), Android 12, CPU: Exynos 9 (9820), GPU: Mali-G76

Not reproducible with these devices:
VLNQA00518, Google Pixel 4 (Pixel 4), Android 13, CPU: Snapdragon 855 SM8150, GPU: Adreno (TM) 640

Could not test with these devices:
VLNQA00335, Samsung Galaxy S20+ 5G (SM-G986B), Android 10, CPU: Exynos 990, GPU: Mali-G77 (Error: “Unable to start the Android subsystem.”)
VLNQA00107, Huawei Nexus 6P (Nexus 6P), Android 8.1.0, CPU: Snapdragon 810 MSM8994, GPU: Adreno (TM) 430 (Error: “Unable to start the Android subsystem.”)
VLNQA00511, Samsung Galaxy S8 (SM-G950F), Android 9, CPU: Exynos 9 Octa 8895, GPU: Mali-G71 (Error: “Unable to start the Android subsystem.”)

Notes:
- Reproducible with both OpenGLES3 and Vulkan
- Reproducible with both IL2CPP and Mono
- The device is not overheating

  1. Resolution Note:

    this is a limitation with the frames scaler sample on android. android system is mandatarily v-synced by design and will ignore the vsync setting, so increasing the targetframerate, by 5 in the framerate scaler example, will slowly cause us to show an underperforming trend although technically it is due to v-sync. We will scale back down in this case which makes the frame rate unable to go back to 60.
    A user could likely get around this by making a custom scaler than doubles or halves the framerate if vsync is enabled or known to be forced on.

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.