PresentMon: measure both frame throughput (fps) and latency
Posted: 14 Jul 2019, 01:20
Hi Busters!
I haven't seen PresentMon mentioned here. It's a tool, originally by Intel, now open source, which tracks frames as they are presented by a game. It records frame statistics such as frames presented per second, frames displayed per second, but also latency of frames from present to display. Basically, it can easily show you the input lag component often used to motivate framecapping below the refresh rate (see the gsync article on this site). On a game like Dark Souls III for instance, in it's basic 60hz config, has a 40-50ms latency due to (edit) GPU work and frames being queued after present. If you cap using RTSS to 58hz the latency drops to around 4-5ms. It's pretty useful to see this in action, without having to measure using a high-speed camera. Of course the camera approach will still give you a more complete picture of the input lag.
It's easy to get and run, just download the .exe released at their Github site (https://github.com/GameTechDev/PresentMon/releases) and run it from a command line window. If you run with no parameters it will track all processes and generate lots of csv files with output. If you don't want those csv''s, just use the "-no_csv" flag. Best then to put the window on a second monitor so you can see the frame throughput and latency of the game in real-time.
Useful tool in the toolbox, I think.
I haven't seen PresentMon mentioned here. It's a tool, originally by Intel, now open source, which tracks frames as they are presented by a game. It records frame statistics such as frames presented per second, frames displayed per second, but also latency of frames from present to display. Basically, it can easily show you the input lag component often used to motivate framecapping below the refresh rate (see the gsync article on this site). On a game like Dark Souls III for instance, in it's basic 60hz config, has a 40-50ms latency due to (edit) GPU work and frames being queued after present. If you cap using RTSS to 58hz the latency drops to around 4-5ms. It's pretty useful to see this in action, without having to measure using a high-speed camera. Of course the camera approach will still give you a more complete picture of the input lag.
It's easy to get and run, just download the .exe released at their Github site (https://github.com/GameTechDev/PresentMon/releases) and run it from a command line window. If you run with no parameters it will track all processes and generate lots of csv files with output. If you don't want those csv''s, just use the "-no_csv" flag. Best then to put the window on a second monitor so you can see the frame throughput and latency of the game in real-time.
Useful tool in the toolbox, I think.