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
- Texture2D hash changes inside of an AssetBundle when rebuilding a SpriteAtlas bundle with an empty AssetPostprocessor Script enabled
- Aniso Level still applies when Generate MipMap is disabled in Texture Import Settings
- Mipmap Limit Groups long names are not truncated when creating a new Mipmap Limit Group with a long name
- “ArgumentException: Invalid double parameter.” error is thrown when Infinity is typed into the Fixed Timestep field
- GameObject becomes gray when using HDRP and STP together on macOS
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.