cookie

ما از کوکی‌ها برای بهبود تجربه مرور شما استفاده می‌کنیم. با کلیک کردن بر روی «پذیرش همه»، شما با استفاده از کوکی‌ها موافقت می‌کنید.

avatar

Everyday Unity

A game developer and tech lead in a top grossing company posting Unity, programming, and gamedev related stuff that I find interesting Website: https://gamedev.center #unity #gamedev Most used tags are: #performance #optimization #shader #interview #dots

نمایش بیشتر
کشور مشخص نشده استانگلیسی202 871بازی‌ها51 548
پست‌های تبلیغاتی
658
مشترکین
+324 ساعت
+97 روز
+2330 روز

در حال بارگیری داده...

معدل نمو المشتركين

در حال بارگیری داده...

When Your Game Is Bad But Your Optimisation Is Genius 3 simple optimisations that you can use to make your game run up to 10 times quicker. Not a Unity video, but still can be easily applied to a Unity game. I have done similar optimizations to the terrain a long time ago in my own mobile game and got a significant boost. https://www.youtube.com/watch?v=5zlfJW2VGLM Repo: https://github.com/vercidium-patreon/glvertexid #optimisation #terrain
نمایش همه...
When Your Game Is Bad But Your Optimisation Is Genius

The source code and demos are available here:

https://patreon.com/vercidium

An extra heightmap renderer is available here:

https://github.com/vercidium-patreon/glvertexid

I spent the past 6 years creating a game engine, and I've been shocked at the things that can make or break performance. I put together 3 simple optimisations that you can use to make your game run up to 10 times quicker. Music is Orbit, Saturation, Abberations and Chroma-quay by Disjoint Square

https://disjointsquare.bandcamp.com

Timestamps 0:00 Intro 0:30 Triangles 0:56 Triangles In Practice 3:28 Triangle Results 4:01 Batches of Ice Cream 5:28 Batching Results 5:58 3 FPS is Enough Right? 6:26 Triangle Reduction 7:35 Sinking Illusion 7:57 Final Result #gamedev #gamedevelopment #gameengine

👍 8🔥 2
.NET 9: Array vs Dictionary lookup performance in C# I wanted to revisit my old post about the performance of lookup operations in dictionaries and arrays to see how all the performance improvements in newer .NET versions affect old benchmarks. TL;DR: The benchmark shows that dictionary lookups are around 2 times faster in .NET 9 compared to Framework 4.8. This means there is now less sense to use arrays to speed up lookups in small collections. This does not apply to Unity yet, though they promise CoreCLR integration, so it might become useful someday https://gamedev.center/net-9-array-vs-dictionary-lookup-performance-in-c/ #performance #lookup
نمایش همه...
.NET 9: Array vs Dictionary lookup in C#

In .NET for small collections it is faster to search for an item linearly in the Array instead of accessing it with a key in the Dictionary, even when you use an integer key, which hash function just returns its value. Is it still true for .NET 9?

👍 6🔥 1
ECS Programming Patterns from Official Packages A list of advice how to perform common operations in unity.entities with examples from the entities package internals. I also have personal notes with tips from the Hot Path Show that I found interesting, and they are pretty similar to what is shared in that post, e.g. tricks how to create new entities with the set of components without allocating a managed array of types and without adding components one by one which is very inefficient in the archetypes ECS implementation. This show is usually around 2 hours so it takes time to gather all these tips and sit through the whole video, so not everyone watches it completely. Put a 💯 reaction if you'd like me to publish it in a similar form to the post with top tips from Unite. https://gametorrahod.com/ecs-patterns/ #dots #ecs
نمایش همه...
ECS Programming Patterns from Official Packages

We can learn interesting programming patterns from Unity's own packages that references Unity.Entities.

👍 6💯 3🔥 1
Data_Oriented_Technology_Stack_for_advanced_Unity_users_2022_LTS.pdf4.74 MB
👍 5🔥 4
Introducing our new e-book: Unity’s Data-Oriented Technology Stack (DOTS) for advanced developers Here's an overview of DOTS. Many people think DOTS is just ECS, but there are multiple packages and tools under this umbrella. Of course, ECS is a big part of DOTS, which is why half of the book is about it, but you might be using DOTS without even knowing it, as some packages are jobified, and use burst/native collections under the hood. https://blog.unity.com/engine-platform/new-ebook-understanding-unity-dots #dots #book
نمایش همه...
Understanding DOTS: Advanced developer e-book and guide | Unity Blog

