HexaConquest — real-time multiplayer strategy game, live now. Play now →

PerfOverlay

A lightweight, transparent Windows HUD for real-time system stats — live CPU, RAM, and per-GPU usage floating directly over your desktop.

Built with only OS-native APIs — no frameworks, no third-party dependencies — for near-zero resource overhead.

Windows ~0% idle CPU ~15–20MB RAM Public Domain
PerfOverlay.exe
CPU
6%
RAM
66%
GPU 0 · RTX
1%
GPU 1 · Intel
0%

Features

Matches Task Manager

Real-time CPU, RAM, and per-GPU usage read from the same performance counters Task Manager uses — the numbers always agree.

Multi-GPU Support

Each physical adapter shown separately by its real hardware name — integrated and discrete GPUs both tracked correctly.

Truly Transparent

No background box by default — just floating text over your desktop. An optional solid card mode is available too.

Flexible Layout

Switch between vertical (stacked) and horizontal (single-line) layouts at runtime — no restart needed.

History Sparklines

Optional per-metric history sparklines so you can spot spikes and trends at a glance, not just the current value.

Global Hotkeys

Show/hide and lock the overlay from anywhere with system-wide keyboard shortcuts.

Click-Through Lock

Lock mode makes the overlay click-through, and it auto-hides the moment a game goes fullscreen.

Native Settings & Tray

A native settings window and system-tray control — no external UI framework, no bloat.

Persisted Settings

Layout, position, and preferences are saved across restarts, along with optional auto-start with Windows.

Screenshots

Technical Highlights

Built entirely on Win32, GDI, PDH, and DXGI — no third-party dependencies, no frameworks. Here's what went into getting the numbers right and the overhead near-zero.

Matching Task Manager's numbers

Found and fixed a ~15-point discrepancy by switching from the legacy % Processor Time counter to % Processor Utility — the one Task Manager actually displays — which accounts for CPU boost/throttle states.

Multi-vendor GPU support, no vendor SDKs

Enumerates physical adapters via DXGI for real names, then matches PDH's per-process GPU Engine counters back to each adapter by parsing the LUID embedded in the counter path — the same technique Task Manager itself uses, working identically across NVIDIA, AMD, and Intel.

Performance tuning

An early version rebuilt its GPU performance-counter query from scratch every second, costing ~8% CPU. Refactored to a persistent query with periodic (5s) instance rescanning, dropping CPU usage to ~0%.

True transparency

Uses color-key layered windows (LWA_COLORKEY) rather than alpha blending, so the background is genuinely see-through with crisp opaque text — and switched off ClearType in favor of plain antialiasing to avoid color fringing over arbitrary desktop content.

Zero truncation

Window width is computed at runtime from actual measured text (via GDI), so GPU names are never cut off regardless of length.

Footprint

~150KB

Executable

~0%

Idle CPU

15–20MB

RAM usage

0

Dependencies

Requirements & Tech Stack

System Requirements

OS: Windows 10 or Windows 11

GPU: Any — NVIDIA, AMD, or Intel (integrated + discrete both supported)

Disk space: ~150 KB

Install: Portable single executable, no installer

Tech Stack

C++17 Win32 API GDI PDH DXGI Windows Registry

Single source file, zero third-party dependencies — built entirely on OS-native APIs for minimal footprint and maximum compatibility.

PerfOverlay is public domain

Released under the Unlicense — no attribution required, no restrictions. Read the code, fork it, ship it as part of your own project. PRs and issues are welcome.

View on GitHub

Want to see your real numbers?

Free forever. No install wizard, no telemetry.

~150KB · ~0% idle · Unlicense
Download Latest Release

Windows 10 / 11 · Portable exe · No account required

Co-authored with Claude by Anthropic.