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
- Editor crashes on StoredGraphicsBuffer::GetGfxBufferID when VFX Graph property is modified during Play Mode and Application.targetFrameRate is used to limit FPS
- Crash on NVAPI_Thunk when changing Player resolution while HDR display is used and Direct3D12 is set as the graphics API
- Only one out of multiple cameras is shown in the Play Mode while HDR display is used and Direct3D12 is set as the graphics API
- The "Paste Component as New" option is incorrectly displayed as active despite the action being prohibited
- "TLS Allocator ALLOC_TEMP_TLS" errors are thrown when unsuccessfully importing an FBX file
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.