Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 12 Next capture
2021 2022 2023
1 capture
12 Jun 22 - 12 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 TheSaviour · Mar 12, 2019 at 04:17 PM · performancedynamic batching

Dynamic batching leads to performance drop?

I've been working on an platformer for android. My scene consists of a lot of platforms moving across the screen. I initially used the Legacy/Diffuse shader for all my platforms and enabled GPU instancing. The performance was fine. But then I tried to compare the performance with dynamic batching (with GPU instancing turned off)

Turns out, the performance got worse. I noticed that every now and then, the platforms' movement get a bit jerky. I thought maybe I should use mobile shaders instead. The performance was still bad (once again, with dynamic batching enabled). So I connected my game to the profiler to find out what's going on.

Here's what the profiler showed when I was using Mobile/VertexLit shader for all my platforms (with dynamic batching):

alt text

As you can see, the game produces a lot of Gfx.WaitForPresent spikes, which leads to the stutter. But when I use GPU instancing instead of dynamic batching, those spikes don't show up as much (and when they do, they're not that big in size). Also, the performance is really good. Even when I'm using Mobile/BumpedSpecular (Only 1 directional light) shader (with GPU instancing), those spikes barely show up and the performance is really good.

So is this normal? I was always under the impression that dynamic batching would be really good for my game (and even better than GPU instancing). But it seems that's not the case.

db-mvl.png (130.0 kB)
Comment
Add comment · Show 6
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 RobAnthem · Mar 12, 2019 at 04:25 PM 0
Share

Sorry I just wrong a comment thinking you were referring to static not dynamic :P

Dynamic batching is a resource hog sometimes, especially if you have a lot of DIFFERENT objects. However, if your platforms are moving, they can't be staticly batched, but have you considered doing a bit of both? Statically batch your static objjects, dynamically batch your dynamic objects.

avatar image TheSaviour RobAnthem · Mar 12, 2019 at 04:27 PM 0
Share

Yes I've done that. $$anonymous$$y static objects are already static batched.

avatar image RobAnthem TheSaviour · Mar 12, 2019 at 04:33 PM 0
Share

Well your real killer here is Vsync, that WaitForTargetFPS crap is killing you. I'd disable Vsync immediately.

EDIT: Also make sure you don't have any code that mentions Application.targetFrameRate

Show more comments

0 Replies

· Add your reply
  • Sort: 

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

117 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 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 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 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 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 avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

dynamic batching problem with spriterenderer 1 Answer

Dynamic batching slows down? 0 Answers

Dynamic Batching, Combine Meshes? 1 Answer

(Unity3.3 standard)How to CombineChildren and keep Dynamic Batching? 0 Answers

iOS pro: Will splitting a large mesh into many dynamically batched meshes hurt my performance? 0 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