Performance diagnosis

A PC performance debugging stack from symptom to evidence

Separate frame pacing, CPU, GPU, system tracing, and graphics calls so optimization is driven by reproducible evidence rather than average FPS.

6 catalog resourcesUpdated Aug 6, 2026

01

The problem to solve

A game that feels uneven may be limited by pacing, CPU spikes, GPU pressure, resource uploads, or operating-system scheduling, and average FPS cannot distinguish them. This collection selects tools around reproducible capture so the team classifies the bottleneck before testing the smallest useful change.

Selection criteria

Why these tools belong together

02

01

Expose the frame-time distribution

The first signal should reveal spikes, tails, and pacing instead of reducing the session to an average that hides stutter.

02

Narrow the ownership boundary

CPU, GPU, driver, system events, and graphics calls should be investigated in layers before a large subsystem is rewritten.

03

Make captures comparable

Record the baseline, scene, settings, hardware, and build so a before-and-after result can be attributed to the change.

Recommended workflow

Prove the path before scaling production

03

  1. Freeze a reproducible test segment

    Use the same save, camera, input sequence, resolution, and quality settings, then warm up and record hardware plus build identifiers.

  2. Begin with low-overhead observation

    Decide whether the symptom resembles sustained GPU pressure, a CPU limit, or an intermittent spike before taking a deeper capture.

  3. Sample the responsible domain

    Use timelines and zones for CPU work, frame capture for GPU events, and scheduler traces for system behavior instead of collecting everything.

  4. Test one hypothesis at a time

    Record the change, expected metric, and possible side effects, then rerun the same segment and inspect averages, percentiles, and worst frames.

Selected resources

Build the smallest useful combination from these six

The six tools progress from lightweight overlays through CPU and system timelines to GPU frame capture. Choose the next layer from the symptom already observed instead of enabling every profiler together.

Open sourceFreeCommercial

Tool

Tracy Profiler

Low-overhead open-source CPU, GPU, and memory profiler for real-time software

Tracy combines client instrumentation with a standalone viewer for frames, thread zones, locks, call stacks, allocations, and GPU timing in native code and custom engines.

WINMACLIN+1
Checked by an editor
Open sourceFreeCommercial

Tool

Perfetto

Analyze cross-process system performance on one timeline

Google's open tracing platform provides Android/Chrome capture, a native SDK, SQL queries, and a browser timeline.

WEBWINMAC+2
Checked by an editor
Open sourceFreeCommercial

Tool

apitrace

Record and replay OpenGL and Direct3D calls

An open graphics-API tracer capturing call streams, inspecting state, replaying frames, and debugging pixels and shaders.

WINLIN
Checked by an editor
Open sourceFreeCommercial

Tool

MangoHud

Overlay frametime and hardware performance metrics on Linux games

An open Vulkan and OpenGL performance overlay showing FPS, frametime, CPU or GPU load, temperatures, memory, power, and other metrics with logging, presets, and local plotting.

LIN
Checked by an editor
SubscriptionTerms apply

Tool

Superluminal Performance

Locate native game CPU hotspots with a low-overhead sampling profiler

A commercial profiler for games and real-time applications that samples multithreaded native code on Windows, Linux, and consoles with call trees, timelines, locks, context switches, and custom events.

WINLINCON
Checked by an editor

Search the site

Search resources and field guides

    Privacy settings

    Your language choice, open home-page sections, favorites, comparisons, and recent views stay in this browser. Nothing is uploaded.