Unity Performance Tips: Draw Calls

  Рет қаралды 177,009

Lofi Dev

Lofi Dev

Күн бұрын

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 KZbin 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/
• KZbin - / @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

Пікірлер: 220
@juca2000
@juca2000 Жыл бұрын
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 Жыл бұрын
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 Жыл бұрын
@@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.
@samkwok2538
@samkwok2538 3 жыл бұрын
The best Unity Performance tips on KZbin ever
@lucutes2936
@lucutes2936 25 күн бұрын
indeed
@TurboMakesGames
@TurboMakesGames 3 жыл бұрын
Great overview. I liked how you you showed multiple levels of improvement and how each setting improved frame rate and batches 👍
@Imry0411
@Imry0411 Жыл бұрын
This will definitely be added to my greatest-unity-tutorials-of-all-time list.
@ivo435
@ivo435 Жыл бұрын
You single-handedly saved my project. I went up from average 28-30 fps to 160 lol. Thank you so much
@dertobbe1176
@dertobbe1176 2 күн бұрын
How are you doing mate? Is your game realesed yet?
@harrykingsley7915
@harrykingsley7915 2 жыл бұрын
These are very professional and excellent quality tutorials. Keep up the good work!
@gneisskitty9359
@gneisskitty9359 Жыл бұрын
Helpful, concise, and clear. Thank you for taking the time to make this video.
@TheSateef
@TheSateef 10 ай бұрын
i love these short concise videos full of great info, thanks so much
@iLikeCoffee777
@iLikeCoffee777 3 жыл бұрын
Okay these are some really good tips explained very well and I absolutely love the cat at the end!
@dreamisover9813
@dreamisover9813 2 жыл бұрын
Great overview, quick and to the point, thanks
@peteyoshea
@peteyoshea 3 жыл бұрын
This is so well explained. Great video!
@fakename3208
@fakename3208 2 жыл бұрын
Awesome video thank you bro. Loved the visuals and explanations. I now know exactly what I need to do for my use case.
@Foxyzier
@Foxyzier 3 жыл бұрын
the simplest and most understandable video on that topic thanks
@Louis-ko4yq
@Louis-ko4yq 3 жыл бұрын
Great work, the overall quality of the video is really high, please continue :)
@bifrostbeberast3246
@bifrostbeberast3246 3 ай бұрын
Conscise, precise and short. Sir, you have mastered the art of tutorials and I am eternally grateful!
@cristhiancantillo4922
@cristhiancantillo4922 2 жыл бұрын
Short and clear. Nice vídeo man
@Trashloot
@Trashloot 2 жыл бұрын
So much good information in such a short video. Just wow.
@thatsalot3577
@thatsalot3577 Жыл бұрын
This video is a gem, small but extremely valuable.
@PedroL.Rosario
@PedroL.Rosario 2 жыл бұрын
Really nice, tutorials for enhance the game performance is one of my favorites, very useful!
@jamesthiel5721
@jamesthiel5721 2 жыл бұрын
Nice thank you, this is very clear, easy to understand and successfully removes doubts on the subject.👍🏼
@limsengyong2122
@limsengyong2122 2 жыл бұрын
very well-explained, thanks for the tips!
@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
@TobeasJ
@TobeasJ 2 ай бұрын
Very clean and easy to understand.
@nikbivation
@nikbivation Жыл бұрын
thank you for this! so much info in so little time
@andreidaniel687
@andreidaniel687 Жыл бұрын
Thank this is amazing I've been looking for something like this for a while now!
@raploky
@raploky Жыл бұрын
I CAN'T EXPLAIN HOW EFFICIENT IT IS! THANK YOU!
@howtogamedev_
@howtogamedev_ Жыл бұрын
This was really cool, finally got to know why batching
@INeatFreak
@INeatFreak Жыл бұрын
Quick and accurate! Great video 👍
@GabrielDias0223
@GabrielDias0223 2 жыл бұрын
Incredible video, thank you so much!
@kedidjein
@kedidjein 24 күн бұрын
i learnt more with your video than a lot of time on unity docs and asset store...thanks a lot perfect explanations
@squonkbot9487
@squonkbot9487 Ай бұрын
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.
@ObviousDev
@ObviousDev 3 жыл бұрын
Great tutorial! Very underrated channel in my opinion :)
@yatah
@yatah 2 жыл бұрын
Very clear and helpful vid! thx!
@AndrewDreamKeeper
@AndrewDreamKeeper 26 күн бұрын
thnks dude! powerfull information 👍
@IslamAudioStation
@IslamAudioStation 2 жыл бұрын
Very important and very helpful lesson.
@shobeon
@shobeon Жыл бұрын
What a nice tips! gonna try it
@marshallross3373
@marshallross3373 Жыл бұрын
Great tips! Thanks!
@bambusz0131
@bambusz0131 2 жыл бұрын
Very good and helpful! Thanks!
@liulinzhifu
@liulinzhifu 2 жыл бұрын
very informative, thank you!
@FireFox64000000
@FireFox64000000 10 ай бұрын
Woah nelly this is going to be so useful.
@specialgorilla
@specialgorilla 2 жыл бұрын
Dang I had no idea this was even a thing! Fantastic tutorial
@gabangang5093
@gabangang5093 2 жыл бұрын
Nice tips, 800th subscriber. :D
@mimsii4200
@mimsii4200 3 ай бұрын
Really cool, thanks!
@Juss_Chillin
@Juss_Chillin 2 жыл бұрын
Thank youuu, I needed this soooo much for my mobile app! So, thank you ^-^
@aaronjenkins2225
@aaronjenkins2225 2 жыл бұрын
i wish i saw this video months ago, great advice!!!
@HonorLone
@HonorLone Жыл бұрын
short and informative thanks!
@schizoscope8703
@schizoscope8703 2 жыл бұрын
Thanks for clear explanantion!
@Sail_VR
@Sail_VR Жыл бұрын
SO USEFUL THANK YOU!!!
@glebparshikov1351
@glebparshikov1351 Жыл бұрын
That is brilliant. Finally, I understand!
@onemanonmars6478
@onemanonmars6478 Жыл бұрын
Great video! Thanks-
@luizfellipe1206
@luizfellipe1206 3 жыл бұрын
Very intuitive instructions 10/10
@Banaaani
@Banaaani Жыл бұрын
Thanks. This is insanely helpful.
@TruGameRage
@TruGameRage Жыл бұрын
wow this was informative! thanks a lot
@kevinramirez-rq8sy
@kevinramirez-rq8sy 2 жыл бұрын
Very well explained!
@in801fo5
@in801fo5 Жыл бұрын
Thank you, keep up the good work! :)
@ClintochX
@ClintochX 6 ай бұрын
Thanks so much for this video
@aussieraver7182
@aussieraver7182 2 жыл бұрын
This is amazing!
@jusdoit967
@jusdoit967 2 жыл бұрын
Thank you man i wish if i saw your video before now
@faiqali4915
@faiqali4915 3 жыл бұрын
The only good video about batches on youtube
@jonajo261
@jonajo261 2 жыл бұрын
GREAT VIDEO MAN
@MAINRAGAMES
@MAINRAGAMES Жыл бұрын
hatur nuhun bang. ilmunya mudah dipahami dan singkat
@captaincommando9839
@captaincommando9839 Жыл бұрын
insanely useful considering i was using multiple materials for flat coloring instead of just using a texture.
@dertobbe1176
@dertobbe1176 2 күн бұрын
You accidently exolained what happened to my scene. Ty I got it ans will make use of it ❤
@Reeality09
@Reeality09 2 жыл бұрын
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 5 ай бұрын
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.
@disdathit
@disdathit Жыл бұрын
Nice vid, thanks 😊
@gddhyper4913
@gddhyper4913 Жыл бұрын
Back after lots of months and now i understand
@ThefamousMrcroissant
@ThefamousMrcroissant Жыл бұрын
This is a very nice format to explain performance though: gradual improvement.
@gameplayhubindia
@gameplayhubindia 2 жыл бұрын
Awesome Tutorial
@bhattacharjeesantanu
@bhattacharjeesantanu 3 жыл бұрын
Totally awesome channel !!!!!!!💥💥💥💥💥💥💥💥
@oozly9291
@oozly9291 3 жыл бұрын
Great help!
@UnityTrap
@UnityTrap 2 жыл бұрын
Awesome video 👍
@narendrakumarjha734
@narendrakumarjha734 Жыл бұрын
you saved me. thanks man!
@ZeroStas
@ZeroStas 8 ай бұрын
Perfect tutorial
@MrZazzy
@MrZazzy 2 жыл бұрын
Tysm, you deserve 1k Subs :)
@Jicefrost
@Jicefrost 2 жыл бұрын
thx! Usefull video!
@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!
@ELEMENTLHERO
@ELEMENTLHERO Жыл бұрын
Best 5 min ever spent!
@StarkTech47
@StarkTech47 Жыл бұрын
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 ?
@a6gitti
@a6gitti Ай бұрын
thanx for these tips
@FireJojoBoy
@FireJojoBoy 2 жыл бұрын
This is optimization-heaven
@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!
@user-uk9er5vw4c
@user-uk9er5vw4c Жыл бұрын
awesome!
@Nightmare_Developer
@Nightmare_Developer Жыл бұрын
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 KZbin should push this video more...
@galan4173
@galan4173 3 жыл бұрын
Nice vid!
@kurtdevries9182
@kurtdevries9182 2 жыл бұрын
the ultimate guide to go from seconds per frame to frames per second.
@albertusbodenstein1976
@albertusbodenstein1976 3 жыл бұрын
Thanks man! ~!you LEGEND you!
@DARK_AMBIGUOUS
@DARK_AMBIGUOUS Жыл бұрын
Please make more videos about optimizing your games to make them run smoother, thank you
@regys9521
@regys9521 2 жыл бұрын
GREAT CONTENT
@zlotey6485
@zlotey6485 3 жыл бұрын
I have a question about your 3rd point. 4:05 What should I use for organic material? For example, grass, trees, bushes, etc. - but these only "move" by a shader. should I use GPU instancing or static mesh?
@LofiDev
@LofiDev 3 жыл бұрын
Good question, static batching should work for them. When I say no movement what I mean is that objects transforms should not change. Any movement done through the shader is fine.
@ethankendall7575
@ethankendall7575 Жыл бұрын
Thanks this means a lot to me when I am developing on a Intel i5 2gb gpu appreciated
@MrZazzy
@MrZazzy 2 жыл бұрын
Amazing Vid, 824th Subscriber
@mohammedmurad7725
@mohammedmurad7725 Жыл бұрын
Thanks, REALLLLLY THANKSSSS.
@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
@unknownx4295
@unknownx4295 3 жыл бұрын
Thanks, it helped
@potaterjim
@potaterjim 2 жыл бұрын
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 :)
@vikaskumarpatel5017
@vikaskumarpatel5017 2 жыл бұрын
Thank you for such a single explanation. Amazing! I do have a few questions though, 1. How much duplicate objects with the same mesh, materials and settings? 2. Are duplicate objects different draw calls? 3. Are duplicates affect the CPU/CPU in the same way? For eg. two buildings with different materials which has the same mesh and two building with exactly the same mesh and material. 4. What about complex meshes? What is people just use this technique on a mesh which is complex? 5. What if I mark an object Static and turn on GPU instancing? 6. Also, fbx vs obj in this case?
@jamesthiel5721
@jamesthiel5721 2 жыл бұрын
Well, make a PREFAB of any multi-duplicate object you are planning to use. So 1 object with it's material(s) for ex. (note: prefabs can be a parent object with "nested child objects" too) Set it correctly, (Optimizing/combining, Static or GPU instancing) and use that prefab to build/compose. Make a second prefab for the different materials using the same mesh.. it's another batch for each material/mesh relation if I understand correctly. Unity will batch each of these separately but they will batch since a prefab is made for optimization and for batching. Complex meshes: just like the multiple window objects, you should combine/join all the objects like so: Static and or whole unbreakable objects should be combined/joined as ONE mesh. (NO need to connect all vertices like a sphere is). the breakable object would need to be seperate chunks objects which each a rigidbody component. Separate moving parts (animation) for car-wheels, windmills for exemples. nested in a parent object. Cars probably are all non-static so use gpu instancing. But not for the windmill structure -> static structure, and just for the rotating object -> gpu instancing. (although: you probably not gonna spawn 15 windmills so no real need of batching these. lol 🤣) Characters: usually one mesh for the body skin. for more life: 1 mesh for each eyes, and even more: the tongue and teeth/gum. Then customization of each cloth and bags, wearables ... is another story.. diff. approaches.. 5. GPU instancing allows object to move while Static is static cant move. there is conflict right there.. but I don't know try it. 6. I have no clue which is best.
@esa0832
@esa0832 2 жыл бұрын
nice video
@Ali-ASLAN-Dev
@Ali-ASLAN-Dev 11 ай бұрын
subscription for the cat and I liked it for the tip.
@CA_Carilae_KeReRi
@CA_Carilae_KeReRi 2 жыл бұрын
Save my life . Thanks!
How To Render 2 Million Objects At 120 FPS
14:57
Tarodev
Рет қаралды 135 М.
How Do Games Render So Much Grass?
15:52
Acerola
Рет қаралды 314 М.
She’s Giving Birth in Class…?
00:21
Alan Chikin Chow
Рет қаралды 7 МЛН
Miracle Doctor Saves Blind Girl ❤️
00:59
Alan Chikin Chow
Рет қаралды 50 МЛН
$10,000 Every Day You Survive In The Wilderness
26:44
MrBeast
Рет қаралды 53 МЛН
When Optimisations Work, But for the Wrong Reasons
22:19
SimonDev
Рет қаралды 788 М.
Giving Personality to Procedural Animations using Math
15:30
t3ssel8r
Рет қаралды 2,4 МЛН
Watch This Before Working on a Big Game in Unity
18:44
John Leorid
Рет қаралды 290 М.
11 Things You (Probably) Didn't Know You Could Do In Unity
13:49
Game Dev Guide
Рет қаралды 147 М.
Unity GPU Instancing in less than 7 minutes!
6:56
Flaroon
Рет қаралды 36 М.
What I Did To Optimize My Game's Grass
8:13
Acerola
Рет қаралды 121 М.
OPTIMIZE your Unity game using these performance tips | Tutorial
11:20
Sasquatch B Studios
Рет қаралды 7 М.
Unity Performance Optimization - DevLog #9 for My Game, MiLE HiGH TAXi
10:12
Unity Code Optimization - Do you know them all?
15:49
Tarodev
Рет қаралды 181 М.
She’s Giving Birth in Class…?
00:21
Alan Chikin Chow
Рет қаралды 7 МЛН