All articles

Optimizing GPU-driven particle system to run 4x faster

Here I optimize the GPU particle system I implemented in the previous article, making it render almost 4x faster.

Rendering

Optimization

Tech-Art

Case study

Implementing mesh dissolve effect from scratch

I walk you through implementing GPU-driven particle system in Unity from scratch, using compute shader for spawn and simulation together with vertex/index buffers to create a mesh dissolve effect

Advanced

Rendering

Tech-Art

Tutorial

GPU Buffers in Unity: 101

Explaining different buffer types in HLSL

Rendering

Tech-Art

Tutorial

Intermediate

Custom GPU-Driven rendering in Unity

Basic custom GPU-Driven rendering implemented in Unity

Rendering

Advanced

Tech-Art

Tutorial

Rendering 90,000 particles in Unity: what actually costs CPU and GPU time

I simulated 90,000 CPU particles in Unity 6 URP and compared six rendering paths: GameObjects, GPU Resident Drawer, Graphics.RenderMesh, instanced draws, procedural RenderMeshPrimitives, and Batch Renderer Group.

Case study

Rendering

Optimization

Deep dive

Profiling

How to properly profile mobile GPU using ARM Streamline

Configuring ARM Streamline profiler to make it the best tool for profiling mobile

Profiling

Intermediate

Optimization

Deep dive

Using grid to speed up dynamic collisions

I used grid acceleration structure to speed up the dynamic collisions in my physics solver

Case study

Intermediate

Optimization

Dev

Optimizing URP lighting for low-end devices

I optimize lighting in the master node of URP's shader graph for weaker devices

Case study

Optimization

Rendering

Intermediate

Optimizing camera overhead to the absolute minimum

In this article, I show you how I reduce the camera overhead to the absolute minimum.

Advanced

Rendering

Case study

Tech-Art

The nature of the pixel

What is the pixel, and how storing textures as group of texels affects the rendering. Here I dive into real challenges connected to the discrete nature of the rendering.

Tech-Art

Intermediate

Deep dive

Verlet Solver - simplest physics engine implementation

How to implement your custom physics engine using verlet integration. It is possible to do this in a weekend!

Beginner

Tutorial

Optimization

Optimizing whole frame - case study

How I optimized the frame time in my project.

Case study

Optimization

Rendering

Intermediate

Texture Baking - Trading VRAM for GPU performance

How to speed up an expensive shaders by baking a part of the calculations into a texture.

Case study

Optimization

Profiling

Advanced

Tech-Art

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.

Advanced

Case study

Tech-Art

Profiling

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

Beginner

Tech-Art

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.

Advanced

Optimization

Deep dive

Profiling

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.

Beginner

Profiling

Optimization

Deep dive

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.

Intermediate

Rendering

Optimization

Case study

Tech-Art

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.

Intermediate

Optimization

Deep dive

Case study

Tech-Art

Terrain hack: Fastest erosion algorithm ever

This is the fastest, and the simplest terrain erosion algorithm I've tried. Explained in detail.

Intermediate

Rendering

Tutorial

Tech-Art

Making Unity's grass look less shitty

Improving Unity's built-in grass shader.

Intermediate

Rendering

Case study

Tech-Art

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.

Advanced

Rendering

Deep dive

Tech-Art

I made this shader run 5x faster

I optimize one of my old fragment shaders to run 5x faster, keeping visuals almost unchanged.

Advanced

Optimization

Case study

Tech-Art

The art of debugging the rendering

How to debug rendering issues. I explain my workflow.

Intermediate

Rendering

Tutorial

Tech-Art

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.

Intermediate

Rendering

Deep dive

Tech-Art

Moving instance updates off the main thread

Offloading Unity character trail rendering calculations to a multithreaded job unlocked massive CPU gains

Intermediate

Optimization

Tutorial

Tech-Art

Rendering into custom texture in Unity

How to render a custom content into a texture in Unity.

Advanced

Rendering

Tutorial

Tech-Art

Shell texturing vs raymarching

Shell texturing - When to use it? How to optimize?

Advanced

Rendering

Deep dive

Tech-Art

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.

Intermediate

Rendering

Deep dive

Tech-Art

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.

Intermediate

Profiling

Deep dive

Tech-Art

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.

Intermediate

Optimization

Deep dive

Dev

How to profile the rendering - GPU profiling basics

What are GPU profilers? Which one to use? How to use them?

Beginner

Optimization

Tutorial

Tech-Art

Render Graph - Creative Shadowcasting

I use shadowcasting technique to improve my rain-atmosphere effect.

Intermediate

Rendering

Tutorial

Tech-Art

Render Graph - Polishing Rain Atmosphere Effect

I fix the bloom flickering artifacts by postprocessing and manipulating the smoothness parameter in the GBuffer.

Beginner

Rendering

Tutorial

Tech-Art

Render Graph - Creating Rain Atmosphere

Altering the URP Gbuffer to simulate a rain-atmosphere.

Beginner

Rendering

Tutorial

Tech-Art

Render Graph - Introduction

Basics of the new Render Graph API available since Unity 6.

Beginner

Rendering

Tutorial

Tech-Art

Hungry for more?

Join my community for weekly discussions on performance and profiling

Hungry for more?

Join my community for weekly discussions on performance and profiling

I write expert content on optimizing Unity games, customizing rendering pipelines, and enhancing the Unity Editor.

Copyright © 2026 Jan Mróz | Procedural Pixels

I write expert content on optimizing Unity games, customizing rendering pipelines, and enhancing the Unity Editor.

Copyright © 2026 Jan Mróz | Procedural Pixels

I write expert content on optimizing Unity games, customizing rendering pipelines, and enhancing the Unity Editor.

Copyright © 2026 Jan Mróz | Procedural Pixels