PresentMon icon indicating copy to clipboard operation
PresentMon copied to clipboard

How Is PC Latency Calculated in FrameView?

Open therealrdennis opened this issue 3 years ago • 1 comments

PC Latency is exclusive to FrameView and NVIDIA seem to be using a proprietary PresentMon binary so the formula used is obviously unknown. Is there any formula we can use with the regular binary released on this repository to get similar data (calculate render and gpu latency)?

As I understand, Measuring Application Latency is only the Game Latency in the diagram below.

image

Below is a comparison of FrameView's PCL metric vs. the MsInputLatency formula. As you can see, it is quite similar, except that there is an offset, but the overall shape of the graph seems to be the same for any CSV I have thrown at this experiment.

image image

Tool to visualize the MsPCLatency column in a CSV: https://boringboredom.github.io/tools/#/RLA

therealrdennis avatar Jan 23 '23 19:01 therealrdennis

The "Measuring Application Latency" equation is actually closer to "PC Latency" than "Game Latency": it includes driver, queue, render, and composite. I'm not sure what FrameView is doing exactly, but a likely reason for the difference is that PresentMon does not currently measure user input, which can be up to a frame sooner.

There is more discussion here: https://github.com/GameTechDev/PresentMon/issues/106