RTSS Beta 3 demo - new PresentMon data provider, GPU busy, conditional layers

This video demonstrates some new features of OverlayEditor introduced in recently released RTSS Beta 3. I used built-in overlay layout: - This overlay layout displays old good RTSS realtime frametime graph on top and ovelapping PresentMon’s frametime and GPU busy graphs below. Take a note that PresentMon’s data is delayed by a few seconds comparing to realtime RTSS graph, that’s by design on PresentMon’s architecture. When I start recording you can see a couple of immediate recording init related stutters on top graph, but they appear on bottom graphs just 3 seconds later. You can actually see this delay displayed in realtime in this layout: it is labeled as “Reporting lag“. - PresentMon’s presentation mode and approximated input latency are also displayed in this layout in realtime. You may see that the game was running in hardware independent flip mode, but it switches to composed flip mode as soon as recording starts due to displaying ShadowPlay’s “Recording started“ popup. It immediately adds ~16ms (i.e. one frame, considering that I use 60Hz refresh rate) to latency due to DWM composition, which needs that additional frame for that. Everything returns back the previous presentation mode a few seconds later when ShadowPlay’s notification disappers. - New version of OverlayEditor introduce support for conditional layers, which means that you can program some conditions right inside the overlay you create and alter your overlay appearance depending on it. I use it to display the layer with dynamic “Limited by CPU/GPU“ indicator. This conditional layer analyzes PresentMon’s frametime and GPU busy time, calculate GPUBusy/frametime ratio and displays that system is GPU limited when it is above or equal to . In ideal GPU limited case this ratio should be as close to 1 as it is possible, but there is always some overhead on CPU side, so I reduced the threshold to to take it into account. Other words, this indicator displays “Limited by GPU“ as soon as GPU busy starts taking 75% or more of frametime. I start driving with engaged framerate limiter to emulate CPU limited case and do so during a few seconds, so initially “Limited by CPU“ is displayed. But once I disable the limiter with hotkey, PresentMon’s frametime and GPU busy time become much closer to each other so you see it switching to “Limited by GPU“. And as I mentioned, it is fully adjustable inside the layout so you can increase threshold on your side if you feel that it is too low for you.
Back to Top