And yet another UI Draw Call question...

So, Google shows a million hits on this where the general dialog goes:

  • Party A: I have a non-trivial UI project and it’s generating a bunch of draw-calls while [insert 3rd party UI engine] did it a ton better.
  • Party B: Yeah… you can’t reduce draw-calls when using [Text, overlayed elements, masks, etc] in the Unity UI. That’s just how it is.
  • Party A: Oh… that sucks.
  • [The conversation ends]

I hate to rehash this… but is this actually still the case with the new Unity UI?

I posted the following over on SO (unity game engine - Unity3D UGUI (aka "new UI") Draw Call Optimization - Stack Overflow), but long story short… I find myself as “Party A” in the conversation flow above.

Is there still no resolution to the multi-draw-calls question and is this simply the best we can do? Why does NGUI do this so much better (and DFGUI used too before it died) and should we just be OK with this?

Small update showing what’s both a bad and good sign. I grabbed the 5.2.0 beta to see if they are trying to make things any better in future releases.

The EXACT same scene that takes 19 draws in 5.0.0 > 5.1.2p3 takes 20 draws in 5.2.0f1. So… that sucks, not a real good sign on that front.

BUT… swapping all my Mask elements for the new RectMask2D object that’s added in 5.2.0 makes the scene ‘only’ take 15 draws now. So… that’s kind of good. Still nowhere near the few 5-6 draws that NGUI would take for a similar scene but sucks a bit less.

Is this as good as it gets?