Draw call batching differences between unity iphone 1.7 and 3.0?

Hi,

I have a simple test scene with about 30 objects that use 2 different materials (one being a texture atlas and the other one being a single texture; both using standard diffuse shader). Nothing else is present (no lights etc)

  • On unity iphone basic 1.7 I get the expected 2 draw calls.
  • After upgrading to unity 3.0 basic that same scene consumes 10 - 12 draw calls.

Have the requirements for draw call batching changed with the new unity version or is the editor bug from the beta (draw call stats reporting was screwed up) still present?
Can anyone else confirm a significant draw call raise when migrating his project to 3.0?

Did you switch your build platform to iphone?

Did you try special Mobile Diffuse? Some simpler shader? Multi-pass shaders cannot be batched. Skinned meshes cannot be batched. Meshes with different scales cannot be batched. If this still doesn’t help - file the bug.

wurbaga,

Yeah, I can confirm this too. I have been using GUISprite and was enjoying an average of 14 drawcalls and after upgrading to 3.0, I have about 26 drawcalls.

the number of drawcalls is far less important as the impact is completely different.

also U3 has much more accurate debug banner output than U2 and especially unity iphone 1.x

Does this mean the sacred limit of 30 drawcalls is capable of being breached if the underlying physics and game logic is not too heavy? Or something else?

Thx
BTH

Interesting, dreamora please do explain!

I got it solved (at least for my case…); the problem I had was with the scale. Differently scaled objects don’t batch. And when due to some repositioning in the editor the scale of some objects loses precision and becomes 1,000000001, then it is … differently scaled ;(