tag:github.com,2008:https://github.com/GameTechDev/PresentMon/releases Release notes from PresentMon 2026-01-16T00:16:59Z tag:github.com,2008:Repository/53522468/v2.4.1 2026-01-16T05:55:55Z v2.4.1 <h2>Bug Fixes</h2> <ul> <li>Fix misplacement of ApplyFlipDelay by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/HugoNVDA/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/HugoNVDA">@HugoNVDA</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3692300714" data-permission-text="Title is private" data-url="https://github.com/GameTechDev/PresentMon/issues/555" data-hovercard-type="pull_request" data-hovercard-url="/GameTechDev/PresentMon/pull/555/hovercard" href="https://github.com/GameTechDev/PresentMon/pull/555">#555</a></li> <li>PresentMon Improvements: Memory Leak Fixes, ETW Monitoring &amp; Build Setup by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DevTechProfile/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DevTechProfile">@DevTechProfile</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3773183432" data-permission-text="Title is private" data-url="https://github.com/GameTechDev/PresentMon/issues/560" data-hovercard-type="pull_request" data-hovercard-url="/GameTechDev/PresentMon/pull/560/hovercard" href="https://github.com/GameTechDev/PresentMon/pull/560">#560</a></li> <li>Update TargetBlockList with additional executables by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Shinigami92/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Shinigami92">@Shinigami92</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3754036503" data-permission-text="Title is private" data-url="https://github.com/GameTechDev/PresentMon/issues/557" data-hovercard-type="pull_request" data-hovercard-url="/GameTechDev/PresentMon/pull/557/hovercard" href="https://github.com/GameTechDev/PresentMon/pull/557">#557</a></li> <li>Fixed RPC blocking on cleanup when service has dropped, causing clients to hang on shutdown <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/planetchili/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/planetchili">@planetchili</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3803297943" data-permission-text="Title is private" data-url="https://github.com/GameTechDev/PresentMon/issues/565" data-hovercard-type="pull_request" data-hovercard-url="/GameTechDev/PresentMon/pull/565/hovercard" href="https://github.com/GameTechDev/PresentMon/pull/565">#565</a></li> <li>Fixed bug when iterating over blobs in API wrapper <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/planetchili/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/planetchili">@planetchili</a> <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3635684650" data-permission-text="Title is private" data-url="https://github.com/GameTechDev/PresentMon/issues/549" data-hovercard-type="issue" data-hovercard-url="/GameTechDev/PresentMon/issues/549/hovercard" href="https://github.com/GameTechDev/PresentMon/issues/549">#549</a></li> <li>PresentMon Improvement: App Provider Memory Leak Fixes by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/markgalvan-intel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/markgalvan-intel">@markgalvan-intel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3819710122" data-permission-text="Title is private" data-url="https://github.com/GameTechDev/PresentMon/issues/566" data-hovercard-type="pull_request" data-hovercard-url="/GameTechDev/PresentMon/pull/566/hovercard" href="https://github.com/GameTechDev/PresentMon/pull/566">#566</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DevTechProfile/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DevTechProfile">@DevTechProfile</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3773183432" data-permission-text="Title is private" data-url="https://github.com/GameTechDev/PresentMon/issues/560" data-hovercard-type="pull_request" data-hovercard-url="/GameTechDev/PresentMon/pull/560/hovercard" href="https://github.com/GameTechDev/PresentMon/pull/560">#560</a></li> <li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Shinigami92/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Shinigami92">@Shinigami92</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3754036503" data-permission-text="Title is private" data-url="https://github.com/GameTechDev/PresentMon/issues/557" data-hovercard-type="pull_request" data-hovercard-url="/GameTechDev/PresentMon/pull/557/hovercard" href="https://github.com/GameTechDev/PresentMon/pull/557">#557</a></li> </ul> <p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/GameTechDev/PresentMon/compare/v2.4.0...v2.4.1"><tt>v2.4.0...v2.4.1</tt></a></p> markgalvan-intel tag:github.com,2008:Repository/53522468/v2.4.0 2025-11-11T04:28:19Z v2.4.0 <h1>New Features</h1> <h2>Enhancements</h2> <ul> <li>Implemented paced playback of ETL files from the service, allowing the service to process ETL files at realtime cadence</li> <li>Added automated test that uses paced ETL playback to test dynamic metric polling API</li> <li>Enhanced the flash injection to maintain a connection with the injected code and update settings in realtime</li> <li>Added a rainbow bar option for flash injection to help identify frames</li> <li>Added the ability to size the flash injection background independent of foreground flash rectangle</li> <li>Added the ability to run PresentMon client headless via CLI to perform .csv frame captures</li> <li>Added CLI option to list/browse available stats, metrics, and devices</li> <li>Enhanced cooperation between clients in multi-client scenarios (telemetry and ETW flush periods)</li> <li>Added the ability to capture ETL trace logs from PresentMon client UI (experimental, primarily for issue reporting)</li> <li>Enabled logging up to verbose level in production without requiring special build parameters (also added new Verbose2 level)</li> <li>PresentMon Installer upgrade fixes to allow for better upgrade experience and silent installations</li> <li>Enhanced PresentMon console ULT suite</li> </ul> <h2>Metrics</h2> <ul> <li>MsBetweenSimulationStart - BETA support - Enabled but still ironing out some issues.</li> <li>MsPCLatency - BETA support - Enabled but still ironing out some issues.</li> </ul> <h1>Bug Fixes</h1> <ul> <li>Fixed injection sometimes skipping drawing flash when clicking rapidly</li> <li>Fixed bug in Streamer component (IPC ring buffer) that could lose frames in rare circumstances</li> <li>Enhanced present event processing in CompletePresent when handling lost presents.</li> <li>Fixed frame type bug when processing composed presents</li> <li>Fixed small error in ovelay AnimationError calculation.</li> </ul> markgalvan-intel tag:github.com,2008:Repository/53522468/v2.3.1 2025-06-10T08:45:40Z v2.3.1 <h2>New Features</h2> <ul> <li>Introduced three new FPS overlay indicators to provide a clearer picture of frame delivery behavior, especially in scenarios involving frame generation. FPS-Presents measures how often frames are presented to the GPU, while FPS-Display captures the rate at which frames are actually shown on screen. FPS-App typically matches FPS-Presents except in frame generation scenarios.</li> <li>Added the following GPU telemetry metrics (currently supported by Intel Arc Battlemage GPUs): <ul> <li>GPU Effective Frequency</li> <li>GPU Voltage Regulator Temperature</li> <li>GPU Memory Effective Bandwidth</li> <li>GPU Overvoltage Percent</li> <li>GPU Temperature Percent</li> <li>GPU Power Percent</li> <li>GPU Fan Speed Percent</li> <li>GPU Card Power (total board power)</li> </ul> </li> <li>Reintroduced support for several timing metrics in the CSV, including MsBetweenPresents, MsBetweenDisplayChange, MsInPresent, MsRenderPresentLatency, and MsUntilDisplayed. MsBetweenSimulationStart and MsPCLatency are also included in the schema but are currently disabled until underlying event support is enabled.</li> <li>Added CLI option to disable overlay alpha blending (reduces overlay impact on target present timing seen in some circumstances)</li> <li>Added support to PresentMon console application for detection of Hybrid Presents</li> <li>Increased default PresentMon circular buffer size to 2048 to be able to handle higher FPS applications. In addition added a command line parameter to be able to manually configure buffer size.</li> <li>Stabilized binary version compatibility of PresentMon API by deploying PresentMonAPI.dll side-by-side with the service and moving to a dynamic loading model</li> <li>Added Loader .dll + static import .lib to facilitate discovery and endpoint resolution of the PresentMon API</li> <li>Added ETL trimmer utility for trimming ETL files to a timestamp range and pruning unnecessary event types (source only, currently no binary distribution provided)</li> </ul> <h2>Experimental</h2> <ul> <li>Added ability to inject executable code into the target process to cause a flash to be drawn in-game whenever the mouse is clicked (intended for use in conjunction with specialized optical measuring instruments)</li> </ul> <h2>Security and Lifecycle</h2> <ul> <li>Re-engineered multi-process architecture to enable PresentMon to be run without Administrator privileges</li> <li>Improved security by ensuring that Chromium UI frontend runs at lowered integrity even when PresentMon is run elevated</li> <li>Upgraded frontend from Vue.js 2 (past end-of-life and unsupported) &amp; Vuex =&gt; Vue.js 3 &amp; Pinia</li> </ul> planetchili tag:github.com,2008:Repository/53522468/v2.3.0 2024-12-23T16:46:19Z v2.3.0 <h2>New Features</h2> <ul> <li>Added frame generation tracking support for Intel XeSS XeFG and AMD Fluid Motion Frames. The Displayed FPS metric now tracks both application and generated frames in the FPS calculation. In addition PresentMon will report the type of frame using the FrameType metric.</li> <li>Added support for Intel XeLL and introduced a new metric called Instrumented Latency, which uses driver-based markers to accurately represent latency from frame start to when the frame is on the display.</li> <li>Added ability to configure service logging via registry</li> <li>Added Animation Time metric which is the time the CPU started animation work on a frame</li> </ul> <h2>Bug Fixes</h2> <ul> <li>Fixed issue where PresentMon would fail initialization the first time it is run after reboot</li> <li>Improved accuracy of VRAM Read/Write bandwidth metrics on BMG</li> </ul> planetchili tag:github.com,2008:Repository/53522468/v2.2.0 2024-10-01T15:17:19Z v2.2.0 <h2>New Features</h2> <ul> <li>Overhauled the ETW backend to reduce event latency from 1000ms =&gt; ~30ms; overlay now displays data instantly without 1 second lag</li> <li>Added a new click-to-photon metric that only tracks mouse button events; renamed previous click-to-photon metric to "all-input-to-photon"</li> <li>Improved input latency reporting so that input falling on dropped frames is attributed to the next displayed frame rather than being ignored</li> <li>Enabled the client to gather log data from the service and increased log coverage, particularly at the "debug" severity level</li> </ul> <h2>Bug Fixes</h2> <ul> <li>Fixed column labels for summary stats file <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2428668180" data-permission-text="Title is private" data-url="https://github.com/GameTechDev/PresentMon/issues/330" data-hovercard-type="issue" data-hovercard-url="/GameTechDev/PresentMon/issues/330/hovercard" href="https://github.com/GameTechDev/PresentMon/issues/330">#330</a></li> <li>Fixed rare crash due to a race condition <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2462188440" data-permission-text="Title is private" data-url="https://github.com/GameTechDev/PresentMon/issues/340" data-hovercard-type="issue" data-hovercard-url="/GameTechDev/PresentMon/issues/340/hovercard" href="https://github.com/GameTechDev/PresentMon/issues/340">#340</a></li> <li>Fixed bug occurring when selecting a non-default adapter <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2365449130" data-permission-text="Title is private" data-url="https://github.com/GameTechDev/PresentMon/issues/256" data-hovercard-type="issue" data-hovercard-url="/GameTechDev/PresentMon/issues/256/hovercard" href="https://github.com/GameTechDev/PresentMon/issues/256">#256</a></li> </ul> planetchili tag:github.com,2008:Repository/53522468/v2.1.1 2024-07-30T04:25:34Z 2.1.1 <h2>New Features</h2> <ul> <li>Added option to have the GUI capture application launch its own instance of PresentMon Service as a child process (useful for debugging)</li> </ul> <h2>Bug Fixes</h2> <ul> <li>Fixed issue with duration of CSV frame capture <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2404366390" data-permission-text="Title is private" data-url="https://github.com/GameTechDev/PresentMon/issues/314" data-hovercard-type="issue" data-hovercard-url="/GameTechDev/PresentMon/issues/314/hovercard" href="https://github.com/GameTechDev/PresentMon/issues/314">#314</a></li> <li>Fixed race condition causing loss of frame data when processing offline ETL files <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2402513488" data-permission-text="Title is private" data-url="https://github.com/GameTechDev/PresentMon/issues/313" data-hovercard-type="issue" data-hovercard-url="/GameTechDev/PresentMon/issues/313/hovercard" href="https://github.com/GameTechDev/PresentMon/issues/313">#313</a></li> <li>Fixed issue with FrameTime metric calculation <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2395932414" data-permission-text="Title is private" data-url="https://github.com/GameTechDev/PresentMon/issues/311" data-hovercard-type="issue" data-hovercard-url="/GameTechDev/PresentMon/issues/311/hovercard" href="https://github.com/GameTechDev/PresentMon/issues/311">#311</a></li> </ul> markgalvan-intel tag:github.com,2008:Repository/53522468/v2.1.0 2024-06-13T05:24:58Z 2.1.0 <h2>New Features</h2> <ul> <li>Added Animation Error metric.</li> <li>Added new logging into AppCef and Core projects.</li> <li>Created a debug diagnostic channel.</li> <li>Added Intel-PresentMon provider.</li> <li>Added ULTs for PresentMonService.</li> <li>Allow polling rate and drawing rate to vary independently.</li> </ul> <h2>Bug Fixes</h2> <ul> <li>Changes for Issue <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2254374376" data-permission-text="Title is private" data-url="https://github.com/GameTechDev/PresentMon/issues/238" data-hovercard-type="issue" data-hovercard-url="/GameTechDev/PresentMon/issues/238/hovercard" href="https://github.com/GameTechDev/PresentMon/issues/238">#238</a>. Presented FPS X% is now displayed as X% of FPS, not frame times.</li> <li>Changes for Issue <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2187196617" data-permission-text="Title is private" data-url="https://github.com/GameTechDev/PresentMon/issues/209" data-hovercard-type="issue" data-hovercard-url="/GameTechDev/PresentMon/issues/209/hovercard" href="https://github.com/GameTechDev/PresentMon/issues/209">#209</a>. Reduced PRESENTEVENT_CIRCULAR_BUFFER_SIZE to be 1024.</li> <li>Fix for Issue <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1872024661" data-permission-text="Title is private" data-url="https://github.com/GameTechDev/PresentMon/issues/162" data-hovercard-type="issue" data-hovercard-url="/GameTechDev/PresentMon/issues/162/hovercard" href="https://github.com/GameTechDev/PresentMon/issues/162">#162</a>. Autoscale is now recovering zoom in.</li> <li>Addressed various low impact security CVEs.</li> </ul> markgalvan-intel tag:github.com,2008:Repository/53522468/v2.0.1 2024-05-03T18:23:02Z 2.0.1 <h2>Bug Fixes</h2> <ul> <li>Fix for Issue <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2224050520" data-permission-text="Title is private" data-url="https://github.com/GameTechDev/PresentMon/issues/218" data-hovercard-type="issue" data-hovercard-url="/GameTechDev/PresentMon/issues/218/hovercard" href="https://github.com/GameTechDev/PresentMon/issues/218">#218</a>. Only upgrade to child process window if it is larger than 640x480</li> <li>Fix for Issue <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2228664871" data-permission-text="Title is private" data-url="https://github.com/GameTechDev/PresentMon/issues/223" data-hovercard-type="issue" data-hovercard-url="/GameTechDev/PresentMon/issues/223/hovercard" href="https://github.com/GameTechDev/PresentMon/issues/223">#223</a>. Updated CPU telemetry code to better handle failed PDH queries.</li> <li>Fix for Issue <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2230202103" data-permission-text="Title is private" data-url="https://github.com/GameTechDev/PresentMon/issues/226" data-hovercard-type="issue" data-hovercard-url="/GameTechDev/PresentMon/issues/226/hovercard" href="https://github.com/GameTechDev/PresentMon/issues/226">#226</a>. Updated gather commands to match PMC.</li> <li>Fix for Issue <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2244982089" data-permission-text="Title is private" data-url="https://github.com/GameTechDev/PresentMon/issues/232" data-hovercard-type="issue" data-hovercard-url="/GameTechDev/PresentMon/issues/232/hovercard" href="https://github.com/GameTechDev/PresentMon/issues/232">#232</a>. fflush() after each CSV row when --output_stdout</li> </ul> markgalvan-intel tag:github.com,2008:Repository/53522468/v2.0.0 2024-04-03T18:45:21Z 2.0.0 <h3>New Features</h3> <ul> <li> <p>The majority of metrics are changed to use the time that the CPU started working on a frame as the<br> reference point instead of the present() call, with values that are more aligned to measuring<br> the quality of graphics applications (e.g., latency and duration of interaction and displayed<br> frames). See <a href="https://github.com/GameTechDev/PresentMon/blob/v2.0.0/README-ConsoleApplication.md#comma-separated-value-csv-file-output">README-ConsoleApplication.md</a> for more details.</p> </li> <li> <p>Processes with unknown name are now reported as &lt;unknown&gt; instead of &lt;error&gt;.</p> </li> <li> <p>Capture application CSV now reports NA (Not Available) in columns for unavailable metrics instead of 0.</p> </li> <li> <p>Overlay / Capture application now hides any metrics that are not available on the system.</p> </li> <li> <p>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.</p> </li> <li> <p>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).</p> </li> <li> <p>Added histogram plots.</p> </li> <li> <p>Client APIs:</p> <ul> <li> <p>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.</p> </li> <li> <p>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.</p> </li> <li> <p>PresentData: changed PresentStopTime to TimeInPresent where PresentStopTime = TimInPresent == 0 ? 0 : PresentStartTime + TimeInPresent</p> </li> </ul> </li> </ul> <h3>Bug Fixes</h3> <ul> <li>Fixed crash caused by resetting preferences</li> <li>Fixed graph rendering errors when sampling rate was high and/or graph contained many data plots</li> <li>Disallow editing for built-in loadout presets</li> <li>Fixed issue where autoscaling settings was affecting the wrong graph</li> <li>Fixed issue where independent data display window would repeatedly appear above the control UI making it difficult to interact with the application</li> <li>Fixed overlay UI misalignment in readout widgets caused by very small values</li> <li>Loadout files are now saved with .json file extension by default</li> </ul> <h3>Binary Assets</h3> <ul> <li>PresentMon-2.0.0-x64.exe: 64-bit console application</li> <li>PresentMon-2.0.0-x86.exe: 32-bit console application</li> <li>PresentMon-v2.0.msi: Intel PresentMon Installer</li> </ul> markgalvan-intel tag:github.com,2008:Repository/53522468/v1.10.0 2024-02-24T00:08:59Z 1.10.0 <p>This is a release of the PresentMon console application only, in order to provide some recent bug fixes. A new version of the complete Intel PresentMon capture and overlay tools will be released in a few weeks.</p> <h3>New Features</h3> <ul> <li>Support for processes with non-ANSI characters in their name (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2035194041" data-permission-text="Title is private" data-url="https://github.com/GameTechDev/PresentMon/issues/191" data-hovercard-type="issue" data-hovercard-url="/GameTechDev/PresentMon/issues/191/hovercard" href="https://github.com/GameTechDev/PresentMon/issues/191">#191</a>)</li> </ul> <h3>Bug fixes</h3> <ul> <li>Fixed issue on NVIDIA GPUs where GPUDuration can get "stuck" at full frame time (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1955952133" data-permission-text="Title is private" data-url="https://github.com/GameTechDev/PresentMon/issues/183" data-hovercard-type="issue" data-hovercard-url="/GameTechDev/PresentMon/issues/183/hovercard" href="https://github.com/GameTechDev/PresentMon/issues/183">#183</a>)</li> <li>Fixed present time accuracy when <code>--date_time</code> is used (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2086310706" data-permission-text="Title is private" data-url="https://github.com/GameTechDev/PresentMon/issues/194" data-hovercard-type="issue" data-hovercard-url="/GameTechDev/PresentMon/issues/194/hovercard" href="https://github.com/GameTechDev/PresentMon/issues/194">#194</a>)</li> <li>Updated readme to call out supported graphics APIs (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1775734685" data-permission-text="Title is private" data-url="https://github.com/GameTechDev/PresentMon/issues/138" data-hovercard-type="issue" data-hovercard-url="/GameTechDev/PresentMon/issues/138/hovercard" href="https://github.com/GameTechDev/PresentMon/issues/138">#138</a>)</li> </ul> JeffersonMontgomery-Intel