This is a high-performance massive simulation of Conway's Game of Life built using Unity Engine. The main objective was to create a version capable of handling millions of cells at a good frame rate and supporting dynamic configuration changes to the simulation. To achieve this, I utilized Unity's Jobs and Burst frameworks for parallel computation and Graphics.RenderMeshIndirect
API for efficient rendering.
- Type: Laptop
- CPU: AMD Ryzen™ 9 5900HX with Radeon Graphics
- Cores: 8
- L1 Cache: 512 KB
- L2 Cache: 4 MB
- L3 Cache: 16 MB
- Dedicated GPU: Nvidia GeForce RTX 3060 Laptop GPU
Results with Dedicated GPU :
Passing data from CPU to GPU is the main bottleneck here. This can be avoided by using Compute Shaders
! Gonna do this one in the future!
Here's the performance stats breakdown :
- Without rendering, the simulation handles up to 67 million cells at 30 FPS.
- When rendering with quads, it handles up to 33 million cells at 30 FPS.
- When rendering with cubes, it handles up to 4 million cells at 30 FPS.
Results with Integrated GPU : The simulation is GPU-bottlenecked during rendering since it's NOT using the dedicated GPU.
Here's the performance stats breakdown :
- Without rendering, the simulation handles up to 67 million cells at 30 FPS.
- When rendering with quads, it handles up to 16 million cells at 30 FPS.
- When rendering with cubes, it handles up to 2 million cells at 30 FPS.
Build Link (Windows): https://drive.google.com/file/d/12VT9OIP2UZEpqWAuwq5kxACuaCH6nrjQ/view?usp=drive_link
Video Montage : Youtube