Expert content on rendering and optimization in Unity.
New insights every week.
Featured articles
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.
GPU Sorting Algorithms - Benchmarks
See which sorting methods work fastest in real GPU benchmarks, and find out how simple loop unrolling can make your graphics run faster.
How to profile the rendering - GPU profiling basics
What are GPU profilers? Which one to use? How to use them?
Tutorial
Learn in one minute
Resolution and format of a texture affect your shader's performance
When you ask for one value from RAM, the CPU grabs a block of nearby data (a "cache line") and moves it to a faster memory, expecting you'll need that soon.
GPUs do something similar. When you sample a texture, the GPU doesn't just load the requested texel - it fetches a small block of nearby texels and stores them in fast memory (L1 or L2 cache), so future reads are quicker, as long as they are close to each other.
#01
Higher resolution equals more cache misses and less efficiency.
#02
Sample fewer textures for better speed.
#03
Mipmaps improve cache use by lowering texture detail for smaller objects.
#04
Instruction count doesn't reflect performance, like lines of code don't show function speed.
#05
Random UVs, triplanar mapping, or marching are slower than standard texturing.