A lightweight, always-on-top performance monitoring overlay for Windows. Built with C++ using Direct3D 11 and Dear ImGui.
PerformanceMonitorWidget displays real-time CPU, memory, and disk usage statistics in a transparent overlay that stays visible across all applications. The widget appears in the corner of your screen and doesn't interfere with your work—mouse clicks pass right through it.
Perfect for keeping an eye on system performance while gaming, developing, or running intensive applications.
- Real-time Monitoring: Tracks CPU, memory, and disk usage continuously
- Transparent Overlay: Semi-transparent window with modern acrylic blur effect
- Non-intrusive: Click-through design doesn't block mouse interaction with other windows
- Always Visible: Stays on top of all other applications
- System Tray: Minimizes to system tray when not needed
- Low Overhead: Minimal resource consumption (~10-15 MB RAM, <1% CPU)
The overlay displays in the top-right corner showing CPU, memory, and disk metrics
- Windows 10 or later
- Visual Studio 2022 or later (for building from source)
- Windows SDK 10.0 or higher
-
Clone the repository:
git clone https://github.com/lauralex/PerformanceMonitorWidget.git cd PerformanceMonitorWidget -
Open
PerformanceOverlay.slnxin Visual Studio 2022 -
Select your build configuration:
- Platform: x64 (recommended) or x86
- Configuration: Release or Debug
-
Build the solution (Ctrl+Shift+B)
-
Find the executable:
- Release:
./x64/Release/PerformanceOverlay.exe - Debug:
./x64/Debug/PerformanceOverlay.exe
- Release:
Simply run PerformanceOverlay.exe. The overlay will appear in the top-right corner displaying:
- CPU: Processor utilization percentage
- MEM: Physical memory usage percentage
- DISK: Disk activity percentage
The application adds an icon to your system tray. Right-click the icon to exit the application.
The application uses Windows Management Instrumentation (WMI) to collect performance data and renders it using Direct3D 11 with Dear ImGui. The window uses Desktop Window Manager (DWM) transparency features to create the overlay effect.
You can modify the overlay's appearance by editing Gui::RenderPerformanceWindow() in Gui.cpp:
- Change position, size, or colors
- Add or remove metrics
- Adjust the update frequency
- Language: C++17
- Graphics: Direct3D 11
- UI: Dear ImGui
- Performance Data: Windows Management Instrumentation (WMI)
- Build System: Visual Studio / MSBuild
PerformanceMonitorWidget/
├── PerformanceOverlay/ # Main application code
│ ├── main.cpp # Entry point
│ ├── D3D11Renderer.cpp/.h # Graphics rendering
│ ├── Gui.cpp/.h # UI rendering
│ └── PerformanceMonitor.cpp/.h # Performance data collection
└── libs/
└── imgui/ # Dear ImGui library
- Windows-only
- Fixed position (not draggable)
- Single monitor support
Licensed under the Apache License 2.0. See LICENSE for details.
Alessandro Bellia
Built with Dear ImGui by Omar Cornut
