Intel has finally released the next version of its open-source performance monitoring "PresentMon 2.0.0" software, with several new enhancements.
Intel PresentMon was revealed almost a year ago to give Team Blue users a platform where they can perform real-time analysis and monitor their system's performance through an in-game overlay. PresentMon proved to be a viable alternative to MSI's Afterburner or even CPU-Z, but instead, it was a resource natively developed by the GPU manufacturer. The software has finally received an update, months after its official launch, with the newer version coming with several improvements.
The latest PresentMon 2.0.0 update mainly consists of upgrades made to the software's monitoring capabilities, with various optimizations, such as the change in reference point for performance metrics and expanding the percentile statistics. Moreover, the software has seen multiple bug fixes as well, ultimately fueling its adoption since PresentMon was said to have several issues with its data collection techniques. You can view the changelog below:
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 README-ConsoleApplication.md for more details.
Processes with unknown names are now reported as instead of .
Capture application CSV now reports NA (Not Available) in columns for unavailable metrics instead of 0.
The 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, it 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
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, it 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
Fixed crash caused by resetting preferences
Fixed graph rendering errors when the sampling rate was high and/or graphs contained many data plots
Disallow editing for built-in loadout presets
Fixed issue where autoscaling settings were affecting the wrong graph
Fixed issue where an 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
Intel's PresentMon version 2.0.0 can be downloaded through GitHub here.