This minor update includes a bug fix and some small additions.
Updated PresentMon version
PresentMon was recently updated to version 1.8.0 and with that added initial support for Windows 11 systems. Because Windows 11 changed some of its ETW events, it was possible for PresentMon to fail detecting apps that weren't DX12.
Experimental support for Zen4 and Sapphire Rapids
Product IDs for AMD Zen4 and Intel Sapphire Rapids CPUs were added in order to access the sensor readings.
Sensor support for Intel Raptor Lake and Intel Arc-A
Along with Raptor Lake CPUs, Intels new GPU generation is now also supported, below are the sensor readings you can access right now.
New websocket URLs
In addition to the current overly items, we now have two new websocket URLs where you can access the items of the sensor service. This can be used if you want to log some specific sensors over a longer period of time without having to do a long benchmark.
One URL shows you all sensors available, the other shows you only those you have selected in the sensor tab.
Legend scaling for comparisons
On the comparison line charts you now have the option to scale the size of the chart legend by 1.5x or 2x. Below is an example of 1x vs. 1.5x scaling:
Reworked stuttering calculation and visualization
The stuttering analysis is a great way of analyzing how many spiking frames you had within the benchmark run. Up until now the formula to calculate this was taking the average frame time and multiplying it by the configurable stuttering factor. Any frame time that was higher than that was counted as a stuttering frame.
Due to a users request of wanting to see the actual threshold for the stuttering inside the frame time chart, we recognized a potential flaw in this approach. By using the average frame time, the threshold logically was just a straight line at a fixed ms value.
The problem with this is that it really only works well if you have fairly even frame times accross the run. If your run includes a section with generally lower FPS and also a section with generally higher FPS, the stuttering threshold isn't appropriate for both of the scenarios because drawing a straight line at the average frametimes of the entire run, the range between the stuttering threshold and the first section will be too small and the range between it and the second section will be too big.
The solution to this was to no longer use the average frame times for the calculation but instead using the already existing moving average. Every frame now gets compared with the value of the moving average at that point multiplied by the stuttering factor. This way, the stuttering threshold dynamically adapts to the surrounding frame times and does a better job at detecting when there really is a frame time that is much higher than the frame times around that point instead of just the overall average.
As the stuttering chart also includes the configurable "Low FPS" value(frame times that are below stuttering but still higher than the set value) this value was also added to the frame time chart.
You can toggle the visibility of these two values in the options menu of the stuttering tab. This is how it looks:
A pretty severe bug was reported to us where when you're trying to move a record file through our "Move record(s)" command but then just close the folder picker, the file was simply deleted. Now it behaves like expected and nothing happens if you close that window.
Also with the newest Windows versions, there was an error in CPU thread load reporting, this has also been fixed.