PerformanceDebugOverlay 2.0.0
dotnet add package PerformanceDebugOverlay --version 2.0.0
NuGet\Install-Package PerformanceDebugOverlay -Version 2.0.0
<PackageReference Include="PerformanceDebugOverlay" Version="2.0.0" />
<PackageVersion Include="PerformanceDebugOverlay" Version="2.0.0" />
<PackageReference Include="PerformanceDebugOverlay" />
paket add PerformanceDebugOverlay --version 2.0.0
#r "nuget: PerformanceDebugOverlay, 2.0.0"
#:package PerformanceDebugOverlay@2.0.0
#addin nuget:?package=PerformanceDebugOverlay&version=2.0.0
#tool nuget:?package=PerformanceDebugOverlay&version=2.0.0
## PerformanceDebugOverlay (v2.0.0)
A real-time performance overlay for .NET MAUI that tracks FPS, CPU, memory, GC, battery, and network usage, while providing a load-time component tree—all without major changes to your app code.
## Features
FPS & FrameTime – calculated using EMA (Exponential Moving Average)
CPU usage – per-process CPU utilization
Memory usage – current memory and allocations/sec
GC activity – collections per generation
Battery consumption – approximate consumption in mW (Android only)
Network stats – total requests, bytes sent/received, average request time
Overall score – 0–10 score based on all metrics
Compact / Expanded view – show/hide individual metrics
Live drag & reposition – move the overlay freely at runtime
Plug-and-play integration – works globally without modifying existing HTTP code
Tree View of Load-Time Components with Metrics
Collapse/Expand tree view items
Scrollable TreeView
## Installation
Add the NuGet package to your project:
dotnet add package PerformanceDebugOverlay --version 2.0.0
## Configuration
in MauiProgram.cs
using MauiPerfDebugOverlay.Extensions;
using MauiPerfDebugOverlay.Models;
public static class MauiProgram
{
public static MauiApp CreateMauiApp()
{
var builder = MauiApp.CreateBuilder();
builder
.UseMauiApp<App>()
.UsePerformanceDebugOverlay(new PerformanceOverlayOptions
{
ShowBatteryUsage = true,
ShowNetworkStats = true,
ShowAlloc_GC = true,
ShowCPU_Usage = true,
ShowFrame = true,
ShowMemory = true,
ShowLoadTime = true,
LoadTimeDanger = 800,
LoadTimeWarning = 1000
});
return builder.Build();
}
}
Options are optional and can be enabled or disabled individually.
Activation in Your App
In App.xaml.cs:
public App()
{
InitializeComponent();
// Enable the PerformanceOverlay globally
PerformanceOverlayManager.Instance.Enable();
MainPage = new AppShell();
}
The overlay will appear automatically and is interactive.
## Notes
Battery consumption metrics are only available on Android. Other platforms will display N/A.
Networking metrics automatically monitor all HttpClient and HttpWebRequest requests without modifying existing code.
Overlay is fully configurable and extensible.
## Simple API
PerformanceOverlayManager.Instance.Enable() – show the overlay
PerformanceOverlayManager.Instance.Disable() – hide the overlay
Configuration is done via PerformanceOverlayOptions to customize which metrics are displayed
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net9.0-android35.0 is compatible. net9.0-ios18.0 is compatible. net9.0-maccatalyst18.0 is compatible. net9.0-windows10.0.19041 is compatible. net10.0-android was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-windows was computed. |
-
net9.0-android35.0
- Microsoft.Maui.Controls (>= 9.0.82)
- Microsoft.Maui.Controls.Compatibility (>= 9.0.82)
-
net9.0-ios18.0
- Microsoft.Maui.Controls (>= 9.0.82)
- Microsoft.Maui.Controls.Compatibility (>= 9.0.82)
-
net9.0-maccatalyst18.0
- Microsoft.Maui.Controls (>= 9.0.82)
- Microsoft.Maui.Controls.Compatibility (>= 9.0.82)
-
net9.0-windows10.0.19041
- Microsoft.Maui.Controls (>= 9.0.82)
- Microsoft.Maui.Controls.Compatibility (>= 9.0.82)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Added support for .Net 9