Unlock Unity DOTS secrets with this free e-book, perfect for advanced devs. Learn Unity 6 & DOTS 1.0 today!

👍 6🔥 2
CPU performance optimization guide - part 1 - CPU performance optimization guide A great example of how to profile CPU performance at the lowest level. From my experience, you very rarely need to dive this deep in your daily work. However, if a method is on the hot path and invoked many times per frame, and all low-hanging fruit optimizations are done, then you definitely need this post bookmarked for future reference https://gpuopen.com/learn/cpu-performance-guide/cpu-performance-guide-part1/ #profiling #cpu
نمایش همه...
CPU performance optimization guide - part 1 - CPU performance optimization guide

This series of blogs will walk readers through the analysis of the problems encountered in actual projects, thus helping them to better understand the CPU performance optimization of programs.

🔥 4👍 2
Unity Shader Variants Optimisation and Troubleshooting When using shaders from the asset store it might become challenging to control shader variants leading to increased build size and time to prewarm it. It's a good post to bookmark and get back to it during your project check ups. https://dev.to/attiliohimeki/unity-shader-variants-optimisation-and-troubleshooting-28ci #optimization #shader #shadervariants
نمایش همه...
Unity Shader Variants Optimisation and Troubleshooting

When writing shaders in Unity, we conveniently have the ability to include multiple features, passes...

👍 5🔥 5
10 Unity Audio Optimisation Tips There are a few posts covering audio optimization available. While it's true that this topic is usually overlooked since assets, scripts, and rendering optimizations yield more significant performance gains, it's great to have such posts bookmarked, as they list a lot of high-quality tips. Moreover, now you know that sounds might also cripple performance. https://gamedevbeginner.com/unity-audio-optimisation-tips/ #audio #optimization
نمایش همه...
10 Unity Audio Optimisation Tips

Learn the right way to optimise audio in your Unity projects with my 10 most useful audio optimisation tips…

👍 4🔥 2
List Add is way slower (almost 3 times) in net9.0 preview 3 than with net8.0 dotnet/runtime This is an interesting discussion and investigation into why performance significantly drops on one of the platforms after optimization in net9.0. I always love reading how engineers solve complex problems. It's fascinating to see what changes under the hood can cause such big differences in performance and how they track down the issue. https://github.com/dotnet/runtime/issues/101437 #performance
نمایش همه...
List Add is way slower (almost 3 times) in `net9.0 preview 3` than with `net8.0` · Issue #101437 · dotnet/runtime

With the latest preview 3 (net9) there seems to be a major performance regression on MacOS 14.4 (M2 Pro) with lists. Given that they are one of the most used types, it should receive special treatm...

👍 6🔥 2
Chunk's Change Version A detailed post on how .WithChangeFilter<T>() works in Entities
Then, there is a per-chunk number called ✏️ change version. How the chunk is considered "changed" in order to update this number is rather crude : Instantly when a query is executed related to that component and it has write permission. Then, chunks returned for that query will all get their ✏️ change version updated
It does not check whether system actually "change" the component's value with its work using the query. It just see the write dependency and thought the system "probably" changed that for all the matched chunks. It is per chunk. There are other entities in the chunk that are not actually changed and still get iterated. Your logic must not be destructive to these entities. Try treating changed filter as optimization rather than branching logic, always imagine if the changed filter is removed, everything must still work like before but with worse performance
https://gametorrahod.com/change-version/ #dots #ecs
نمایش همه...
Chunk's Change Version

DOTS comes with a per-chunk versioning and a related filter feature. This feature can optimize processing the data only when it mattered.

👍 3
یک طرح متفاوت انتخاب کنید

طرح فعلی شما تنها برای 5 کانال تجزیه و تحلیل را مجاز می کند. برای بیشتر، لطفا یک طرح دیگر انتخاب کنید.