Latest
Texture Baking - Trading VRAM for GPU performance
How to speed up an expensive shaders by baking a part of the calculations into a texture.
Tutorial
Benchmarking GPU pipeline stages
I created a benchmark for each rendering stage in the rendering pipeline. Then I compared the GPU architecture of RTX 3060 to GTX 1050 Ti.
Profiling the GPU in Unity Editor
How to connect Nsight Graphics to Unity Editor to profile GPU in the game view, without building the game.
Tutorial
Basics
Custom occlusion culling - faster than Unity
I build my custom occlusion culling designed for my project. I show the implementation, optimization steps, benchmarks and final effects.
How to properly profile your game
A few examples of wrong practices, my profiling philosophy, what data to look for when profiling An example of profiling built-in occlusion culling and the GPU Resident Drawer in Unity.
Most popular
All articles
Texture Baking - Trading VRAM for GPU performance
How to speed up an expensive shaders by baking a part of the calculations into a texture.
Tutorial
Benchmarking GPU pipeline stages
I created a benchmark for each rendering stage in the rendering pipeline. Then I compared the GPU architecture of RTX 3060 to GTX 1050 Ti.
Profiling the GPU in Unity Editor
How to connect Nsight Graphics to Unity Editor to profile GPU in the game view, without building the game.
Tutorial
Basics
Custom occlusion culling - faster than Unity
I build my custom occlusion culling designed for my project. I show the implementation, optimization steps, benchmarks and final effects.
How to properly profile your game
A few examples of wrong practices, my profiling philosophy, what data to look for when profiling An example of profiling built-in occlusion culling and the GPU Resident Drawer in Unity.
How I implemented 3D particles with no CPU code, no meshes, no instancing.
How I implemented 3D particles with no CPU code, no meshes, no instancing. And how I made them run 2x faster.
Stateless particles - rendering without a mesh
Rendering effects without CPU mesh handling. Creating particle meshes on the fly in the shader code. Implementing a tornado VFX and making it run 13x FASTER.
Terrain hack: Fastest erosion algorithm ever
This is the fastest, and the simplest terrain erosion algorithm I've tried. Explained in detail.
Tutorial
Making Unity's grass look less shitty
Improving Unity's built-in grass shader.
This will rewire how you think about rendering optimization. This is a deep dive.
My mental model of a GPU that I use every day to reason about rendering, profiling and choosing the right optimization path.
I made this shader run 5x faster
I optimize one of my old fragment shaders to run 5x faster, keeping visuals almost unchanged.
The art of debugging the rendering
How to debug rendering issues. I explain my workflow.
Rendering
Tutorial
Moving top-down camera with preserved world-space texture content
I implement a top-down camera that dynamically follows the player's position, updating its view as the player moves, and preserves the texture content in world space.
Moving instance updates off the main thread
Offloading Unity character trail rendering calculations to a multithreaded job unlocked massive CPU gains
Tutorial
Rendering into custom texture in Unity
How to render a custom content into a texture in Unity.
Tutorial
Shell texturing vs raymarching
Shell texturing - When to use it? How to optimize?
Rendering
Rendering into texture - the most important TA skill
This is core graphics knowledge. Master it once, and you’ll see the same principle popping up everywhere.
Rendering
VRAM bandwidth and its big role in optimization
I explain what VRAM bandwidth is, why it is important in rendering optimization, and what to look at in your game to optimize it.


















