Search Issue Tracker

In Progress

Votes

0

Found in [Package]

5.1.1

Issue ID

APB-70

Regression

No

[Android] AdaptivePerformanceManager.Update() causes GC Allocations

Package: Adaptive Performance

-

Steps to reproduce:
1. Create a new empty 3D project.
2. In Build Settings, switch the target platform to Android.
3. Using Package Manager, install the "Adaptive Performance" package
4. Navigate to Project Settings > Adaptive Performance and activate it
5. Build and Run the Android Player (with “Development Build” and “Autoconnect Profiler” enabled)
6. In the Profiler window, open the “Hierarchy” view and search for the “AdaptivePerformanceManager.Update()” method
7. Observe the calls under it

Expected Result: There are no memory allocations or the allocations are minimal
Actual Result: AdaptivePerformanceManager.Update() shows GC allocations (reported as ~5.5 kb per frame) and contributes to CPU time (reported as ~0.5ms per frame)

Reproducible with: 4.0.1 (2022.3.62f1), 5.1.0, 5.1.4 (2022.3.62f1, 6000.0.49f1, 6000.1.3f1, 6000.2.0b1)

Reproducible environments: Windows 11 (by reporter), macOS 15.4.1
Not reproducible environments: No other environments tested

Reproducible with these devices:
VLNQA00372 - Galaxy S21 5G (SM-G991U), CPU: Snapdragon 888, GPU: Adreno 660, OS: 12
VLNQA00460 - Google Pixel 6 (Pixel 6), CPU: Google Tensor (Whitechapel), GPU: Mali-G78, OS: 14

Not reproducible with these devices:
VLNQA00391 - Xiaomi Redmi 9A (M2006C3LG), CPU: MediaTek Helio G25 (MT6762G), GPU: PowerVR Rogue GE8320, OS: 10
VLNQA00173 - Xiaomi Redmi 6 Pro (Redmi 6 Pro), CPU: Snapdragon 625 MSM8953, GPU: Adreno 506, OS: 9

  1. Resolution Note:

    Fix temporary memory allocations from the profiler integration causing 6kb each frame in Adaptive Performance Manager.

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.