Quick answer: Low FPS means your game can't render frames fast enough, because either the CPU or the GPU is the bottleneck. CPU causes: heavy logic, physics, draw calls. GPU causes: overdraw, expensive shaders, high resolution.
Low FPS, a frame rate too low for smooth play, means your game is doing more work per frame than the hardware can keep up with. The cause is a bottleneck, either CPU or GPU. Here's what causes low FPS.
CPU-Bound Causes
If your CPU can't keep up, you're CPU-bound, the CPU is the bottleneck limiting your frame rate. CPU work in games includes:
- Heavy game logic, complex systems running every frame
- Physics simulation, lots of physics objects or complex collisions
- AI and pathfinding, many agents thinking each frame
- Too many draw calls, issuing many separate rendering commands (a CPU cost)
- Inefficient code, doing more work than necessary per frame
- Main-thread overload, too much packed onto the main thread
When frame drops coincide with heavy logic (many entities, complex simulation), you're likely CPU-bound, and reducing CPU work raises your frame rate.
GPU-Bound Causes
If your GPU can't render fast enough, you're GPU-bound, the GPU is the bottleneck. GPU work is rendering:
- Overdraw, drawing the same pixels many times (transparency, layered effects)
- Expensive shaders, complex pixel or vertex shaders
- High resolution, rendering more pixels than the GPU can handle
- Too many or too detailed objects, high polygon counts and effects
- Post-processing, expensive screen-space effects
When frame drops coincide with heavy rendering (lots on screen, complex effects), you're likely GPU-bound, and reducing rendering cost raises your frame rate. The key is knowing which bottleneck you have.
Finding the Bottleneck and the Devices Affected
Low FPS needs different fixes depending on whether you're CPU- or GPU-bound, so identifying the bottleneck (by checking whether drops align with heavy logic or heavy rendering) comes first. And low FPS often hits weaker devices hardest, so measuring on real hardware matters.
Bugnet captures performance data from real sessions across devices, so you can see where frame rate is low and on what hardware. So low FPS is caused by a CPU or GPU bottleneck, and fixing it means identifying which, then reducing that bottleneck's work, verified on the real devices where FPS is low.
Low FPS means a CPU or GPU bottleneck. CPU causes: heavy logic, physics, AI, draw calls. GPU causes: overdraw, expensive shaders, high resolution. Identify which bottleneck you have, then reduce that work.