Intel releases PresentMon 2.0.0 –

Intel releases PresentMon 2.0.0 -

Intel PresentMon updated to 2.0.0.

PresentMon, a frame capture tool developed by Intel, is reaching a 2.0 milestone in its development. Widely adopted by various utilities like OCAT and CapFrameX, it has become an essential component in modern tools dedicated to frame analysis.

Intel introduced a new version of PresentMon last year, which came with several interesting features. One of these is the inclusion of GPU Busy metrics, providing deeper insights into graphics processing performance. Moreover, the tool now uses its own overlay and graphing functions. This feature allows advanced users and developers to seamlessly integrate their tools with the overlay, eliminating the need for external software.

The new version (2.0.0) released yesterday brings several new functions, fixed and optimizations. The reference point for most metrics has shifted from the present() call to the time the CPU initiated work on a frame, resulting in more accurate values relevant to assessing graphics application performance, including latency and interaction duration,

Furthermore, percentile statistics have been expanded to include explicit 1%, 5%, and 10% values alongside existing 99%, 95%, and 90% markers. A non-zero average statistic has also been introduced, specifically averaging non-zero data points, which proves beneficial for metrics where zero signifies “no data” rather than a true zero value, such as the click-to-photon latency metric. Finally, the addition of histogram plots offers users a visual representation of data distribution, enhancing the analytical capabilities of the application.

PresentMon 2.0 Changes

New Features

  • The majority of metrics are changed to use the time that the CPU started working on a frame as the
    reference point instead of the present() call, with values that are more aligned to measuring
    the quality of graphics applications (e.g., latency and duration of interaction and displayed
    frames). See for more details.
  • Processes with unknown name are now reported as <unknown> instead of <error>.
  • Capture application CSV now reports NA (Not Available) in columns for unavailable metrics instead of 0.
  • Overlay / Capture application now hides any metrics that are not available on the system.
  • Added explicit 1%, 5%, and 10% percentile statistics (to the existing 99%, 95%, and 90%). Previously, selecting 99%ile for metrics where a lower value is better (such as frame time) would automatically convert to the 1%ile statistic. Now, no context-dependent conversion is done and whatever statistic the user selects is displayed.
  • Added a non-zero average statistic which only averages non-zero data points. This is useful for metrics where zero denotes “no data” rather than a zero value (such as the click-to-photon latency metric).
  • Added histogram plots.
  • Client APIs:
    • New Dynamic query composition API: clients now specify which metrics/stats they are using, and only the necessary data processing is performed. This replaces the previous behavior where all metric combinations were calculated on each polling call, regardless of whether they were necessary.
    • New Introspection API: clients can now enumerate metrics at runtime to populate UIs with options, names, and descriptions. Also enables clients to be forward-compatible with newer service builds exposing new metrics.
    • PresentData: changed PresentStopTime to TimeInPresent where PresentStopTime = TimInPresent == 0 ? 0 : PresentStartTime + TimeInPresent

Bug Fixes

  • Fixed crash caused by resetting preferences
  • Fixed graph rendering errors when sampling rate was high and/or graph contained many data plots
  • Disallow editing for built-in loadout presets
  • Fixed issue where autoscaling settings was affecting the wrong graph
  • Fixed issue where independent data display window would repeatedly appear above the control UI making it difficult to interact with the application
  • Fixed overlay UI misalignment in readout widgets caused by very small values
  • Loadout files are now saved with .json file extension by default

Source & Download: PresentMon (Github)


محمدصادق مجدی

محمدصادق مجدی هستم عاشق سخت افزار کامپیوتر