CapFrameX
Frametime capture and analysis tool
Install / Use
/learn @CXWorld/CapFrameXREADME

CapFrameX
Frametimes capture and analysis tool based on Intel's PresentMon. Overlay provided by Rivatuner Statistics Server.
Remark in our own interest
If you are a reviewer or a youtuber using CapFrameX to get your data, it would be nice to mention us and link to our software. If you want to use images of the CapFrameX analysis, you could use the built in screenshot function so that our logo and name gets added to the images.
Release
Download link: https://github.com/DevTechProfile/CapFrameX/releases
Troubleshooting & Known Issues
The following tips address the most common issues reported by users and can help resolve stability, overlay, and capture-related problems efficiently. We recommend working through them in order if you encounter unexpected behavior.
-
Ensure you are running the latest version
If you experience application crashes or unstable behavior, verify that you have installed CapFrameX v1.7.8 Patch 1 or newer. Many known issues have been resolved in this patch. If you were previously using version 1.7.7, we recommend uninstalling CapFrameX before installing the new version. -
Reset application settings
In some cases, corrupted or outdated configuration files may cause problems. Deleting
%appdata%/CapFrameX/Configuration/AppSettings.json
will reset CapFrameX to its default settings and often resolves startup or UI-related issues. -
Reset overlay configuration files
If overlay-related problems persist, try deleting the overlay configuration files located at
%appdata%/CapFrameX/Configuration/OverlayEntryConfiguration_(0/1/2).json.
These files will be recreated automatically on the next application start. -
Restore missing or zero-value overlay entries
When overlay entries are missing or display constant zero values, open the Overlay tab and use the Reset button to restore all overlay entries to a valid default state. -
Fix incorrect overlay entry order
If the order of overlay entries appears inconsistent or unintentionally rearranged, use the Sort button in the Overlay tab to restore a clean and logical ordering. -
Resolve frametime anomalies after updates
In rare cases, existing background capture processes can interfere with CapFrameX after an update. If you encounter frametime issues, close all running PresentMon processes before installing or launching CapFrameX v1.7.8. -
Avoid conflicts with other monitoring tools
Applications such as HWiNFO or AIDA64 that implement their own FPS or frametime metrics may conflict with CapFrameX’s capture service, as they also rely on PresentMon-based mechanisms. Disabling overlapping FPS or frametime monitoring features in those tools is strongly recommended when using CapFrameX.
Capture frametimes

Overlay

Analysis

Aggregation

Comparison

Sensor

Report table (Excel)

Cloud

Instruction manual
Learn how to use CapFrameX.
Record list
This list is always located at the left section, regardless of the view you're currently in.
It constantly observes the output directory so every capture will show up here as soon as the capture has finished. This also includes every OCAT or PresentMon capture you put into that directory.
Changing directories:
To change the directory, use the expander on the left where you can select your main folder by double clicking on the address line and get a tree view of all subfolders within that main folder.
Using the right click context menu you can create or delete folders directly in the tree view and also open any selected folder in explorer. You can also move record files to other folders through the context menu in the record list itself.
Changing record info:
At the bottom of the record list you can see and change the CPU, GPU and RAM description and add a custom comment to every capture.
Also you can edit the game name, since the process name is used as default.
This gets saved in a process list file that is being compared with a list we update on every new version of CapFrameX to add new games that aren't already on your list.
Global Navigation Bar
Located at the top
Contains all the different views, a screenshot button, a login button (for additional cloud services), a direct link to the CX website and an options menu.
The screenshot button takes a screenshot of the current view excluding the record list.
Settings (Options)

- Graph filter window size = The time period in which the filtered FPS graphs are being averaged (Analysis & Comparison View)
- FPS values decimals = The number of decimals for the FPS values
- Screenshot directory = The directory in which your screenshots are saved.
- Use "MsBetweenDisplayChange" metrics. Uses diplay times for metric calculation. Enble this option when using Frame Generation.
- Use PC Latency. Still beta state. Disable if you encounter frame time issues. Restart CapFameX after changing the option.
- Capture file mode = How capture files are saved
JSON: Standard JSON file
JSON + CSV: Additional CSV file that won't be used by CX but can be opened to get a better view on the raw PresentMon data
Settings (Hardware)

- Primary Graphics Adapter. Select the primary graphics adapter for sensor and overlay management. Auto (default) removes iGPU when it least one dGPU is detected.
- Hardware info source = What will be written into the capture file as your CPU, GPU and RAM config.
Automatic detection: What's delivered by the system
Custom description: What you write into the text boxes below - Use "TBP Sim" sensor values (AMD graphics cards) if available
Settings (App)

- Start with windows & Start minimized = Autostart option and starting in tray
- "Dark Mode" UI color mode
- Receive notifications to get important information about the software and the project
Capture view
Here you can set your capture hotkey, the capture time (0=unlimited), choose if and how precisely you want to log sensor data (like CPU/GPU load and power) and set the hotkey response sounds.
An info text always informs you what's going on with the capture service and also tells you what to do in certain situations.
For more detailed information about the capture events, you can take a look at the infobox which can be expanded from the top.
How to make a capture
The process you want to capture has to be present in the "Running processes" list. This list automatically lists all running processes from which frametimes can be captured.
For the easiest way of just getting into a game and pressing the hotkey to start a capture, this list may only contain one single process, otherwise the service won't know which process you want captured. If you have more than one process detected, you can still select the one you want and capturing will work just fine. However you wouldn't want to tab out of your game to do this. This is where our ignore list comes into play.
With the buttons below the two lists you can add or remove any process from the ignore list, the ideal scenario is a completely empty running processes list at the start of CapFrameX.
With this, you can just start your game and since it'll be the only process in the list, just push the hotkey.
In case a process wasn't detected correctly you can try to rescan processes with the button at the top of the running processes list.
The ignore list entries are drawn from the same process list that contains your game names, which gets updated with our own list on every new Version of CapFrameX.
Overlay view
Contains the settings for the items displayed in the OSD as well as the settings for a run history and the aggregation function.
Left side
Overlay items list where you can set the items you want to see in the OSD and change their order by drag and drop. Items with the same group name will be displayed within a single line.
Three profiles to save different overlay configurations.
Overlay hotkey to show or hide CX items in OSD. This doesn't hide RTSS completely like the Afterburner hotkey does. If you have AB or any other App that uses RTSS running together with CX, only CX items will disappear.
Right side
Run history and aggregation options
Run history to set a number of runs for which you get a simple analysis directly in the OSD. If the history is full, any additional run will replace the oldest one.
Aggregation to combine the runs in the history to a single record file once the history is full, while marking outliers within the history.
This doesn't take the calculated performance parameters of each record file and calculates an average out of them. It takes the raw frametimes of each record file and puts them into a new file, calculating every parameter based on that set of frametimes.
Aggregation outlier handling: A full history is checked for outliers using the median of a selectable metric and an also selectable percentage value.
"Mark & use": Outliers are marked, but all runs will be used for the aggregation.
"Mark & replace": If outliers exist, you have to do additional runs to replace them. Aggregation triggers when you have a full history without outliers.
Overlay items options
Here you can set colors, limits and font sizes for each individual overlay entry. The currently selected ent
