Комментарии:
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)
I have a question about Transforming objects. If our rigidbody is kinematic, which class should I use to change position, Transform or Rigidbody?
ОтветитьYou sound like a sleep deprived person, you should sleep 8 hours a day!
ОтветитьUNITY IS GONNA REACH 1M SUBSCRIBERS !
ОтветитьThis is great, thank you for this. Please make more videos focusing on performance
ОтветитьNice presentation 👍🏾
Ответить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
Explain that you're a 'game evangelist' to my grandparents. I dare you.
Ответить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 ?
Aren't properties with no code automatically optimized by the IL2CPP pass & subsequent C++ optimisation ?
Ответить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.
ОтветитьThxxx
ОтветитьNice
ОтветитьWhy are you using new + destroy functions in GC example? Afaik It is never used this way. This example can confuse new unity learners.
Ответить"We add empty functions Start and Update for you - just remove it"
- Unity
Good but basic stuff. I'd like to see more advanced tips regarding performances.
Ответитьplease also a advanced session about garbage collection.. nice talk by the way
ОтветитьThanks a lot, this is fantastic tips!
ОтветитьCan you guys do one on physics optimization? I can't quite grasp what the performance hit of rotating a rigidbody's transform is.
Ответить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... :'(
That hashing part caught me offguard. ;w;
Ответить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?
Ответить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?
ОтветитьA must watch for every unity game developer! Thank you.
ОтветитьCan we get a summary slide?
Ответить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 🙏
ОтветитьWhat is addressable assets?
Ответить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.
Very useful Thank you!
Ответить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.
ОтветитьThis is a great video! Absolutely everyone who writes code for Unity should watch it!
ОтветитьNever thought that scriptable objects are can be used to save memory. Thank you for your kind effort!
ОтветитьAwesome
ОтветитьWhat a fine explanation of stack and heap memory! Thank you for the good clarification. I m loving it.
ОтветитьT.Y. this what I'm talking about. Useful uploads, big time.
Ответитьthank
Ответитьyes, please !!
Ответить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?
ОтветитьThanks for the video. Would it be possible to share the presentation? There are some really good examples.
ОтветитьPlease do in depth presentation for these with best practices! thank you.
ОтветитьNice
Ответить