GPU Instancing works strange on android

As you can see on the picture on pc (in the editor) amount of draw calls for gpu instanced objects are 2 (2 different meshes) but on android each instance produce another draw call. why?

Check the frame debugger, it should say, what’s the reason for not batching objects together.

The frame debugger says “rendering different meshes or submeshes with gpu instancing”

I created a new empty project with few objects which share same mesh and material with gpu instancing enabled and result is the same.

Please submit a bug report then.

i found bug report which describes my problem Unity Issue Tracker - [Android] Meshes not getting batched when GPU instancing is enabled

This bug marked as resolved by design. This means that the problem is in the device?

i updated unity to newer version and now the reason for breaking batch is “the previous instanced draw call has reached it maximum instance count”

I’ve added our internal explanation to this issue tracker ticket so you can see it. It sounds like that bug was quite specific to the repro project that user supplied. If you think it doesn’t sound like your issue, logging your own bug might still be the way to go.

Although maybe the message in the newer unity makes it all make sense to you, i dunno :slight_smile:

Thanks for explanation the reason of this bug, but actually i have different one, my editor quality and android build quality are the same. I’ll log my bug to issue tracker soon.

1 Like