ぱふの自由帳

ぱふの技術ブログ。メインはUnity。最近はUnity1Weekの放送してます。良ければフォローお願いします、、

DrowCall数について分かっていることまとめ【随時更新】

はじめに

DrowCallがどの様な時に増加or減少するかを分かり次第追記していきます。

分かっていること

増加編

基本

  • 1オブジェクト1DrowCall…のはず?

  • 影の描写で一気にDrowCallが増える

  • カメラに写っているものが影響する

3D Object

※光源があると影の描写によってdrowCallが増えてしまうので光源はないものとして考えています

  • Cube/Plane/Quad/Cylinder
    オブジェクト増やしてもMaterialが異ならない限り1のまま。変形してもなんのその。もちろんCubeとPlaneを同時に使用すれば2になります。

  • Sphere/Capsule
    オブジェクト増やすごとに1つずつ増えてしまう。丸が難しいのではと個人的に解釈。

UI(初期値)

  • Text
    1:文字数増やしても変わらない

  • Image
    1:特になし

  • Raw Image
    1:特になし

  • Button
    2:Button内部のTextを消すと1になる

  • Toggle
    3:内部パーツを消せば1ずつ減る

  • Slider
    3:内部パーツを消せば…(ry

  • Scrollbar
    2:内部パーツを消せ…(ry ただし、使い物になるかは微妙

  • DropDown 2:一覧を出すとさらに増加する(初期だと6程度)

  • InputField
    1:入力の時のチカチカするやつが出ると+1、1文字以上入力でさらに+1

  • Canvas
    0:描画されないので安定の0

  • Panel
    1:特になし

  • Scroll View
    4~5:茶目っ気を出してきて値がブレました

  • EventSystem
    0:仲間外れにするのもアレなので一応入れました

減少編

  • StaticなオブジェクトにすればMaterialが同じである限り、形が異なっていてもまとめて1となる。
    例1)CubeとSphereをStaticにすると同一のMaterialを使用であれば1
    例2)CubeとSphereをStaticにすると異なるMaterialを使用であれば2

    ちなみに、同じMaterialを設定したのちに色を変えてMaterialを節約しようとすると逆に増加するので注意!(別のMaterial作って設定した方が良い)理由はわかりません。((内部でMaterialコピーしてコネコネするから…?

おわり

減少させる方法少なくてすいません…orz
ただ、ググって見つかる全ての方法を書こうとするとめんどくさい時間かかるので私自身が実践したものだけ書いていこうと思います!

なお、「こういう手軽な方法があるよ」や「間違ったこと書いているよ」等ありましたらコメントやtwitterのDMで教えて下さると助かります( ´ ▽ ` )

最終更新:2017/9/7

初心者の方や熟練者の方を問わずTwitterのフォローお待ちしています…(`・ω・´) ヨロシク!