Search Unity

  1. Unity Asset Manager is now available in public beta. Try it out now and join the conversation here in the forums.
    Dismiss Notice
  2. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  3. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

DrawCalls (SetPass calls) reduced but performance not gained, actually hammered.(Case 671162)

Discussion in 'Unity 5 Pre-order Beta' started by jmunozar, Feb 10, 2015.

  1. jmunozar

    jmunozar

    Joined:
    Jun 23, 2008
    Posts:
    1,091
    I might be wrong and the bottle neck might have changed. but checkout the screenshot took in Unity5 RC1!

    Unity5RC1.png

    As far as I know is always good to atlas textures and the less number of materials used per shader the better, but when I do that with ProDrawCall (Im the creator of pro draw call) you can see that the fps gets decreased (while you can see that the SetPass calls are reduced by a factor of ~3x.

    Yes, the editor is noisy (as aras told me) and 0.3ms more can be something regarding to the editor; I also tried it out building 2 stand alones (one scene atlassed and the other not atlassed) and fps wise is the same. (These builds are done in Unity5 RC1).

    StandAloneU5.png

    Maybe the bottleneck is not on the draw calls (as Aras sugested). but if you see on the Unity4.6 screenshot you can actually see a performance gain both on render time and fps.

    Unity4.6.jpg
     
  2. Aras

    Aras

    Unity Technologies

    Joined:
    Nov 7, 2005
    Posts:
    4,770
    My take is still the same. It might be that in Unity 4.6 the bottleneck was the draw calls, but in 5.0 it's not anymore, for your particular scene. If that is true, then no wonder that reducing number of draw calls does not improve things (since that's not the bottleneck!).

    Looking at 0.3ms/frame time difference in the editor's game view stats window... I wouldn't draw any conclusions out of that. Sub-millisecond differences in the editor could be because of whatever random noise is there.

    I'd start by looking at the profiler. For example, is your scene CPU or GPU limited now? Or maybe something entirely else (looking at your standalone FPS numbers... you sure VSync is off? the numbers are really close to 60Hz). Use Unity's profiler, and/or 3rd party profiler (Apple Instruments on Mac etc.) to drill down where time is spent.

    TLDR: reducing number of batches / draw calls is a good idea if that's the bottleneck. There are many different bottlenecks possible, and "draw calls" is just one of them.
     
  3. jmunozar

    jmunozar

    Joined:
    Jun 23, 2008
    Posts:
    1,091
    Indeed, the tool is used to reduce draw calls, I'm going to check with the profiler, and guess I'll need to create a more heavy scene as an example for the tool.. :/.

    Thanks!