Opaque order causes overdraw

Hi,

Recently I updated to Unity 5.6.1p2 from 5.4.2f2. After this I noticed huge perfomance drop(30fps on ipad air 2 instead 60fps in old version of unity). I think one of the reasons is changed opaque rendering order.

Here example from our game. I used frame debugger and RenderDoc:

5.4.2f2:
3107588--234835--ezgif-1-5887436eb6.gif
RenderDoc log: https://drive.google.com/open?id=0BwUwpozHgweVcDN2WWotdkxOUzg

5.6.1p2:
3107588--234836--ezgif-1-bf9410f2fd.gif
RenderDoc log: https://drive.google.com/open?id=0BwUwpozHgweVWVh2MFRtdXdOak0

It is very strange that ground is drawn first. I noticed that all objects that marked static drawn first in new version of unity. I’ve tested this scene on ios devices too.

Here is small project with cubes to reproduce this: https://drive.google.com/open?id=0BwUwpozHgweVbnNWWW1KUjUyNE0

Why white cube is drawing first? Maybe I don’t understand something?

2 Likes

Any chance you could submit a bug for this one too?

I made some more tests and i think that main problem that in newer versions of Unity static geometry allways drawn first(at least in our project). Here is link to bug report: https://fogbugz.unity3d.com/default.asp?922811_ju5ge969r58p3os1

I’ve made a bug report (949348) on friday about rendering order that might be linked to this issue.
In our case, there is no static geometry, the bug report just has 4 simple cubes and they almost always do not render correctly front-to-back.