Unity Performance Tips: Draw Calls

Поделиться
HTML-код
  • Опубликовано: 22 май 2024
  • A short video on how to improve your frame rate in Unity. This video covers various optimizations to reduce draw calls such as combining meshes, batching and gpu instancing.
    Music Credit: LAKEY INSPIRED
    Track Name: "The Process"
    Music By: LAKEY INSPIRED
    Official SoundCloud / lakeyinspired
    Official RUclips Channel: / @lakeyinspired
    License for commercial use: Creative Commons Attribution 3.0 Unported "Share Alike" (CC BY-SA 3.0)
    creativecommons.org/licenses/...
    Music promoted by: Chill Out Records @ goo.gl/fh3rEJ www.ChillOutMedia.com / www.LoFi-HipHop.com
    Music Credit: "KaizanBlu"
    Track Name: "Remember"
    • Instagram - / kaizanblu
    • SoundCloud - / kaizanblu
    • Facebook - / kaizanblumusic
    • TikTok - @kaizanblu vm.tiktok.com/aCYwfx/
    • RUclips - / @kaizanblu
    Licence: Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)
    • Music released by: Chill Out Records goo.gl/fh3rEJ @www.ChillOutMedia.com / www.LoFi-HipHop.com

Комментарии • 218

  • @samkwok2538
    @samkwok2538 3 года назад +70

    The best Unity Performance tips on RUclips ever

  • @TurboMakesGames
    @TurboMakesGames 3 года назад +180

    Great overview. I liked how you you showed multiple levels of improvement and how each setting improved frame rate and batches 👍

  • @juca2000
    @juca2000 Год назад +149

    I was always so worried about poly count, always trying to keep it to a minimum, but I love it that in this video you went from 0.5 FPS to hundreds without reducing a single polygon, always kept with those 21M.

    • @Domarius64
      @Domarius64 Год назад +20

      There are various bottlenecks to be aware of, polycount is still one of them, but the aim is to solve the one affecting your particular situation.

    • @xomvoid_akaluchiru_987
      @xomvoid_akaluchiru_987 Год назад +1

      @@Domarius64 why not apply all of the performance techniques at once? As soon as you solve the original problem, shouldn't you apply the other techniques?

    • @Domarius64
      @Domarius64 Год назад

      @@xomvoid_akaluchiru_987 if you have infinite time, sure, you can do everything. But in the real world you are always making trade offs to get something produced in a way that still turns a profit.

    • @xomvoid_akaluchiru_987
      @xomvoid_akaluchiru_987 Год назад

      @@Domarius64 Ok, time constraints, sure, but if a product is finished and you're coming back to fix some things then I don't see why implementing all of them would be an issue if the product really does benefit from it. If it doesn't benefit much then I just trust myself to have common sense and see that it's not worth it.

    • @Domarius64
      @Domarius64 Год назад

      @@xomvoid_akaluchiru_987 that "extra time at the end" literally never happens in game dev :) you always end up releasing the game when its good enough, not because its finished, because it never is. And so you cant justify spending time on things that have no tangible benefit - remember, you said "why not do all of them?" Well, thats why not. If the game runs on the target hardware acceptably, there is no reason to optimise. Plus when you say "why noy do all techniques" like there are only 5 or something. Every different programmer could know any number of techniques they learned about somewhere, too numerous to list, you cant just "do them all".
      And more importantly, those changes will not have zero impact, there will always be knock on changes related to that, and plenty of opportunity for new bugs to be introduced at every step of the way, all which will have to be fixed, taking even more time. If its working, you leave it alone.

  • @Imry0411
    @Imry0411 Год назад +41

    This will definitely be added to my greatest-unity-tutorials-of-all-time list.

  • @ivo435
    @ivo435 Год назад +17

    You single-handedly saved my project. I went up from average 28-30 fps to 160 lol. Thank you so much

  • @harrykingsley7915
    @harrykingsley7915 2 года назад +27

    These are very professional and excellent quality tutorials. Keep up the good work!

  • @iLikeCoffee777
    @iLikeCoffee777 3 года назад +8

    Okay these are some really good tips explained very well and I absolutely love the cat at the end!

  • @TheSateef
    @TheSateef 10 месяцев назад +1

    i love these short concise videos full of great info, thanks so much

  • @gneisskitty9359
    @gneisskitty9359 Год назад +2

    Helpful, concise, and clear. Thank you for taking the time to make this video.

  • @squonkbot9487
    @squonkbot9487 19 дней назад

    It's men like you that make the world a better place, I watch tons of videos on the same thing but you broke it down simple and easy to digest.

  • @Foxyzier
    @Foxyzier 3 года назад +6

    the simplest and most understandable video on that topic thanks

  • @bifrostbeberast3246
    @bifrostbeberast3246 3 месяца назад +1

    Conscise, precise and short. Sir, you have mastered the art of tutorials and I am eternally grateful!

  • @dreamisover9813
    @dreamisover9813 2 года назад +2

    Great overview, quick and to the point, thanks

  • @peteyoshea
    @peteyoshea 3 года назад +3

    This is so well explained. Great video!

  • @fakename3208
    @fakename3208 2 года назад +1

    Awesome video thank you bro. Loved the visuals and explanations. I now know exactly what I need to do for my use case.

  • @Louis-ko4yq
    @Louis-ko4yq 3 года назад +2

    Great work, the overall quality of the video is really high, please continue :)

  • @cristhiancantillo4922
    @cristhiancantillo4922 2 года назад +1

    Short and clear. Nice vídeo man

  • @thatsalot3577
    @thatsalot3577 Год назад +2

    This video is a gem, small but extremely valuable.

  • @raploky
    @raploky Год назад +1

    I CAN'T EXPLAIN HOW EFFICIENT IT IS!
    THANK YOU!

  • @TobeasJ
    @TobeasJ 2 месяца назад

    Very clean and easy to understand.

  • @Trashloot
    @Trashloot 2 года назад

    So much good information in such a short video. Just wow.

  • @kedidjein
    @kedidjein 13 дней назад

    i learnt more with your video than a lot of time on unity docs and asset store...thanks a lot perfect explanations

  • @jamesthiel5721
    @jamesthiel5721 Год назад

    Nice thank you, this is very clear, easy to understand and successfully removes doubts on the subject.👍🏼

  • @andreidaniel687
    @andreidaniel687 Год назад

    Thank this is amazing I've been looking for something like this for a while now!

  • @INeatFreak
    @INeatFreak Год назад

    Quick and accurate! Great video 👍

  • @ArranAsh
    @ArranAsh 2 года назад

    Thank you so much, my game had a lot of belts in it and this was a great way of cutting down usage

  • @PedroL.Rosario
    @PedroL.Rosario 2 года назад

    Really nice, tutorials for enhance the game performance is one of my favorites, very useful!

  • @nikbivation
    @nikbivation Год назад

    thank you for this! so much info in so little time

  • @ObviousDev
    @ObviousDev 3 года назад

    Great tutorial! Very underrated channel in my opinion :)

  • @limsengyong2122
    @limsengyong2122 2 года назад

    very well-explained, thanks for the tips!

  • @howtogamedev_
    @howtogamedev_ Год назад

    This was really cool, finally got to know why batching

  • @marshallross3373
    @marshallross3373 Год назад

    Great tips! Thanks!

  • @gabangang5093
    @gabangang5093 2 года назад

    Nice tips, 800th subscriber. :D

  • @GabrielDias0223
    @GabrielDias0223 2 года назад

    Incredible video, thank you so much!

  • @AndrewDreamKeeper
    @AndrewDreamKeeper 15 дней назад

    thnks dude! powerfull information 👍

  • @shobeon
    @shobeon Год назад

    What a nice tips! gonna try it

  • @IslamAudioStation
    @IslamAudioStation 2 года назад +1

    Very important and very helpful lesson.

  • @FireFox64000000
    @FireFox64000000 9 месяцев назад +1

    Woah nelly this is going to be so useful.

  • @StarkTech47
    @StarkTech47 11 месяцев назад

    Awesome video, short, detailed with very good explanations and demonstrations, great job ! I have a question, for the GPU instancing on the material. We see in the video all building moving but how did you do that ? I suppose it thanks to compute shaders or by C# script ?

  • @yatah
    @yatah 2 года назад

    Very clear and helpful vid! thx!

  • @liulinzhifu
    @liulinzhifu 2 года назад +1

    very informative, thank you!

  • @Juss_Chillin
    @Juss_Chillin 2 года назад +1

    Thank youuu, I needed this soooo much for my mobile app! So, thank you ^-^

  • @bambusz0131
    @bambusz0131 2 года назад

    Very good and helpful! Thanks!

  • @mimsii4200
    @mimsii4200 2 месяца назад

    Really cool, thanks!

  • @Sail_VR
    @Sail_VR Год назад +1

    SO USEFUL THANK YOU!!!

  • @specialgorilla
    @specialgorilla 2 года назад

    Dang I had no idea this was even a thing! Fantastic tutorial

  • @HonorLone
    @HonorLone Год назад

    short and informative
    thanks!

  • @schizoscope8703
    @schizoscope8703 2 года назад

    Thanks for clear explanantion!

  • @aaronjenkins2225
    @aaronjenkins2225 2 года назад

    i wish i saw this video months ago, great advice!!!

  • @onemanonmars6478
    @onemanonmars6478 Год назад

    Great video! Thanks-

  • @glebparshikov1351
    @glebparshikov1351 Год назад

    That is brilliant. Finally, I understand!

  • @ClintochX
    @ClintochX 6 месяцев назад

    Thanks so much for this video

  • @luizfellipe1206
    @luizfellipe1206 3 года назад

    Very intuitive instructions 10/10

  • @Banaaani
    @Banaaani 11 месяцев назад

    Thanks. This is insanely helpful.

  • @faiqali4915
    @faiqali4915 3 года назад

    The only good video about batches on youtube

  • @TruGameRage
    @TruGameRage Год назад

    wow this was informative! thanks a lot

  • @kevinramirez-rq8sy
    @kevinramirez-rq8sy 2 года назад

    Very well explained!

  • @ThefamousMrcroissant
    @ThefamousMrcroissant Год назад

    This is a very nice format to explain performance though: gradual improvement.

  • @MAINRAGAMES
    @MAINRAGAMES Год назад

    hatur nuhun bang. ilmunya mudah dipahami dan singkat

  • @aussieraver7182
    @aussieraver7182 2 года назад

    This is amazing!

  • @captaincommando9839
    @captaincommando9839 Год назад

    insanely useful considering i was using multiple materials for flat coloring instead of just using a texture.

  • @in801fo5
    @in801fo5 Год назад

    Thank you, keep up the good work! :)

  • @jonajo261
    @jonajo261 2 года назад

    GREAT VIDEO MAN

  • @jusdoit967
    @jusdoit967 2 года назад

    Thank you man i wish if i saw your video before now

  • @disdathit
    @disdathit Год назад

    Nice vid, thanks 😊

  • @Foxtrot6624
    @Foxtrot6624 7 месяцев назад

    Absolutely fantastic. I had no idea that marking an object as static actually did anything without scripts or rigid body’s applied to them

  • @ZeroStas
    @ZeroStas 8 месяцев назад

    Perfect tutorial

  • @baldipogchamp8926
    @baldipogchamp8926 Год назад

    Been making jam games in unity for 2 years now, did not realise how important the Static tickbox was. Never used it before, changing that now!

  • @gameplayhubindia
    @gameplayhubindia 2 года назад

    Awesome Tutorial

  • @UnityTrap
    @UnityTrap 2 года назад

    Awesome video 👍

  • @Jicefrost
    @Jicefrost 2 года назад

    thx! Usefull video!

  • @bhattacharjeesantanu
    @bhattacharjeesantanu 3 года назад

    Totally awesome channel !!!!!!!💥💥💥💥💥💥💥💥

  • @MrZazzy
    @MrZazzy 2 года назад

    Tysm, you deserve 1k Subs :)

  • @ELEMENTLHERO
    @ELEMENTLHERO Год назад +1

    Best 5 min ever spent!

  • @oozly9291
    @oozly9291 3 года назад

    Great help!

  • @Nightmare_Developer
    @Nightmare_Developer Год назад +1

    Loved it !! when i was about to upload my game i searched this and all the top results were just making the game look like potato 🥔 and today i found this video :) honestly RUclips should push this video more...

  • @DARK_AMBIGUOUS
    @DARK_AMBIGUOUS Год назад +1

    Please make more videos about optimizing your games to make them run smoother, thank you

  • @Reeality09
    @Reeality09 2 года назад +21

    Btw. GPU Instancing will NOT work, if you have enabled SRP Batching in the Render Pipeline Settings. The SRP Batching is also better in performance reasons, because your gameobjects do not need to share the same Mesh/Material.. just the same Shader.

    • @antonovivan3008
      @antonovivan3008 4 месяца назад

      I’ve never tried to measure the difference in performance by myself. But according to what people write at Unity forum, SRP batcher is generally slower than static batching. It has less memory footprint and easier to use though. And in some cases GPU instancing may be more efficient than SRP batching. In case of dense grass field made of 1 instanced mesh, for example.

  • @ethankendall7575
    @ethankendall7575 Год назад

    Thanks this means a lot to me when I am developing on a Intel i5 2gb gpu appreciated

  • @QuestTaker
    @QuestTaker 3 года назад

    Thank you for the guide! Super easy to understand, entertaining, and you have a sexy voice. You have it all man keep it up!

  • @narendrakumarjha734
    @narendrakumarjha734 Год назад

    you saved me. thanks man!

  • @a6gitti
    @a6gitti Месяц назад

    thanx for these tips

  • @FireJojoBoy
    @FireJojoBoy 2 года назад

    This is optimization-heaven

  • @gddhyper4913
    @gddhyper4913 Год назад

    Back after lots of months and now i understand

  • @kurtdevries9182
    @kurtdevries9182 2 года назад +2

    the ultimate guide to go from seconds per frame to frames per second.

  • @galan4173
    @galan4173 3 года назад

    Nice vid!

  • @user-uk9er5vw4c
    @user-uk9er5vw4c Год назад

    awesome!

  • @MrZazzy
    @MrZazzy 2 года назад

    Amazing Vid, 824th Subscriber

  • @mohammedmurad7725
    @mohammedmurad7725 Год назад

    Thanks, REALLLLLY THANKSSSS.

  • @albertusbodenstein1976
    @albertusbodenstein1976 3 года назад

    Thanks man! ~!you LEGEND you!

  • @regys9521
    @regys9521 2 года назад

    GREAT CONTENT

  • @unknownx4295
    @unknownx4295 3 года назад

    Thanks, it helped

  • @potaterjim
    @potaterjim 2 года назад +7

    But what about occlusion culling? If you've got an interior level made up of several walls and rooms, is it better to user lots of smaller meshes and occlusion culling?
    Or what about the middle ground: making each room a large static object, and then using occlusion culling to turn off entire rooms at a time?

  • @farukonder8937
    @farukonder8937 2 года назад

    Thank you :)

  • @suicune2001
    @suicune2001 Месяц назад

    Thank you! One of the reasons I'm hesitant to try 3D is because I'm worried about performance. 2D is just so much easier and you don't need to worry about performance as much.

  • @miaan9374
    @miaan9374 2 года назад

    Thanks bro

  • @missing_the_texture
    @missing_the_texture Год назад

    thank you

  • @kennethbailey9802
    @kennethbailey9802 2 года назад

    Thanks

  • @Mikelica69
    @Mikelica69 3 года назад

    Thanks!!!

  • @nicolasportu
    @nicolasportu Год назад

    Outstanding! If I have a big city with lots of different models, do I have to choose between this tecnique vs Occlusion culling? Let's supose that I combine all the meshes in one in Blender. Thanks!