Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 13 Next capture
2021 2022 2023
1 capture
13 Jun 22 - 13 Jun 22
sparklines
Close Help
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
0
Question by VivienS · Feb 26, 2014 at 05:09 PM · mobileperformancebatching

Batching on Mobile = Bad? Your experience.

Hello there

We're working on a 3D game for iOS and Android and made a striking discovery today. In short: It improved our performance significantly to turn off batching.

In our game, there are long, side-scrolling 3D levels with somewhere between 150k-200k triangles each. The scenes are built in a modular fashion: consisting of about 500-1000 single objects that share one or two materials. We're using static batching on the whole scene to reduce drawcalls and really got it down to 3-8 drawcalls (in the editor). Still, we were experiencing performance troubles on not-so-new hardware (iPhone4, Samsung Galaxy S & S II).

After turning off static batching for all objects in one scene, we improved performance on Galaxy S II from about 20-25 fps to a stable 60 fps! And looking in the editor, there is no dynamic batching happening on the level objects either. It shows between 40-90 drawcalls in each frame.

Now, we are really confused. This seems run against most things that we have read AND experienced so far in terms of optimizing for mobile. How can this work? I thought drawcalls are extremely critical on mobile?

I would be really curious about your practice and experience in this regard.

Thanks!

Comment
Add comment · Show 2
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image VivienS · Mar 07, 2014 at 10:54 AM 0
Share

seriously, no one has any experience with this? ;)

avatar image whydoidoit · Mar 07, 2014 at 11:19 AM 0
Share

Well I too turned off static batching because it means that occlusion culling and even frustum culling do not work. So I'm not surprised you had a similar result. 90 draw calls isn't the end of the world compared to all of the extra vertices that need rendering I guess - 400 draw calls would be more of a problem.

For Impostors I create skinned meshes for a single draw call result - this does perform O$$anonymous$$, but only because I am forcing everything not being drawn to be outside the frustum from the shader's perspective (and tiny for the fragment part) and in any case the nature of Impostors is that you want lots in view.

1 Reply

· Add your reply
  • Sort: 
avatar image
0

Answer by Sisso · Mar 07, 2014 at 11:39 AM

Batching is not bad, but like any other optimization you must apply when its needed, with a profile test :P

Batching "merge" all meshes and draw in a single draw call. So you is always drawing a very big mesh, it is very good to reduce draw calls. Because you already create a scene in a modular fashion you are drawing very few triangles each time, but with more draw calls.

Create modular meshes with controllable triangles disposed in scene to have a average draw call is a very good way to create optimized sceneries. But it gives much more work that place hundred of objects and apply static batch.

Comment
Add comment · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this Question

Answers Answers and Comments

22 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

[Closed] Manually Batching GUI Texture Objects? 0 Answers

Materials disappear on Mobile when more then one is set to static batching. 0 Answers

Coin Magnet Performance Issue Mobile 3 Answers

Shader and Dynamic batching problem 1 Answer

2D optimization help, im going crazy... 4 Answers


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges