OCAT is our open source capture and analytics tool, designed to help game developers and performance analysts dig into the details of how the GPU presents finished frames to the display.

It runs in parallel with your game, sampling available DXGI presentation metrics, to give you an accurate view of frame timing, pacing and delivery that’s as lightweight and unobtrusive as possible. Combined with an optional runtime overlay that lets you view the data in real-time as the game is running, OCAT is intended primarily for performance analysis, helping to discover and fix issues in frame pacing.

Changes in 1.5

The main focus of this release was on adding a lag indicator. It is part of the overlay, but mutually exclusive to the rest of its components – this way we ensure the overhead of the overlay for the lag indicator is as small as possible, which is critical for its function. Once enabled, you will see a small black square at the top of the screen of your game, which will turn white when you press the lag indicator hotkey. Since the lag indicator added two new buttons to the UI (the visibility hotkey and the lag indicator hotkey itself), we re-arranged the UI a bit, too. There is now a new ‘latency’ tab, hosting the lag indicator hotkeys and a coloured bar visibility hotkey.

As part of the lag indicator, we added a new metric: the estimated driver lag for the verbose log and the average estimated driver lag for the summary log. The driver lag formula represents the time between when the CPU starts work on a frame and when that frame finishes rendering. The span of time encapsulated by the driver lag value does not account for the delay caused by vsync or for other latency contributors like USB (mouse/keyboard/gamepad) response time, the display’s image-processing delay, or the display’s pixel response time.

OCAT now tracks screen resolution, too! However, this functionality only works if your game runs in exclusive fullscreen mode. If you run window or borderless window, the reported resolution will not be accurate.

OCAT 1.5 includes smaller feedback-driven changes. We added the option to require ALT in combination with hotkeys. Since version 1.4, OCAT exclusively owns the hotkeys and this can interfere with other apps while OCAT runs in the background. This can be circumvented by requiring Alt + [hotkey]. We also added a toggle for the audio cue, because sometimes you just don’t want to hear any noise from OCAT 😊

And finally, several bug fixes also made it into 1.5! The most important one is: The Vulkan® layer for the overlay used to be incompatible with some other Vulkan layers, causing it lately to fail on many Vulkan games. This should be fixed now.

More information

The documentation is visible at ReadTheDocs, we’re issue-driven as much as possible and welcome contributions in any form.

Getting OCAT

Get the 1.5 release installer binary for Windows® from the GitHub releases page!