Game Programming: Delayed Result Gathering
Gather result the next frame. Example using jobs.
http://allenchou.net/2021/05/delayed-result-gathering/
#jobs #optimization #pattern
Gather result the next frame. Example using jobs.
http://allenchou.net/2021/05/delayed-result-gathering/
#jobs #optimization #pattern
Ming-Lun "Allen" Chou | 周明倫
Game Programming: Delayed Result Gathering | Ming-Lun "Allen" Chou | 周明倫
[latexpage] 本文之中文翻譯在此 Introduction Back at DigiPen (my college where I learned gamedev), whenever people from the games industry came over on a company day to share their industry experience, one question always came up during Q&A: please tell us one thing…
Here’s a pattern to easily access information that should be calculated only once per frame
https://blog.beardphantom.com/post/190886958254/heres-a-pattern-to-easily-access-information-that?is_related_post=1
#optimization #dataaccess
https://blog.beardphantom.com/post/190886958254/heres-a-pattern-to-easily-access-information-that?is_related_post=1
#optimization #dataaccess
An interesting benchmark on Json Parsing using Newtonsoft Json Serializer
I wanted to see the difference in parsing speeds between this custom method
https://www.newtonsoft.com/json/help/html/ReadingWritingJSON.htm
And the regular
JsonConvert.DeserializeObject<>() method Result
Manual deserialization is 50.03% faster then the regular method. However - The Manual deserialization is 196 lines of code compared to just 1.
I also tested if running the parsers in Multithreading was helpful and it wasn’t, just they synchronization between threads took longer then the whole job. So for most Jsons we experience I did not find any speed benefit in multithreading.
#deserialization #json
I wanted to see the difference in parsing speeds between this custom method
https://www.newtonsoft.com/json/help/html/ReadingWritingJSON.htm
And the regular
JsonConvert.DeserializeObject<>() method Result
Manual deserialization is 50.03% faster then the regular method. However - The Manual deserialization is 196 lines of code compared to just 1.
I also tested if running the parsers in Multithreading was helpful and it wasn’t, just they synchronization between threads took longer then the whole job. So for most Jsons we experience I did not find any speed benefit in multithreading.
#deserialization #json
Newtonsoft
Basic Reading and Writing JSON
To manually read and write JSON, Json.NET provides the T:Newtonsoft.Json.JsonReader and T:Newtonsoft.Json.JsonWriter classes.
Pooling WaitForSeconds in Unity
https://pauliom.medium.com/pooling-waitforseconds-in-unity-1ca32c1a9f52
#optimization #memory #waitforsefonds #pooling
https://pauliom.medium.com/pooling-waitforseconds-in-unity-1ca32c1a9f52
#optimization #memory #waitforsefonds #pooling
Medium
Pooling WaitForSeconds in Unity
Object pooling is a classic optimization technique. The basic theory is simple, creating and destroying things is relatively expensive…
Deep C# - Casting the Escape from Strong Typing
This ability to accept a bigger object i.e. you can safely downcast the parameter, is often referred to as contravariance. That is the return parameter can be safely upcast to a smaller object and this in turn is refered to as covariance.
https://www.i-programmer.info/ebooks/47-deep-c/493-deep-c-c4.html
#cast #csharp
This ability to accept a bigger object i.e. you can safely downcast the parameter, is often referred to as contravariance. That is the return parameter can be safely upcast to a smaller object and this in turn is refered to as covariance.
https://www.i-programmer.info/ebooks/47-deep-c/493-deep-c-c4.html
#cast #csharp
www.i-programmer.info
Deep C# - Casting the Escape from Strong Typing
In depth theory of casting in c#
Shader Tutorial: Pulsing to Audio
A very detailed guide how to make shader that reacts to audio input
https://www.patreon.com/posts/shader-tutorial-38679948
#shader #audioinput #pulse
A very detailed guide how to make shader that reacts to audio input
https://www.patreon.com/posts/shader-tutorial-38679948
#shader #audioinput #pulse
Интеграция и серверная валидация инаппов для стора Google Play — как защититься от читеров
Максимально базовая статья по валидации покупок
https://m.habr.com/en/company/lightmap/blog/559020/
#iap
Максимально базовая статья по валидации покупок
https://m.habr.com/en/company/lightmap/blog/559020/
#iap
Habr
Интеграция и серверная валидация инаппов для стора Google Play — как защититься от читеров
Онлайн-проекты рано или поздно сталкиваются со взломом внутреннего стора, когда читеры накручивают себе игровые предметы, оружие или валюту. Классика. Наш PvP-шутер не стал исключением — брешь мы в...
Simple Mesh Voxelization in Unity
https://bronsonzgeb.com/index.php/2021/05/15/simple-mesh-voxelization-in-unity/
Repo: https://github.com/bzgeb/UnityMeshVoxelizer
#voxelization
https://bronsonzgeb.com/index.php/2021/05/15/simple-mesh-voxelization-in-unity/
Repo: https://github.com/bzgeb/UnityMeshVoxelizer
#voxelization
GitHub
GitHub - bzgeb/UnityMeshVoxelizer: A simple mesh voxelizer for Unity
A simple mesh voxelizer for Unity. Contribute to bzgeb/UnityMeshVoxelizer development by creating an account on GitHub.
Game Programming: Time Slicing | Ming-Lun "Allen" Chou
http://allenchou.net/2021/05/time-slicing/
#optimization #timeslicing
http://allenchou.net/2021/05/time-slicing/
#optimization #timeslicing
Ming-Lun "Allen" Chou | 周明倫
Game Programming: Time Slicing | Ming-Lun "Allen" Chou | 周明倫
Prerequisite Delayed Result Gathering Introduction In the previous tutorial, I used exposure avoidance as an example to demonstrate how to optimize computation with delayed result gathering. The basic idea is: kick jobs to run on worker threads and gather…
GitHub - naninunenoy/AsmdefHelper: Unity assembly definition utilities.
This library solve inconvenience of assembly definition on unity.
https://github.com/naninunenoy/AsmdefHelper
#asmdef
This library solve inconvenience of assembly definition on unity.
https://github.com/naninunenoy/AsmdefHelper
#asmdef
GitHub
GitHub - naninunenoy/AsmdefHelper: Unity assembly definition utilities.
Unity assembly definition utilities. Contribute to naninunenoy/AsmdefHelper development by creating an account on GitHub.
Input in Unity made easy (complete guide to the new system)
https://gamedevbeginner.com/input-in-unity-made-easy-complete-guide-to-the-new-system/
#inputsystem
https://gamedevbeginner.com/input-in-unity-made-easy-complete-guide-to-the-new-system/
#inputsystem
Game Dev Beginner
Unity’s new Input System, made easy (complete beginner’s guide)
In this complete quick-start guide, you'll learn everything you need to know to get started with Unity's new Input System, step by step…
Validating Unity Builds the easier way - A Day of Maintenance (Jam Version)
https://bighandinsky.itch.io/maintenance-day-jam/devlog/253671/validating-unity-builds-the-easier-way
#validator #build
https://bighandinsky.itch.io/maintenance-day-jam/devlog/253671/validating-unity-builds-the-easier-way
#validator #build
itch.io
Validating Unity Builds the easier way
So there's one thing you do in every single game project, no matter what, at least once: you make a build (...unless you're just releasing the project source, or using a smaller engine like Pico) I fi...
Unity UI test automation: how to write tests for your game interface
https://gameconductor.net/blog/unity-ui-test-automation-how-to-write-tests-for-your-game-interface.html
#playmode #testing #ui
https://gameconductor.net/blog/unity-ui-test-automation-how-to-write-tests-for-your-game-interface.html
#playmode #testing #ui
Game Conductor
Unity UI test automation: how to write tests for your game interface
A tutorial on how to approach UI test automation with the Unity Test Framework.
Unity Architecture Pattern: Structured Prefabs
The author suggest to always create a monobehaviour for the root of the prefab to avoid GetComponent calls and easier validation of provided references to components.
https://bronsonzgeb.com/index.php/2021/05/01/unity-architecture-pattern-structured-prefabs/
#prefab
The author suggest to always create a monobehaviour for the root of the prefab to avoid GetComponent calls and easier validation of provided references to components.
https://bronsonzgeb.com/index.php/2021/05/01/unity-architecture-pattern-structured-prefabs/
#prefab
Lets do some Editor Scripting! theres a whole bunch of cool tech unity have added over the last year or so thats SO worth knowing about
- [SerializeReference]
- TypeCache
- SerializedObjects
- ReorderableArrays
https://mobile.twitter.com/LotteMakesStuff/status/1390083564960690177
#editor #custom #typecache
- [SerializeReference]
- TypeCache
- SerializedObjects
- ReorderableArrays
https://mobile.twitter.com/LotteMakesStuff/status/1390083564960690177
#editor #custom #typecache
Twitter
Lotte 'just an idiot' May 💖🍓🌈🐹🎮☕🍫🍩
Sup Friends! Lets do some Editor Scripting! theres a whole bunch of cool tech unity have added over the last year or so thats SO worth knowing about. Lets buildsomething with... - [SerializeReference] - TypeCache - SerializedObjects - ReorderableArrays exciting!…
Rider Kicks off Its 2021.2 EAP! | The .NET Tools Blog
https://blog.jetbrains.com/dotnet/2021/05/31/rider-2021-2-eap/
#rider
https://blog.jetbrains.com/dotnet/2021/05/31/rider-2021-2-eap/
#rider
JetBrains Blog
Rider Kicks off Its 2021.2 EAP! | The .NET Tools Blog
Hello everyone,
We’re launching the Rider 2021.2 Early Access Program! We’ve published the first EAP build today, so let’s have a look at what's inside.
In case you missed that, starting wit
We’re launching the Rider 2021.2 Early Access Program! We’ve published the first EAP build today, so let’s have a look at what's inside.
In case you missed that, starting wit
How To Do Unity Shader Optimization? - Game Developer
https://www.gameplaydeveloper.com/how-to-do-unity-shader-optimization/
Repo with similar example: https://gist.github.com/yasirkula/d8fa2fb5f22aefcc7a232f6feeb91db7
#build #optimization
https://www.gameplaydeveloper.com/how-to-do-unity-shader-optimization/
Repo with similar example: https://gist.github.com/yasirkula/d8fa2fb5f22aefcc7a232f6feeb91db7
#build #optimization
Gameplay Developer - the Best Developer Blog in 2022
How To Do Unity Shader Optimization? 2021
If you have previously added a large shader package to your Unity project for Unity Shader optimization settings! from the Asset Store or elsewhere
MessagePipe — High performance messaging library for .NET and Unity | by Yoshifumi Kawai
https://neuecc.medium.com/messagepipe-high-performance-messaging-library-for-net-and-unity-b4944e1ca08e
#messaging #event
https://neuecc.medium.com/messagepipe-high-performance-messaging-library-for-net-and-unity-b4944e1ca08e
#messaging #event
Medium
MessagePipe — High performance messaging library for .NET and Unity
It mainly supports Publish/Subscribe patterns in in-memory, and covers all cases with a unified interface. For example, it supports communication between different hubs in MagicOnion and SignalR for…
Why is List<Struct> 15 Times Faster to Allocate than List<Class> in C#
https://levelup.gitconnected.com/why-is-list-struct-is-15-times-faster-to-allocate-than-list-class-17f5f79889ae
#allocation #struct
https://levelup.gitconnected.com/why-is-list-struct-is-15-times-faster-to-allocate-than-list-class-17f5f79889ae
#allocation #struct
Medium
Why is List<Struct> 15 Times Faster to Allocate than List<Class> in C#
In the previous article, 5 Ways to Improve the Performance of C# Code for Free, in one of the examples, I measured the time difference…
How to make a chunk system in Unity using addressables
https://anthelme-dumont.medium.com/how-to-make-a-chunk-system-in-unity-using-addressables-aff36956c546
#addressable #chunk
https://anthelme-dumont.medium.com/how-to-make-a-chunk-system-in-unity-using-addressables-aff36956c546
#addressable #chunk
Medium
How to make a chunk system in Unity using addressables
Chunks are the method used by the world generator to divide maps into manageable pieces.