Optimization tips for maximum performance – Part 1 | Unite Now 2020

Optimization tips for maximum performance – Part 1 | Unite Now 2020

Unity

4 года назад

89,320 Просмотров

Ссылки и html тэги не поддерживаются


Комментарии:

ZarodGaming
ZarodGaming - 04.06.2023 11:37

The second last advice is NOT right.

Sometimes adding and removing a component is THE ONLY WAY to avoid it having an impact on other systems, even when diasabled, EXPECIALLY for a rigidbody!!!

Absolutely not agree on that 🤔
( Maybe to advice having 2 verions of the same object pooled, one with and one without the component .... that is good advice)

Ответить
Furkan Baldır
Furkan Baldır - 05.10.2022 15:38

I have a question about Transforming objects. If our rigidbody is kinematic, which class should I use to change position, Transform or Rigidbody?

Ответить
Shatabda\Roy
Shatabda\Roy - 28.08.2021 13:18

You sound like a sleep deprived person, you should sleep 8 hours a day!

Ответить
Binarium
Binarium - 28.04.2021 16:18

UNITY IS GONNA REACH 1M SUBSCRIBERS !

Ответить
KillerMZE
KillerMZE - 06.04.2021 17:03

This is great, thank you for this. Please make more videos focusing on performance

Ответить
Rokr_Mods
Rokr_Mods - 08.03.2021 06:30

Nice presentation 👍🏾

Ответить
Rafael Portugal
Rafael Portugal - 02.03.2021 03:01

Repent ye: "For the wages of sin is death; but the gift of God is eternal life through Jesus Christ our Lord." Romans 6:23
Jesus Christ loves you: "For God so loved the world, that he gave his only begotten Son, that whosoever believeth in him should not perish, but have everlasting life." John 3:16
"Mortify therefore your members which are upon the earth; fornication, uncleanness, inordinate affection, evil concupiscence, and covetousness, which is idolatry:" Colossians 3:5
"These things I have spoken unto you, that in me ye might have peace. In the world ye shall have tribulation: but be of good cheer; I have overcome the world." John 16:33
Read Revelation 18

Ответить
Zakadeja
Zakadeja - 18.02.2021 00:56

Explain that you're a 'game evangelist' to my grandparents. I dare you.

Ответить
Alexis Pautrot
Alexis Pautrot - 21.12.2020 17:39

Is there an overhead of a complex hierarchy even if we don't define a method OnTransformChanged in our components ?
Isn't the matrix of a Transform flagged for recompute and only recomputed if we access it ?

Ответить
Alexis Pautrot
Alexis Pautrot - 21.12.2020 17:35

Aren't properties with no code automatically optimized by the IL2CPP pass & subsequent C++ optimisation ?

Ответить
Riddhesh Zaveri
Riddhesh Zaveri - 30.10.2020 22:22

Awesome useful video. Have already watched tons of optimization videos before but some of tips were really new and useful. I need hundreds of such tips xD.

Ответить
jasai
jasai - 28.09.2020 12:31

Thxxx

Ответить
ayesha food
ayesha food - 22.09.2020 21:12

Nice

Ответить
Andriy Postelzhuk
Andriy Postelzhuk - 20.08.2020 16:22

Why are you using new + destroy functions in GC example? Afaik It is never used this way. This example can confuse new unity learners.

Ответить
unnamer345
unnamer345 - 31.07.2020 13:13

"We add empty functions Start and Update for you - just remove it"
- Unity

Ответить
Un4GivNX
Un4GivNX - 19.07.2020 03:59

Good but basic stuff. I'd like to see more advanced tips regarding performances.

Ответить
Retrodad
Retrodad - 13.07.2020 22:58

please also a advanced session about garbage collection.. nice talk by the way

Ответить
A M
A M - 13.07.2020 16:08

Thanks a lot, this is fantastic tips!

Ответить
DoGames
DoGames - 11.07.2020 23:22

Can you guys do one on physics optimization? I can't quite grasp what the performance hit of rotating a rigidbody's transform is.

Ответить
szpickij
szpickij - 09.07.2020 03:19

