You might be thinking about shader performance wrong
Another rant on how memory access is slow, but has absolutely stunning animations quality, which the author made in Unity. Not really sure if this approach is faster than doing the same in some video editor, but definitely looks awesome
https://youtu.be/7YPPFIqUN84
#gpumemory #performance
Another rant on how memory access is slow, but has absolutely stunning animations quality, which the author made in Unity. Not really sure if this approach is faster than doing the same in some video editor, but definitely looks awesome
https://youtu.be/7YPPFIqUN84
#gpumemory #performance
YouTube
How To Write Fast Shaders
Shaders performance test:
https://docs.google.com/document/d/1-Z4MgbycD0ZWRs877pf1Z6PXv5ZZR295R9rk_XUthrc/edit?usp=sharing
Data Oriented Desing:
https://gameprogrammingpatterns.com/data-locality.html
https://youtu.be/rX0ItVEVjHc
RDR 2 graphics study by…
https://docs.google.com/document/d/1-Z4MgbycD0ZWRs877pf1Z6PXv5ZZR295R9rk_XUthrc/edit?usp=sharing
Data Oriented Desing:
https://gameprogrammingpatterns.com/data-locality.html
https://youtu.be/rX0ItVEVjHc
RDR 2 graphics study by…
Create the ScriptableData data object if none is set (in the same folder as the prefab) extension for MonoBehaviour.
Use OdinInspector's [InlineEditor] attribute, to show the contents of the linked object in a Foldout.
https://twitter.com/noio_games/status/1412705091639992320
#noscriptableobject #workflow #editortool
Use OdinInspector's [InlineEditor] attribute, to show the contents of the linked object in a Foldout.
https://twitter.com/noio_games/status/1412705091639992320
#noscriptableobject #workflow #editortool
Twitter
thomas ⛰ vandenberg
Here goes a little #UnityTips 🧵 This is a workflow/system that I think some of you will have definitely built before. Storing "design-time values" for Prefabs separately from the Prefab (i.e. in a ScriptableObject) Imagine your game has this Rubber Duck as…
OpenFracture: Open source mesh slicing/fracturing utility for Unity
https://github.com/dgreenheck/OpenFracture
#meshdeformation #slice #fracture
https://github.com/dgreenheck/OpenFracture
#meshdeformation #slice #fracture
GitHub
GitHub - dgreenheck/OpenFracture: Open source mesh slicing/fracturing utility for Unity
Open source mesh slicing/fracturing utility for Unity - dgreenheck/OpenFracture
UnityIconDownloader
An editor tool to download ready-to-use icons and images without leaving the editor
https://github.com/dogramacigokhan/GDPackages/tree/iconDownloader_v2/UnityIconDownloader
#editortool #icondownloader
An editor tool to download ready-to-use icons and images without leaving the editor
https://github.com/dogramacigokhan/GDPackages/tree/iconDownloader_v2/UnityIconDownloader
#editortool #icondownloader
GitHub
GDPackages/UnityIconDownloader at iconDownloader_v2 · dogramacigokhan/GDPackages
Contribute to dogramacigokhan/GDPackages development by creating an account on GitHub.
Sugar considered harmful
Another rant on syntax sugar. As always conclusion is "think before using anything".
https://medium.com/@jasonbooth_86226/sugar-considered-harmful-535598f07853
#cleancode
Another rant on syntax sugar. As always conclusion is "think before using anything".
https://medium.com/@jasonbooth_86226/sugar-considered-harmful-535598f07853
#cleancode
Medium
Sugar considered harmful
Using Unity for the last 6 years or so, I’ve written a ton of C# and while I mostly enjoy the language, I’ve also built up a distaste for…
Intro to Jobs/Burst/DoD.
How performance of a common MonoBehaviour approach can be improved by x200 with jobs and burst. Of course it's kind of artificial example, but on the large scale performance gains look awesome. And the author is a real "heavyweight" engineer from Unity, definitely worth checking his other posts.
https://medium.com/@jasonbooth_86226/intro-to-jobs-burst-dod-66c6b81c017f
#jobs #burst #performance #dod
How performance of a common MonoBehaviour approach can be improved by x200 with jobs and burst. Of course it's kind of artificial example, but on the large scale performance gains look awesome. And the author is a real "heavyweight" engineer from Unity, definitely worth checking his other posts.
https://medium.com/@jasonbooth_86226/intro-to-jobs-burst-dod-66c6b81c017f
#jobs #burst #performance #dod
Medium
Intro to Jobs/Burst/DoD
I often talk about performance gains I get on projects and people simply don’t believe them, especially when things get 100 times faster…
Просто в теории, тяжело на деле
Determine if a point is inside a polygon. Author gives some solution, but I remember seeing Freya's tweet about using the winding number method, which I find to be better and cover more edge cases
https://habr.com/en/post/645345/
Solution: https://twitter.com/FreyaHolmer/status/1232826293902888960?s=20
#windingnumber
Determine if a point is inside a polygon. Author gives some solution, but I remember seeing Freya's tweet about using the winding number method, which I find to be better and cover more edge cases
https://habr.com/en/post/645345/
Solution: https://twitter.com/FreyaHolmer/status/1232826293902888960?s=20
#windingnumber
Habr
Просто в теории, тяжело на деле
Небольшая предысторияУчусь на втором курсе СПО, квалификация программист. Преподаватель по программированию (C#) дал на новогодние каникулы эту задачку. Решил написать статью с подробным описанием,...
Stalling a GPU
- Remember that a shader is more like a bunch of jobs than serial GPU code, even though the syntax looks like serial code
- Avoid introducing extra dependencies between those jobs, and understand the dependencies you have as they can hint to additional optimizations
- The cost of certain operations can be completely masked by this parallelism.
- The cost of all texture samples are not the same
https://medium.com/@jasonbooth_86226/stalling-a-gpu-7faac66b11b9
#shader #optimization
- Remember that a shader is more like a bunch of jobs than serial GPU code, even though the syntax looks like serial code
- Avoid introducing extra dependencies between those jobs, and understand the dependencies you have as they can hint to additional optimizations
- The cost of certain operations can be completely masked by this parallelism.
- The cost of all texture samples are not the same
https://medium.com/@jasonbooth_86226/stalling-a-gpu-7faac66b11b9
#shader #optimization
Medium
Stalling a GPU
Lets consider this piece of shader code
How to unit test a class that uses static API
Unit tests validate code in isolation, but if it uses statics you cannot mock this dependency, therefore a subject under test cannot be properly isolated and unit tested. This trick makes the code testable, as well as introduces an important principle that improves your architecture by making it cleaner and more flexible.
https://gamedev.center/how-to-unit-test-a-class-that-uses-static-api/
#testing #cleancode #architecture #testrunner
Unit tests validate code in isolation, but if it uses statics you cannot mock this dependency, therefore a subject under test cannot be properly isolated and unit tested. This trick makes the code testable, as well as introduces an important principle that improves your architecture by making it cleaner and more flexible.
https://gamedev.center/how-to-unit-test-a-class-that-uses-static-api/
#testing #cleancode #architecture #testrunner
gamedev.center
How to unit test a class that uses static API and greatly improve architecture in one simple step
This trick makes the code testable, as well as introduces an important principle that improves your architecture by making it cleaner and more flexible
👍1
Fish-Net: Networking Evolved
Claimed to be AAA open source networking solution
https://fish-networking.gitbook.io/docs/
#netcode #networking
Claimed to be AAA open source networking solution
https://fish-networking.gitbook.io/docs/
#netcode #networking
fish-networking.gitbook.io
What Is FishNet? | Fish-Net: Networking Evolved
4 tips for refactoring your code for readability
As I work in a big team on a game-service I cannot emphasize more how these principles are extremely important:
- Consistency
- Conventions
- Intent
- Brevity
Well, even if you work alone it still applies, since most likely you will read it many times in the future. These principles will save you a bunch of time later.
https://youtu.be/7oZBfpI_hxI
#cleancode #readability #refactoring
As I work in a big team on a game-service I cannot emphasize more how these principles are extremely important:
- Consistency
- Conventions
- Intent
- Brevity
Well, even if you work alone it still applies, since most likely you will read it many times in the future. These principles will save you a bunch of time later.
https://youtu.be/7oZBfpI_hxI
#cleancode #readability #refactoring
YouTube
4 Tips for Refactoring Your Code for Readability
Sign up for the Level 2 Game Dev Newsletter: http://eepurl.com/gGb8eP
Refactoring your code on a regular basis is a good way to reduce technical debt. But refactoring is a skill that can take years to perfect. That's why I focus each refactoring session…
Refactoring your code on a regular basis is a good way to reduce technical debt. But refactoring is a skill that can take years to perfect. That's why I focus each refactoring session…
Const Strings – a very convenient way to shoot yourself in the foot
Const can be dangerous if you have your code base split into DLLs and one references consts of another
https://www.stum.de/2009/01/14/const-strings-a-very-convenient-way-to-shoot-yourself-in-the-foot
#const #readonly #dll
Const can be dangerous if you have your code base split into DLLs and one references consts of another
https://www.stum.de/2009/01/14/const-strings-a-very-convenient-way-to-shoot-yourself-in-the-foot
#const #readonly #dll
Post-Processing-Scan: A 3D scan/sonar-like post-processing effect for Unity. Essentially a visualization of a spherical signed distance field (SDF).
https://github.com/MirzaBeig/Post-Processing-Scan
#scan #vfx
https://github.com/MirzaBeig/Post-Processing-Scan
#scan #vfx
GitHub
GitHub - MirzaBeig/Post-Processing-Scan: A 3D scan/sonar-like post-processing effect for Unity. Essentially a visualization of…
A 3D scan/sonar-like post-processing effect for Unity. Essentially a visualization of a spherical signed distance field (SDF). - MirzaBeig/Post-Processing-Scan
A project containing demo scenes showing off the Inverse dynamics features available with Articulation Bodies
https://github.com/Unity-Technologies/unity-inverse-dynamics-demo
#inversedynamic #physics
https://github.com/Unity-Technologies/unity-inverse-dynamics-demo
#inversedynamic #physics
GitHub
GitHub - Unity-Technologies/unity-inverse-dynamics-demo: A small project showing off the Inverse dynamics available in Unity
A small project showing off the Inverse dynamics available in Unity - GitHub - Unity-Technologies/unity-inverse-dynamics-demo: A small project showing off the Inverse dynamics available in Unity
Automatic LOD generation + scene optimization
AutoLOD is primarily a framework for enabling automatic post-processing of geometrical model assets on import to create simplified levels-of-detail (LOD).
Repo: https://github.com/Unity-Technologies/AutoLOD
Initial release blogpost: https://blog.unity.com/technology/unity-labs-autolod-experimenting-with-automatic-performance-improvements
#lod #optimization #rendering
AutoLOD is primarily a framework for enabling automatic post-processing of geometrical model assets on import to create simplified levels-of-detail (LOD).
Repo: https://github.com/Unity-Technologies/AutoLOD
Initial release blogpost: https://blog.unity.com/technology/unity-labs-autolod-experimenting-with-automatic-performance-improvements
#lod #optimization #rendering
GitHub
GitHub - Unity-Technologies/AutoLOD: Automatic LOD generation + scene optimization
Automatic LOD generation + scene optimization. Contribute to Unity-Technologies/AutoLOD development by creating an account on GitHub.
Branching on a GPU
- Do not fear branching on a GPU, in many cases it’s completely fine
- Know what you are branching on, and what you are branching around.
- Avoid branching on high frequency data and creating divergent pixels
- Branching around textures requires special care
- Visualize the data so you can see exactly what the GPU is doing
- Order your branches from most likely to cull to least likely if possible.
https://medium.com/@jasonbooth_86226/branching-on-a-gpu-18bfc83694f2
#gpu #shader #branching
- Do not fear branching on a GPU, in many cases it’s completely fine
- Know what you are branching on, and what you are branching around.
- Avoid branching on high frequency data and creating divergent pixels
- Branching around textures requires special care
- Visualize the data so you can see exactly what the GPU is doing
- Order your branches from most likely to cull to least likely if possible.
https://medium.com/@jasonbooth_86226/branching-on-a-gpu-18bfc83694f2
#gpu #shader #branching
Medium
Branching on a GPU
If you consult the internet about writing a branch of a GPU, you might think they open the gates of hell and let demons in. They will say…
Editor Iteration Profiler (EIP)
Monitor and capture profiling data from assembly reload, assembly compilation, and enter playmode.
https://forum.unity.com/threads/introducing-the-editor-iteration-profiler.908390/
#editorprofiler #profiler #editortool
Monitor and capture profiling data from assembly reload, assembly compilation, and enter playmode.
https://forum.unity.com/threads/introducing-the-editor-iteration-profiler.908390/
#editorprofiler #profiler #editortool
A library to help make command line argument parsing easy
https://github.com/Unity-Technologies/UnityOptions
#cli #commandline
https://github.com/Unity-Technologies/UnityOptions
#cli #commandline
GitHub
GitHub - Unity-Technologies/UnityOptions
Contribute to Unity-Technologies/UnityOptions development by creating an account on GitHub.