Search Issue Tracker
Won't Fix
Votes
2
Found in
2017.4.10f1
Issue ID
1076757
Regression
No
Unstable rendering on Android using Multithreaded Rendering on Snapdragon 800/801 - Adreno 330 Chipset
When using multithreaded rendering on Android devices most run fine and show a clear improvement in stability and performance, but some devices show decreased stability and inconsistent framerate / rendering times.
Known problematic devices:
- Samsung Galaxy S5
- Samsung Galaxy Note 3
- Amazon Kindle Fire
All these devices have a Snapdragon 800 / 801 - Adreno 330 Chipset. Devices without this chipset show no issues whatsoever.
Reproduction Steps:
1. Install Unity
2. Open the attached project
3. Build a development player for Android and deploy to a device that has a Snapdragon 800 / 801 - Adreno 330 Chipset.
4. Run the player and profile
If you look at the timeline in the profiler and cycle through some of the frames you will notice that on some frames the "Camera.Render" block will take nearly twice as long as the previous frame(s).
If you build the game to any other device without the aforementioned chipset the "Camera.Render" block will barely differ from the previous frame(s).
I've attached a folder containing two saved profiler datasets that show this issue as well.
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
- Fixing Message Loss in UMPE During Domain Reload
- The Editor freezes when ScheduleReadOnly of IJobParallelForTransform with dependency is used
- Text is truncated in the Inspector when the display scale is set to 150%
- CancellationTokenSource(<timeout>) has incorrect cancellation status when used in WebGL Player
- VFX property value names are cut off when properties with 'Arc' are viewed in the VFX Blackboard
Resolution Note (2019.1.X):
Unfortunately there is no appropriate solution that we can take without a performance regression on other devices.
Here are the suggested workarounds:
- if the game has demanding graphics but is CPU-bound (which benefits from multi-threaded rendering) - mark the affected devices as incompatible in Google Play (or your store of choice).
- if the game must run on these devices - create a second APK with MT rendering disabled, and configure Google Play to deliver this second APK to the affected devices.