A plugin for InfoPanel to monitor and display real-time frames per second (FPS) and frame times for fullscreen applications using PresentMon.
- Displays FPS and frame times for fullscreen apps (e.g., games).
- Detects active fullscreen applications automatically via Windows API.
- Uses PresentMon for high-performance DirectX metric capture, averaging over 5 frames for smooth output.
- Manages PresentMonService for Event Tracing for Windows (ETW) sessions.
- Ensures robust cleanup of processes and ETW sessions on app exit or InfoPanel shutdown.
Follow these steps to get the PresentMon FPS Plugin working with InfoPanel:
-
Download the Plugin:
- Download the latest release ZIP file (
InfoPanel.Presentmon-vX.X.X.zip) from the GitHub Releases page.
- Download the latest release ZIP file (
-
Import the Plugin into InfoPanel:
- Open the InfoPanel app.
- Navigate to the Plugins page.
- Click Import Plugin Archive, then select the downloaded ZIP file.
- InfoPanel will extract and install the plugin.
-
Configure the Plugin:
- On the Plugins page, click Open Plugins Folder to locate the plugin files (e.g.,
C:\ProgramData\InfoPanel\plugins\InfoPanel.Presentmon\). - Ensure
PresentMon-2.3.0-x64.exeandPresentMonService.exeare in this folder: - Download from PresentMon releases if missing.
- Place
PresentMon-2.3.0-x64.exeandPresentMonService.exein thePresentMonsubdirectory (e.g.,C:\ProgramData\InfoPanel\plugins\InfoPanel.Presentmon\PresentMon\).
- On the Plugins page, click Open Plugins Folder to locate the plugin files (e.g.,
-
Run InfoPanel:
- Launch InfoPanel and activate plugin.
- The plugin will auto-start and monitor fullscreen apps.
-
Enjoy:
- Start a fullscreen application (e.g., game).
- Check the "FPS" section in InfoPanel for real-time FPS and frame time data.
- Visit the PresentMon GitHub releases page.
- Download the latest release (e.g.,
PresentMon-v2.3.0.zip). - Extract
PresentMon-2.3.0-x64.exeandPresentMonService.exefrom the ZIP. - Copy these files to the plugin folder as described in step 3 above.
If the plugin isn’t working as expected, check the InfoPanel logs or UI for clues. Since this plugin doesn’t display error messages directly in the UI like SpotifyPlugin, look at the console output in InfoPanel (or logs if enabled). Here are common issues and fixes:
- What It Means: The plugin isn’t detecting a fullscreen app or PresentMon isn’t running.
- How to Fix:
- Ensure your app is in fullscreen mode (not windowed).
- Check logs for
Checked for fullscreen PID: X—if it’s always0, switch to fullscreen (e.g., Alt+Enter). - Verify
PresentMon-2.3.0-x64.exeandPresentMonService.exeare in the plugin folder.
- What It Means: The plugin can’t find
PresentMon-2.3.0-x64.exe. - How to Fix:
- Confirm
PresentMon-2.3.0-x64.exeis inC:\ProgramData\InfoPanel\plugins\InfoPanel.IPFPS\. - Download from PresentMon releases if missing.
- Confirm
- What It Means: The plugin couldn’t start
InfoPanelPresentMonService—likely a permissions issue. - How to Fix:
- Run InfoPanel as administrator (right-click, Run as administrator).
- Check if
PresentMonService.exeis in the plugin folder.
- What It Means: PresentMon didn’t stop within 5 seconds after being killed.
- How to Fix:
- Open Task Manager, end any
PresentMon-2.3.0-x64.exeprocesses manually. - Restart InfoPanel—shouldn’t persist with v1.1.0.
- Open Task Manager, end any
- What It Means: Cleanup didn’t remove an ETW session—rare with v1.1.0.
- How to Fix:
- Run
logman stop PresentMon_<session_name> -etsin an admin Command Prompt. - Restart InfoPanel to ensure full cleanup.
- Run
- Restart: Fixes most glitches—close and reopen InfoPanel.
If issues persist, check Task Manager for lingering PresentMon-2.3.0-x64.exe or PresentMonService.exe processes—kill them manually. Open a GitHub Issue with your logs (e.g., last 20 lines after closing the app) and steps tried.
Found a bug or have a feature idea? Open an issue or submit a pull request on the repository!
- .NET 8.0
- InfoPanel application
- Dependencies:
Vanara.PInvoke(bundled in release) - PresentMon binaries (
PresentMon-2.3.0-x64.exe,PresentMonService.exe) in the plugin directory (bundled in release)