Thank you Arturo!
This is a GREAT topic and could go on for quite some time.
Load and cleanup performance issues impact every game out there and Unity does a pretty good job at handling it, especially the garbage collector (Seriously, the core engine guys did a fantastic job with the garbage collector.) But to know the impact details of each development choice could help makes games & apps run much smoother
Could we get a series breakout on this but with tangible data?
Load time per standard mesh (cube, sphere, cone, etc), instantiate time, destroy time, clean-up time, enable/disable time (object pools), etc.
Maybe break it into triangles so we can do the math for complex scenes.
Impacts of having prefabs in the project that are never instantiated at run-time (RT) but are used in various scenes and were placed via the editor and the prefab is just to have a single place to edit the gameobjects mesh/material/misc settings.
This could be a HUGE series that covered a ton of stuff.
Breaking it down to clock-cycles is probably most useful but also most difficult. Knowing that gameobject go = findgameobject... in c# Start() costs ~5,000 cycles but assigning the object in the inspector costs 5,500 cycles at load could help developers better choose the path they want to take (and I have no idea the performance cost of find in Start() vs inspector assignment, but I have seen a difference in scene loading between the two (The Profiler has the same "spike" just at a different time.)
Maybe this request is too much engineering info, idk, but there is a TON of topics and minor tweaks that make any game a little faster.
Audio compression could be a single video (Decompress on load/compressed in memory/streaming, app load times impact for each, pcm vs vorbis, quality impact to load performance vs sound quality), there is soooooo much here.
Visual Effects Graph assets vs shuriken (load times, we already know shuriken is more CPU intensive), Shader graph assets on load, etc.
I'm excited! And that's why you got this voluminous, vomited, stream-of-conscious comment... sorry man... :'(

Ответить
Colonthree Enterprises
Colonthree Enterprises - 08.07.2020 06:38

That hashing part caught me offguard. ;w;

Ответить
puretrack06
puretrack06 - 08.07.2020 01:29

I would like an in depth/ practical example of getter/setter optimization. How much up a real performance boost are we talking? Are we talking better memory management or reduce load?

Ответить
gower1973
gower1973 - 07.07.2020 13:16

Is the stack and heap just a logical construct by the operating system or the compiler, because on a hardware level surely all the memory space is the same, their isn’t different types of memory cells in the memory sticks is there?

Ответить
Jan Marc Baniqued
Jan Marc Baniqued - 07.07.2020 09:30

A must watch for every unity game developer! Thank you.

Ответить
SillyMakesVids
SillyMakesVids - 07.07.2020 08:55

Can we get a summary slide?

Ответить
fulongfromthegrave
fulongfromthegrave - 07.07.2020 08:07

A lot of these tips i knew were good practice but i didnt really understand why before watching this video. Thank you very much for the presentation 🙏

Ответить
TheSpacecraftX
TheSpacecraftX - 07.07.2020 02:53

What is addressable assets?

Ответить
Jean-Michel HOUBRE
Jean-Michel HOUBRE - 06.07.2020 19:57

Super interesting video.
Unfortunately, certain subtleties of the English language have left some areas of fog ... This is why I thank you warmly for using a presentation, which made viewing easier.
I look forward to a sequel.

Ответить
Emberfish Games
Emberfish Games - 06.07.2020 19:56

Very useful Thank you!

Ответить
Sai G
Sai G - 06.07.2020 18:13

While these are very basic tips, I don't quite understand the need for ScriptableObjects in that particular case scenario if you can use static variables. Do static variables make copies of themselves for each instance? Same goes for consts.

Ответить
Anton Semchenko
Anton Semchenko - 06.07.2020 15:46

This is a great video! Absolutely everyone who writes code for Unity should watch it!

Ответить
Mohammad Faizan Khan
Mohammad Faizan Khan - 06.07.2020 14:42

Never thought that scriptable objects are can be used to save memory. Thank you for your kind effort!

Ответить
Leon A.
Leon A. - 06.07.2020 14:37

Awesome

Ответить
Mohammad Faizan Khan
Mohammad Faizan Khan - 06.07.2020 14:11

What a fine explanation of stack and heap memory! Thank you for the good clarification. I m loving it.

Ответить
Monticello Ave
Monticello Ave - 06.07.2020 13:34

T.Y. this what I'm talking about. Useful uploads, big time.

Ответить
阿葉
阿葉 - 06.07.2020 13:17

thank

Ответить
Abd R. Jaouni
Abd R. Jaouni - 06.07.2020 10:52

yes, please !!

Ответить
Oscar Abraham
Oscar Abraham - 06.07.2020 10:52

Hi. This series is something much needed, thanks a lot. With respect to the recommendation about using preprocessing directives to eliminate properties: I had the notion that this kind of simple properties were inlined by the compiler in non-editor, or at least non-debug, builds. Why do why need to use this kind of tricks? Are this kind of properties not usually inlined? What about using AgressiveInlining with the MethodImpl attribute, would that make them be inlined?

Ответить
Chaitanya Shah
Chaitanya Shah - 24.06.2020 09:51

Thanks for the video. Would it be possible to share the presentation? There are some really good examples.

Ответить
razzraziel
razzraziel - 23.06.2020 13:00

Please do in depth presentation for these with best practices! thank you.

Ответить
david f fortes meireles
david f fortes meireles - 18.06.2020 23:53

Nice

Ответить