Hundreds of circles bounce inside a box while the simulation indexes their positions into a uniform 2D grid every frame, so collision checks only ever look at the 9 cells around each particle instead of every other particle on screen. A live counter tracks exactly how many candidate pairs the indexed grid's broad phase produces — each one then verified with a real narrow-phase circle-circle distance test — versus how many comparisons brute-force O(n²) would need at the same particle count. A method switch lets you run true brute force to watch frame time and the counter both spike as particle count grows, and hovering any particle highlights the exact 9 cells and candidate set the broad phase queried for it — a direct, moving picture of why every serious physics engine, spatial database and collision system indexes its objects instead of scanning them all.