Search Issue Tracker
Fixed
Fixed in 6000.3.0a1
Votes
2
Found in
6000.1.0a9
6000.2.0a1
6000.3.0a1
7000.0.0a1
Issue ID
UUM-91516
Regression
No
[Android] [UIToolkit] FPS drops/increase in time consumption in the UI Toolkit rendering when adding "style.backgroundColor" and/or "style.backgroundImage" to the VisualElement
How to reproduce:
1. Open the “UIToolkitPerformance.zip“ project
2. Open the “TestScene“
3. Build and Run for Android (Development Build)
4. Connect the Profiler to the Device
Expected result: No large increase in the time consumption for the rendering process
Actual result: A large increase in the time consumption for the rendering process when adding background color and/or texture
Reproducible with: 2021.3.47f1, 2022.3.55f1, 6000.0.32f1, 6000.1.0a9
Reproducible environment: macOS 15.1.1 (Intel), Windows 11 (Reporters)
Not reproducible environment: No other environment tested
Reproducible with these devices:
VLNQA00178, Xiaomi Redmi Note 4 (Redmi Note 4), Android 6.0, CPU: MediaTek Helio X20 MT6797M, GPU: Mali-T880
VLNQA00107, Huawei Nexus 6P (Nexus 6P), Android 8.1.0, CPU: Snapdragon 810 MSM8994, GPU: Adreno (TM) 430
Not reproducible with these devices:
VLNQA00511, Samsung Galaxy S8 (SM-G950F), Android 9, CPU: Exynos 9 Octa 8895, GPU: Mali-G71
VLNQA00335, Samsung Galaxy S20+ 5G (SM-G986B), Android 10, CPU: Exynos 990, GPU: Mali-G77
VLNQA00518, Google Pixel 4 (Pixel 4), Android 13, CPU: Snapdragon 855 SM8150, GPU: Adreno (TM) 640
VLNQA00152, Huawei P9 (EVA-L19), Android 7.0, CPU: HiSilicon Kirin 955, GPU: Mali-T880
VLNQA00535, iPhone XS (MT9F2ET/A), CPU: Apple A12 Bionic, GPU: Apple designed, OS: 17.6.1
VLNQA00600, iPad Pro (9.7 inch, WiFi), CPU: Apple A9X, GPU: Apple designed, OS: 14.8
Notes:
- Not reproducible in the Editor or Standalone
- Reproducible with both OpenGLES3 and Vulkan Graphic API
- The reporter pointed out that the issue is coming from the “UnityUIE.cginc“ file, where the extensive branching (particularly when selecting texture) creates performance issues on some older Android devices
- More information in the comments
Comments (1)
-
kinseythomasguadalupe
Dec 19, 2024 06:58
Tkinfolks voted
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- Popup windows spawn on the incorrect monitor when the Editor is placed near the boundary of scaled monitor next to a monitor with different scaling
- Hidden Tabs do not shift into empty space after closing visible Tabs
- [Android] Application not deployed on a device when "activity-alias" is used in the AndroidManifest
- Shader compile process adds shader ID to the constant buffer name when the word "Globals" is being used in Vulkan
- Audio Mixer Snapshot link to the documentation isn’t working
Resolution Note (fix version 6000.3.0a1):
We're adding UsageHints.LargePixelCoverage which should be used on VisualElements that cover a large area of the screen (e.g. panel background). When this hint is used, the drawing commands of the VisualElement will use a specialized shader that is more GPU friendly. This specialized shader removes most of the shader branches that are not used by the draw call. This will break the batch though, so there is some CPU trade-off, but the GPU benefit can be significant on low-end devices. The performance gain might be limited on high-end devices and desktop/console but could still make a difference.