PresentMon

PresentMon — Free Download. Graphics application performance analysis
PresentMon is a graphics performance data capture and analysis tool. It monitors applications and collects detailed metrics on frame performance, presentation times, and GPU utilization. Data is logged to CSV files for later analysis or displayed in a real-time overlay interface during application execution.
5.0(1 ratings)

Download PresentMon (Official links)
File size: 0.142 MB
The latest version of PresentMon is: 2.3.1
Operating system: Windows
Languages: English
Price: $0.00 USD

  • Process monitoring. PresentMon identifies and monitors specific processes that use graphics APIs. The tool automatically detects when an application starts running and captures performance data without requiring modifications to the application's code.
  • Presentation timing metrics. It records intervals between frame presentations to the GPU. These measurements include MsBetweenPresents, MsBetweenDisplayChange, and MsInPresent, providing detailed information about frame performance consistency.
  • Real-time overlay. Displays performance metrics overlaid on the screen during application execution. The overlay includes FPS-Presents, FPS-Display, and FPS-App indicators showing different aspects of frame delivery behavior.
  • GPU data capture. Collects comprehensive graphics processor telemetry, including effective GPU frequency, voltage regulator temperature, effective memory bandwidth, overvoltage percentage, GPU temperature, GPU power, and fan speed.
  • CSV data logging. Stores all captured metrics in structured CSV files. The files contain timestamps, process identifiers, and numerical values for all measurements taken during the monitoring session.
  • Latency analysis. Measures latencies between different stages of the graphics pipeline. MsRenderPresentLatency and MsUntilDisplayed metrics capture times between rendering and final on-screen presentation.
  • Circular data buffer. Uses a configurable-sized circular buffer to handle high frame rates. The default size is 2048 entries, with the option for manual adjustment via command-line parameters.
  • Programming API. Provides a programming interface via PresentMonAPI.dll with stabilized binary compatibility. Includes a Loader .dll and static import libraries to facilitate endpoint detection and resolution.
  • ETL trimming tool. Utility for trimming ETL files based on time ranges and removing unnecessary event types. Allows reducing log file size for more efficient analysis.
  • Experimental code injection. Experimental capability to inject executable code into target processes that causes visual flashes during mouse clicks. Designed for use with specialized optical measurement instruments.
  • Multi-process architecture. Implements an architecture allowing execution without administrator privileges. Components run with different integrity levels to improve system security.
  • Overlay blending configuration. Command-line option to disable overlay alpha blending. Reduces overlay impact on presentation times in certain specific circumstances.
  • Hybrid Presents detection. Support in the console application for detecting hybrid presentations. Extends monitoring capabilities for advanced graphics scenarios.

PresentMon was created by Intel Corporation as a graphics performance analysis tool. The application is primarily programmed in C++ with interface components utilizing web technologies. The tool evolved from a basic command-line utility to a complete performance analysis system with real-time overlay capabilities and a programming API. Recent updates include migration from Vue.js 2 to Vue.js 3 with Pinia for the frontend, improvements to the multi-process architecture, and addition of new GPU telemetry metrics compatible with Intel Arc Battlemage.


Alternatives to PresentMon: