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 BDX777 · Mar 14, 2014 at 03:10 AM · performanceoptimizationdrawcallsadvice

What's a good draw call count?

Hello I'm working on a game and I'm designing it with a balance between performance and fidelity in mind, how many is too high?

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 BDX777 · Mar 14, 2014 at 08:17 AM 0
Share

The profiler is greyed out, I think I forgot to mention I'm using Unity Free.

avatar image Berenger · Mar 14, 2014 at 08:19 AM 0
Share

What plaform are you targeting then ?

avatar image FLASHDENMARK · Mar 14, 2014 at 08:46 AM 0
Share

Any draw call count below 1 is pretty good, but then again that wouldn't make a very interesting game ^^.

avatar image BDX777 · Mar 15, 2014 at 04:43 AM 0
Share

Okay I have an idea... "How many draw calls can a gigabyte of DDR3 RA$$anonymous$$ handle?" What I can do is add up the numbers, so if I wanna design for PCs with 4GB of DDR3 and can produce over 500 megahertz of CPU and GPU speed that have 512mb of VRA$$anonymous$$, I can develop around that estimated number of drawcalls. I am VERY paranoid about performance and optimization so this is why I asked...

avatar image Eric5h5 · Mar 15, 2014 at 05:02 AM 0
Share

Draw calls don't really have anything to do with the GPU, they are CPU-based. Nobody can give you any hard numbers, since draw calls are only one factor among many in how fast a game will run. What you need to do is get some hardware that you want to support and test on that, or at least get somebody else who has that hardware to do it. That's what all game developers do, and it's part of why beta testing exists. It's also why quality settings exist, so you can scale things back and have less powerful hardware still run the game acceptably. (But, supporting a .5GHz CPU? Does anyone actually use a computer that old?)

Show more comments

2 Replies

· Add your reply
  • Sort: 
avatar image
2

Answer by Eric5h5 · Mar 14, 2014 at 03:16 AM

It depends on the hardware you're targeting, so there's no particular answer. Use the profiler to measure performance.

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

Answer by robertbu · Mar 14, 2014 at 08:52 AM

Without the compiler, just run a test.

  • Create a single object of the complexity you will be using for your game in the scene.

  • Put a material and texture (using a representative shader) on this object.

  • Scale the object down and make it a prefab.

  • Add a cube to your scene.

  • Add the the following script to the cube.

  • Initialize the 'prefab' variable with the object created in step 1

  • Put an FPS script in the scene (you will find a FPS script in the Unity Wiki).

  • Build and run the app on the target device

  • Tap the cube to create 25 objects at a time. Note when the FPS drops. Note when the FPS become unacceptable.

Since you are starting with such a simple scene and your game will be more complex, these will be the outside limits for that device using the specified material. You may want to experiment with simpler materials and less complex prefabs to see what you buy in terms of performance.

 #pragma strict
  
 var prefab : GameObject;
 
 function Update() {
     transform.Rotate(0,Time.deltaTime * 180,0);    
 }
 
 function MakeMore() {
     for (var i = 0; i < 25; i++) {
         var go = Instantiate(prefab, transform.position + 4.0 * Random.insideUnitSphere, Quaternion.identity);
         go.renderer.material.SetTextureOffset("_MainTex", Vector2(0.01,0.0));
         go.transform.parent = transform;
     }
 }
 
 function OnMouseDown() {
     MakeMore();
 }

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

23 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

Related Questions

Objects using the same material are incurring separate draw calls. 0 Answers

what's the best way to reduce draw calls? 9 Answers

How to optimize with a lot of objects 0 Answers

Drawcalls or Batched, which is more important to performace? 1 Answer

Improving script performance 1 Answer


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