Releases · CXWorld/CapFrameX (original) (raw)
CapFrameX v1.8.7 beta
Release Notes
⚠️ Pre-release — v1.8.7 Beta. This is a preview build focused on PMC Reader Plugin reliability and overlay frametime accuracy. Please report any issues so they can be addressed before the final v1.8.7 release.
Enhancements & New Features
- Reworked WinRing0 kernel driver management for the PMC Reader Plugin. CapFrameX now bundles the WinRing0 driver and manages its full lifecycle automatically — extracting and installing the bundled
CapFrameX_WinRing0x64.sys, reusing an already-running WinRing0 service, reclaiming a stale CapFrameX driver registration and retrying, and optionally using a user-provided driver. This makes low-level PMC/MSR access considerably more robust across different system configurations. - PMC Reader Plugin diagnostics logging is now routed into the CapFrameX application log. Driver extract/install/open/reclaim steps and MSR access failures are reported with actionable messages (e.g. service not installed / disabled / marked for deletion, missing
.sysfile, driver signature or image-hash rejection, or blocking by Memory Integrity / HVCI / the vulnerable-driver blocklist), making it far easier to understand why PMC sensors show no data.
Bugfixes
- PMC Reader Plugin failed to load from downloaded builds. When
CapFrameX.PmcReader.Plugin.dllwas extracted from a downloaded zip or installer, Windows tagged it with the "Mark of the Web" and .NET'sAssembly.LoadFromrefused to load it (NotSupportedException, HRESULT0x80131515). The plugin is now loaded withAssembly.UnsafeLoadFrom, so it works without having to manually unblock the file. - Intel "WriteMsr IOCTL FAILED". Fixed a PMC Reader failure when writing performance-counter MSRs on Intel CPUs.
- Overlay frametime value/graph inconsistency. The overlay frametime text and the frametime value shown next to the frametime graph are now consistent with the displayed FPS value. The frametime is derived from the same windowed framerate (
1000 / FPS) instead of the last single-frame sample, so the number, the graph label, and the FPS reading agree. (GitHub issue #394)
Platform & Infrastructure
- WinRing0 driver lifecycle hardening (extract / install / open / reclaim / cleanup) in the PMC Reader Plugin, with richer failure diagnostics surfaced in the application log.
Runtime Requirements
- .NET 9 is required for full feature support and optimal stability. Download here.
MCP Server: Setting up Claude Code communication
CapFrameX ships an in-process Model Context Protocol server hosted by CapFrameX.exe. Once registered with Claude Code, the assistant can read captures, compute statistics, query the live system, and diagnose capture issues. Since v1.8.6, the assistant can also control captures (start/stop) and modify the configuration (AppSettings, overlay entries, logged sensors) via dedicated tools. The endpoint exists only while CapFrameX is running.
Setup
- Find the port. Open
%appdata%/CapFrameX/Configuration/AppSettings.jsonand readWebservicePort(default1337; CapFrameX falls back to a free port if it's taken). - Register with Claude Code (one-time, user-scoped):
claude mcp add -s user capframex --transport http http://localhost:/mcp - Verify:
Expected:capframex: http://localhost:<port>/mcp (HTTP) - ✓ Connected
In an active session, /mcp shows live status and the CapFrameX tools become available to the model.
Troubleshooting
- Disconnected / connect failure — CapFrameX isn't running, or the port changed since you registered. Re-check
WebservicePort, then:
claude mcp remove capframex
claude mcp add -s user capframex --transport http http://localhost:/mcp - Tools missing in the model — start a new Claude Code session; existing sessions don't pick up newly added servers.
- Disable entirely — set
McpEnabledtofalseinAppSettings.jsonand restart CapFrameX.
Note: the tool set is no longer read-only — it includes capture control and configuration write tools. The endpoint binds to localhost without auth.
CapFrameX PMC Reader Plugin
The PMC Reader Plugin extends CapFrameX with low-level CPU performance monitoring counters (PMC) by reading Model Specific Registers (MSRs) directly. It exposes CPU cache and memory metrics — such as L3 cache hit rates, DRAM bandwidth, and DRAM latency — that are not accessible through standard OS APIs.
New in v1.8.7 Beta: the WinRing0 kernel driver management has been reworked for greater reliability, the plugin now loads even when Windows marks the downloaded DLL as blocked (no manual "Unblock" needed), and driver/MSR diagnostics are written to the CapFrameX application log to make troubleshooting easier.
Note — who this is for: This is not an everyday tool for typical users. Reading raw CPU performance counters requires a kernel driver, a willingness to adjust Windows security settings, and an understanding of what the metrics actually mean. The plugin is aimed at technically inclined enthusiasts and hardware reviewers who need cache- and memory-level insight — for example to analyze gaming performance, compare CPU architectures, or investigate memory bottlenecks. If you just want frame-time capture, you don't need this plugin.
Supported CPUs
| Vendor | Architecture |
|---|---|
| AMD | Zen 4, Zen 5 |
| Intel | Alder Lake, Raptor Lake (Refresh), Arrow Lake |
Sensors
Base Sensors (all supported CPUs)
| Sensor | Unit | Description |
|---|---|---|
| CPU L3 Hit Rate | % | Overall L3 cache hit rate |
| CPU DRAM Bandwidth | GiB/s | Total DRAM read + write bandwidth |
| CPU DRAM Latency | ns | DRAM access latency |
Per-CCX Sensors (AMD multi-CCX CPUs)
| Sensor | Unit | Description |
|---|---|---|
| CPU L3 Hit Rate CCX {i} | % | L3 cache hit rate per CCX |
| CPU DRAM Latency CCX {i} | ns | DRAM access latency per CCX |
Gaming Sensors — P-Cores (Intel hybrid CPUs)
| Sensor | Unit | Description |
|---|---|---|
| CPU P-Core IPC | ratio | Instructions per clock |
| CPU P-Core L3 Hitrate | % | L3 cache hit rate |
| CPU P-Core L3 Bound | % | Cycles stalled on L3 |
| CPU P-Core Mem Bound | % | Cycles stalled on memory |
| CPU P-Core L3 Miss BW | GiB/s | L3 miss bandwidth |
Gaming Sensors — E-Cores (Intel hybrid CPUs)
| Sensor | Unit | Description |
|---|---|---|
| CPU E-Core IPC | ratio | Instructions per clock |
| CPU E-Core L3 Hitrate | % | L3 cache hit rate |
| CPU E-Core L3 Bound | % | Cycles stalled on L3 |
| CPU E-Core Mem Bound | % | Cycles stalled on memory |
| CPU E-Core L3 Miss BW | GiB/s | L3 miss bandwidth |
Installation
- Download
CapFrameX.PmcReader.Plugin.dllfrom the release assets - Copy the DLL into your CapFrameX installation folder
Default path:C:\Program Files (x86)\CapFrameX - Restart CapFrameX — the plugin sensors will appear automatically
As of v1.8.7 Beta you no longer need to right-click the DLL and choose Unblock — CapFrameX loads it even when Windows marks it as downloaded.
⚠️ Important
This plugin uses the WinRing0 kernel driver to access CPU MSRs. WinRing0 is blacklisted by Microsoft Windows Defender and may be flagged or blocked.
In the worst case, you may need to disable Windows Defender real-time protection for the kernel driver to work properly.
Use this plugin at your own risk.
Checklist — Getting WinRing0 to Actually Read the MSRs
Symptom: the plugin loads and the sensors appear, but they show no data, zeros, or frozen/constant values.
This almost always means the WinRing0 driver itself loaded successfully, but a hypervisor is intercepting and blocking the writes to the performance-counter MSRs at runtime. Work through this checklist before reporting a bug:
- Disable virtualization-based security / hypervisor features (prime suspect).
All of the following arm the Hyper-V hypervisor, which controls the PMU and intercepts writes to performance-counter MSRs. Turn off whichever you have enabled:- VBS (Virtualization-Based Security)
- Core Isolation → Memory Integrity (HVCI)
- Hyper-V
- WSL2
- Virtual Machine Platform
- Windows Sandbox
This is different from "HVCI blocking the driver from loading" — the driver does load, but the hypervisor forbids the MSR write at runtime.
- Close hypervisor-based kernel anti-cheat.
Kernel anti-cheat that runs its own hypervisor (e.g. Riot Vanguardvgk.sys, some EAC/Faceit setups) traps MSR accesses the same way. Fully exit it — note that some anti-cheat drivers load at boot and require a reboot after being disabled. - (Rare) Check BIOS/firmware.
Some BIOS/firmware can disable the performance counters entirely. Make sure no relevant counter/monitoring option is turned off.
Tip: Changes to VBS / Memory Integrity / Virtual Machine Platform only take effect after a reboot, so restart Windows before re-testing.
CapFrameX Portable Mode
CapFrameX supports a portable mode that allows the application to run entirely from a single folder without writing to system directories. This is useful for running from USB drives, network shares, or keeping multiple isolated installations.
Portable mode is activated by placing a portable.json file in the same directory as the CapFrameX executable. See the v1.8.5 release notes for the full configuration reference, requirements, and behavior differences.
Troubleshooting & ...
CapFrameX v1.8.6
Release Notes
Enhancements & New Features
- New Animation Error metrics (Average, P99) in Analysis and Report views, including a new animation error chart. The PresentMon parameters
--track_frame_typeand--track_app_timingare used to improve the accuracy of the Animation Error. - New frametime percentile parameters (P1/P5 frametime quantiles)
- Intel fabric clock sensors (e.g. NGU/D2D clocks on Arrow Lake) based on a new IntelOOBMSM PawnIO module
- New Intel PawnIO wrapper (MSR, OC mailbox) with updated Intel MSR IDs
- Zen 6 standard path support, experimental Ryzen SMU support
- Prefer total/board power sensors over Intel's core-only "GPU TDP"
- Expanded MCP server tool set:
- Capture lifecycle tools: list capture-eligible processes, start/stop captures, wait for capture completion
- Configuration tools: read/write AppSettings, read/write overlay slot configurations, toggle single overlay entries, select logged sensors, edit record comments
- Frametime tools: frametime time series with downsampling, stutter/spike detection
- PMD tools: per-channel power summaries and time series (GPU/CPU/system power)
- Sensor analysis and cross-record analysis tools
- ETW buffer health status tool
- Frame generation awareness in metrics and comparison tools
Bugfixes
- Fixed animation error chart rendering
- App start freeze handling (ETW service health check, PawnIO initialization)
- Zen 6 core clock handling
- More robust handling of invalid PresentMon output lines
- Comparison tab variances chart corner radius
Platform & Infrastructure
- PawnIO module updates (IntelMSR, RyzenSMU, LpcIO, SMBus modules), added new IntelOOBMSM module
Runtime Requirements
- .NET 9 is now required for full feature support and optimal stability. Download here.
MCP Server: Setting up Claude Code communication
CapFrameX ships an in-process Model Context Protocol server hosted by CapFrameX.exe. Once registered with Claude Code, the assistant can read captures, compute statistics, query the live system, and diagnose capture issues. Starting with v1.8.6, the assistant can also control captures (start/stop) and modify the configuration (AppSettings, overlay entries, logged sensors) via dedicated tools. The endpoint exists only while CapFrameX is running.
Setup
- Find the port. Open
%appdata%/CapFrameX/Configuration/AppSettings.jsonand readWebservicePort(default1337; CapFrameX falls back to a free port if it's taken). - Register with Claude Code (one-time, user-scoped):
claude mcp add -s user capframex --transport http http://localhost:/mcp - Verify:
Expected:capframex: http://localhost:<port>/mcp (HTTP) - ✓ Connected
In an active session, /mcp shows live status and the CapFrameX tools become available to the model.
Troubleshooting
- Disconnected / connect failure — CapFrameX isn't running, or the port changed since you registered. Re-check
WebservicePort, then:
claude mcp remove capframex
claude mcp add -s user capframex --transport http http://localhost:/mcp - Tools missing in the model — start a new Claude Code session; existing sessions don't pick up newly added servers.
- Disable entirely — set
McpEnabledtofalseinAppSettings.jsonand restart CapFrameX.
Note: unlike v1.8.5, the v1.8.6 tool set is no longer read-only — it includes capture control and configuration write tools. The endpoint binds to localhost without auth.
CapFrameX PMC Reader Plugin
The PMC Reader Plugin extends CapFrameX with low-level CPU performance monitoring counters (PMC) by reading Model Specific Registers (MSRs) directly. It exposes CPU cache and memory metrics — such as L3 cache hit rates, DRAM bandwidth, and DRAM latency — that are not accessible through standard OS APIs.
Note — who this is for: This is not an everyday tool for typical users. Reading raw CPU performance counters requires a kernel driver, a willingness to adjust Windows security settings, and an understanding of what the metrics actually mean. The plugin is aimed at technically inclined enthusiasts and hardware reviewers who need cache- and memory-level insight — for example to analyze gaming performance, compare CPU architectures, or investigate memory bottlenecks. If you just want frame-time capture, you don't need this plugin.
Supported CPUs
| Vendor | Architecture |
|---|---|
| AMD | Zen 4, Zen 5 |
| Intel | Alder Lake, Raptor Lake (Refresh), Arrow Lake |
Sensors
Base Sensors (all supported CPUs)
| Sensor | Unit | Description |
|---|---|---|
| CPU L3 Hit Rate | % | Overall L3 cache hit rate |
| CPU DRAM Bandwidth | GiB/s | Total DRAM read + write bandwidth |
| CPU DRAM Latency | ns | DRAM access latency |
Per-CCX Sensors (AMD multi-CCX CPUs)
| Sensor | Unit | Description |
|---|---|---|
| CPU L3 Hit Rate CCX {i} | % | L3 cache hit rate per CCX |
| CPU DRAM Latency CCX {i} | ns | DRAM access latency per CCX |
Gaming Sensors — P-Cores (Intel hybrid CPUs)
| Sensor | Unit | Description |
|---|---|---|
| CPU P-Core IPC | ratio | Instructions per clock |
| CPU P-Core L3 Hitrate | % | L3 cache hit rate |
| CPU P-Core L3 Bound | % | Cycles stalled on L3 |
| CPU P-Core Mem Bound | % | Cycles stalled on memory |
| CPU P-Core L3 Miss BW | GiB/s | L3 miss bandwidth |
Gaming Sensors — E-Cores (Intel hybrid CPUs)
| Sensor | Unit | Description |
|---|---|---|
| CPU E-Core IPC | ratio | Instructions per clock |
| CPU E-Core L3 Hitrate | % | L3 cache hit rate |
| CPU E-Core L3 Bound | % | Cycles stalled on L3 |
| CPU E-Core Mem Bound | % | Cycles stalled on memory |
| CPU E-Core L3 Miss BW | GiB/s | L3 miss bandwidth |
Installation
- Download
CapFrameX.PmcReader.Plugin.dllfrom the release assets - Copy the DLL into your CapFrameX installation folder
Default path:C:\Program Files (x86)\CapFrameX - Restart CapFrameX — the plugin sensors will appear automatically
⚠️ Important
This plugin uses the WinRing0 kernel driver to access CPU MSRs. WinRing0 is blacklisted by Microsoft Windows Defender and may be flagged or blocked.
In the worst case, you may need to disable Windows Defender real-time protection for the kernel driver to work properly.
Use this plugin at your own risk.
Checklist — Getting WinRing0 to Actually Read the MSRs
Symptom: the plugin loads and the sensors appear, but they show no data, zeros, or frozen/constant values.
This almost always means the WinRing0 driver itself loaded successfully, but a hypervisor is intercepting and blocking the writes to the performance-counter MSRs at runtime. Work through this checklist before reporting a bug:
- Disable virtualization-based security / hypervisor features (prime suspect).
All of the following arm the Hyper-V hypervisor, which controls the PMU and intercepts writes to performance-counter MSRs. Turn off whichever you have enabled:- VBS (Virtualization-Based Security)
- Core Isolation → Memory Integrity (HVCI)
- Hyper-V
- WSL2
- Virtual Machine Platform
- Windows Sandbox
This is different from "HVCI blocking the driver from loading" — the driver does load, but the hypervisor forbids the MSR write at runtime.
- Close hypervisor-based kernel anti-cheat.
Kernel anti-cheat that runs its own hypervisor (e.g. Riot Vanguardvgk.sys, some EAC/Faceit setups) traps MSR accesses the same way. Fully exit it — note that some anti-cheat drivers load at boot and require a reboot after being disabled. - (Rare) Check BIOS/firmware.
Some BIOS/firmware can disable the performance counters entirely. Make sure no relevant counter/monitoring option is turned off.
Tip: Changes to VBS / Memory Integrity / Virtual Machine Platform only take effect after a reboot, so restart Windows before re-testing.
CapFrameX Portable Mode
CapFrameX supports a portable mode that allows the application to run entirely from a single folder without writing to system directories. This is useful for running from USB drives, network shares, or keeping multiple isolated installations.
Portable mode is activated by placing a portable.json file in the same directory as the CapFrameX executable. See the v1.8.5 release notes for the full configuration reference, requirements, and behavior differences.
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.8.6 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 o...
CapFrameX v1.8.5
Release Notes
Enhancements & New Features
- Support Intel Nova Lake + ES, Bartlett Lake, Emerald Rapids, Wildcat Lake
- New NVIDIA limit sensors
- Per-game VRAM sensors
- AMD GPU fan duty sensor
- SSD sensors
- Intel memory/uncore clock sensors incl. PTL model 0xD5
- MCP server implementation
- Removed stutter metrics from FPS graph, display times used for moving averages, reworked threshold and variance charts
- Adjusted piechart layout
- Removed GPU Power Load as default sensor
Bugfixes
- Duplicated GPU memory sensor entries
- Default sensors + new IsGroupNameCompatible helper
- Integer division in NvidiaGpu.cs
- Y-axis boundaries in frame time graph
- PMC Reader DRAM latency
Platform & Infrastructure
- ADLX 1.5 update
- IGCL update
- FrameView fully removed (project + Jenkins)
- Updated NuGet packages
- New overlay config migration test for NV Mobile + Intel
Runtime Requirements
- .NET 9 is now required for full feature support and optimal stability. Download here.
MCP Server: Setting up Claude Code communication
CapFrameX ships an in-process Model Context Protocol server hosted by CapFrameX.exe. Once registered with Claude Code, the assistant can read captures, compute statistics, query the live system, and diagnose capture issues. The endpoint exists only while CapFrameX is running.
Setup
- Find the port. Open
%appdata%/CapFrameX/Configuration/AppSettings.jsonand readWebservicePort(default1337; CapFrameX falls back to a free port if it's taken). - Register with Claude Code (one-time, user-scoped):
claude mcp add -s user capframex --transport http http://localhost:/mcp - Verify:
Expected:capframex: http://localhost:<port>/mcp (HTTP) - ✓ Connected
In an active session, /mcp shows live status and the CapFrameX tools become available to the model.
Troubleshooting
- Disconnected / connect failure — CapFrameX isn't running, or the port changed since you registered. Re-check
WebservicePort, then:
claude mcp remove capframex
claude mcp add -s user capframex --transport http http://localhost:/mcp - Tools missing in the model — start a new Claude Code session; existing sessions don't pick up newly added servers.
- Disable entirely — set
McpEnabledtofalseinAppSettings.jsonand restart CapFrameX.
All v1.8.5 tools are read-only; the endpoint binds to localhost without auth.
CapFrameX Portable Mode
CapFrameX now supports a portable mode that allows the application to run entirely from a single folder without writing to system directories. This is useful for running from USB drives, network shares, or keeping multiple isolated installations.
How It Works
Portable mode is activated by placing a portable.json file in the same directory as the CapFrameX executable. When the application starts, it checks for this file and redirects all data storage to paths relative to the application directory.
Key Features
- Self-contained: All configuration, captures, screenshots, and logs are stored relative to the application folder
- No registry modifications: The application doesn't write to the Windows registry in portable mode
- No system folder usage: Bypasses
%AppData%andDocumentsfolders entirely - Configurable paths: All storage paths can be customized via
portable.json
portable.json Configuration
Create a portable.json file in the CapFrameX application directory with the following structure:
{ "portable": true, "paths": { "config": "./Portable/Config", "captures": "./Portable/Captures", "screenshots": "./Portable/Screenshots", "logs": "./Portable/Logs", "cloud": "./Portable/Captures/Cloud" } }
Configuration Options
| Property | Description | Default |
|---|---|---|
| portable | Enables portable mode when true | true |
| paths.config | Configuration files (AppSettings.json, overlay configs, sensor config, UI state) | ./Portable/Config |
| paths.captures | Capture recordings | ./Portable/Captures |
| paths.screenshots | Screenshot storage | ./Portable/Screenshots |
| paths.logs | Log files | ./Portable/Logs |
| paths.cloud | Cloud download directory | ./Portable/Captures/Cloud |
All paths are relative to the application directory. You can use ./ or .\ prefix, or just the folder name.
Requirements
When running in portable mode, the following dependencies must be installed on the system:
The application will check for these dependencies on startup and display a message if any are missing.
Creating a Portable Distribution
- Copy the CapFrameX application files to a folder
- Create a
portable.jsonfile with the configuration above - (Optional) Pre-create the
Portablesubdirectory with:Config,Captures,Screenshots,Logs - The application is now portable and can be moved to any location
Behavior Differences
| Feature | Installed Mode | Portable Mode |
|---|---|---|
| Config storage | %AppData%\CapFrameX\Configuration | ./Portable/Config |
| Captures storage | Documents\CapFrameX\Captures | ./Portable/Captures |
| Screenshots | Documents\CapFrameX\Screenshots | ./Portable/Screenshots |
| Logs | %AppData%\CapFrameX\Logs | ./Portable/Logs |
| UI state (window size, column widths) | %LocalAppData%\Jot | ./Portable/Config |
| Window title | "CapFrameX" | "CapFrameX Portable" |
| Config migration | Migrates old settings | Skipped |
| Start with Windows | Available | Disabled |
Notes
- Settings configured in portable mode are stored in the portable config folder and won't affect or be affected by an installed version
- The
portable.jsonfile must be valid JSON; if parsing fails, the application falls back to installed mode - Directories are automatically created if they don't exist
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.8.4 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.8.4 release. - 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.
Known Limitations
- PC latency metric may return invalid values (NaN) under specific conditions.
CapFrameX v1.8.4
Release Notes
Enhancements & New Features
- Ryzen SMU support Zen 5
- Overlay profile compatibility mode
- New internal management stable sensor IDs
- Drag&Drop folders on Comparison and Report tab
- Auto enable PMD measurement
- Detailed process info Capture tab
- RAM Game Used sensor
- Minor UI improvements
Bugfixes
- Capture files cannot be saved to network drives
- Invalid aggregation sensor data
- Invalid D3D sensors
- Sensor profiles not saved correctly
- PresentMon opens in window mode
Platform & Infrastructure
- Fixed device path for latest PawnIO driver 2.1.0
Runtime Requirements
- .NET 9 is now required for full feature support and optimal stability. Download here.
CapFrameX PMC Reader Plugin
The PMC Reader Plugin extends CapFrameX with low-level CPU performance monitoring counters (PMC) by reading Model Specific Registers (MSRs) directly. It exposes CPU cache and memory metrics — such as L3 cache hit rates, DRAM bandwidth, and DRAM latency — that are not accessible through standard OS APIs.
Supported CPUs
| Vendor | Architecture |
|---|---|
| AMD | Zen 4, Zen 5 |
| Intel | Alder Lake, Raptor Lake (Refresh), Arrow Lake |
Sensors
Base Sensors (all supported CPUs)
| Sensor | Unit | Description |
|---|---|---|
| CPU L3 Hit Rate | % | Overall L3 cache hit rate |
| CPU DRAM Bandwidth | GiB/s | Total DRAM read + write bandwidth |
| CPU DRAM Latency | ns | DRAM access latency |
Per-CCX Sensors (AMD multi-CCX CPUs)
| Sensor | Unit | Description |
|---|---|---|
| CPU L3 Hit Rate CCX {i} | % | L3 cache hit rate per CCX |
| CPU DRAM Latency CCX {i} | ns | DRAM access latency per CCX |
Gaming Sensors — P-Cores (Intel hybrid CPUs)
| Sensor | Unit | Description |
|---|---|---|
| CPU P-Core IPC | ratio | Instructions per clock |
| CPU P-Core L3 Hitrate | % | L3 cache hit rate |
| CPU P-Core L3 Bound | % | Cycles stalled on L3 |
| CPU P-Core Mem Bound | % | Cycles stalled on memory |
| CPU P-Core L3 Miss BW | GiB/s | L3 miss bandwidth |
Gaming Sensors — E-Cores (Intel hybrid CPUs)
| Sensor | Unit | Description |
|---|---|---|
| CPU E-Core IPC | ratio | Instructions per clock |
| CPU E-Core L3 Hitrate | % | L3 cache hit rate |
| CPU E-Core L3 Bound | % | Cycles stalled on L3 |
| CPU E-Core Mem Bound | % | Cycles stalled on memory |
| CPU E-Core L3 Miss BW | GiB/s | L3 miss bandwidth |
Installation
- Download
CapFrameX.PmcReader.Plugin.dllfrom the release assets - Copy the DLL into your CapFrameX installation folder
Default path:C:\Program Files (x86)\CapFrameX - Restart CapFrameX — the plugin sensors will appear automatically
⚠️ Important
This plugin uses the WinRing0 kernel driver to access CPU MSRs. WinRing0 is blacklisted by Microsoft Windows Defender and may be flagged or blocked.
In the worst case, you may need to disable Windows Defender real-time protection for the kernel driver to work properly.
Use this plugin at your own risk.
CapFrameX Portable Mode
CapFrameX now supports a portable mode that allows the application to run entirely from a single folder without writing to system directories. This is useful for running from USB drives, network shares, or keeping multiple isolated installations.
How It Works
Portable mode is activated by placing a portable.json file in the same directory as the CapFrameX executable. When the application starts, it checks for this file and redirects all data storage to paths relative to the application directory.
Key Features
- Self-contained: All configuration, captures, screenshots, and logs are stored relative to the application folder
- No registry modifications: The application doesn't write to the Windows registry in portable mode
- No system folder usage: Bypasses
%AppData%andDocumentsfolders entirely - Configurable paths: All storage paths can be customized via
portable.json
portable.json Configuration
Create a portable.json file in the CapFrameX application directory with the following structure:
{ "portable": true, "paths": { "config": "./Portable/Config", "captures": "./Portable/Captures", "screenshots": "./Portable/Screenshots", "logs": "./Portable/Logs", "cloud": "./Portable/Captures/Cloud" } }
Configuration Options
| Property | Description | Default |
|---|---|---|
| portable | Enables portable mode when true | true |
| paths.config | Configuration files (AppSettings.json, overlay configs, sensor config, UI state) | ./Portable/Config |
| paths.captures | Capture recordings | ./Portable/Captures |
| paths.screenshots | Screenshot storage | ./Portable/Screenshots |
| paths.logs | Log files | ./Portable/Logs |
| paths.cloud | Cloud download directory | ./Portable/Captures/Cloud |
All paths are relative to the application directory. You can use ./ or .\ prefix, or just the folder name.
Requirements
When running in portable mode, the following dependencies must be installed on the system:
The application will check for these dependencies on startup and display a message if any are missing.
Creating a Portable Distribution
- Copy the CapFrameX application files to a folder
- Create a
portable.jsonfile with the configuration above - (Optional) Pre-create the
Portablesubdirectory with:Config,Captures,Screenshots,Logs - The application is now portable and can be moved to any location
Behavior Differences
| Feature | Installed Mode | Portable Mode |
|---|---|---|
| Config storage | %AppData%\CapFrameX\Configuration | ./Portable/Config |
| Captures storage | Documents\CapFrameX\Captures | ./Portable/Captures |
| Screenshots | Documents\CapFrameX\Screenshots | ./Portable/Screenshots |
| Logs | %AppData%\CapFrameX\Logs | ./Portable/Logs |
| UI state (window size, column widths) | %LocalAppData%\Jot | ./Portable/Config |
| Window title | "CapFrameX" | "CapFrameX Portable" |
| Config migration | Migrates old settings | Skipped |
| Start with Windows | Available | Disabled |
Notes
- Settings configured in portable mode are stored in the portable config folder and won't affect or be affected by an installed version
- The
portable.jsonfile must be valid JSON; if parsing fails, the application falls back to installed mode - Directories are automatically created if they don't exist
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.8.4 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.8.4 release. - 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.
Known Limitations
- PC latency metric may return invalid values (NaN) under specific conditions.
CapFrameX v1.8.4 beta
Release Notes
Bugfixes
- Capture files cannot be saved to network drives.
Runtime Requirements
- .NET 9 is now required for full feature support and optimal stability. Download here.
CapFrameX Portable Mode
CapFrameX now supports a portable mode that allows the application to run entirely from a single folder without writing to system directories. This is useful for running from USB drives, network shares, or keeping multiple isolated installations.
How It Works
Portable mode is activated by placing a portable.json file in the same directory as the CapFrameX executable. When the application starts, it checks for this file and redirects all data storage to paths relative to the application directory.
Key Features
- Self-contained: All configuration, captures, screenshots, and logs are stored relative to the application folder
- No registry modifications: The application doesn't write to the Windows registry in portable mode
- No system folder usage: Bypasses
%AppData%andDocumentsfolders entirely - Configurable paths: All storage paths can be customized via
portable.json
portable.json Configuration
Create a portable.json file in the CapFrameX application directory with the following structure:
{ "portable": true, "paths": { "config": "./Portable/Config", "captures": "./Portable/Captures", "screenshots": "./Portable/Screenshots", "logs": "./Portable/Logs", "cloud": "./Portable/Captures/Cloud" } }
Configuration Options
| Property | Description | Default |
|---|---|---|
| portable | Enables portable mode when true | true |
| paths.config | Configuration files (AppSettings.json, overlay configs, sensor config, UI state) | ./Portable/Config |
| paths.captures | Capture recordings | ./Portable/Captures |
| paths.screenshots | Screenshot storage | ./Portable/Screenshots |
| paths.logs | Log files | ./Portable/Logs |
| paths.cloud | Cloud download directory | ./Portable/Captures/Cloud |
All paths are relative to the application directory. You can use ./ or .\ prefix, or just the folder name.
Requirements
When running in portable mode, the following dependencies must be installed on the system:
The application will check for these dependencies on startup and display a message if any are missing.
Creating a Portable Distribution
- Copy the CapFrameX application files to a folder
- Create a
portable.jsonfile with the configuration above - (Optional) Pre-create the
Portablesubdirectory with:Config,Captures,Screenshots,Logs - The application is now portable and can be moved to any location
Behavior Differences
| Feature | Installed Mode | Portable Mode |
|---|---|---|
| Config storage | %AppData%\CapFrameX\Configuration | ./Portable/Config |
| Captures storage | Documents\CapFrameX\Captures | ./Portable/Captures |
| Screenshots | Documents\CapFrameX\Screenshots | ./Portable/Screenshots |
| Logs | %AppData%\CapFrameX\Logs | ./Portable/Logs |
| UI state (window size, column widths) | %LocalAppData%\Jot | ./Portable/Config |
| Window title | "CapFrameX" | "CapFrameX Portable" |
| Config migration | Migrates old settings | Skipped |
| Start with Windows | Available | Disabled |
Notes
- Settings configured in portable mode are stored in the portable config folder and won't affect or be affected by an installed version
- The
portable.jsonfile must be valid JSON; if parsing fails, the application falls back to installed mode - Directories are automatically created if they don't exist
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.8.3 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.8.3 release. - 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.
Known Limitations
- PC latency metric may return invalid values (NaN) under specific conditions.
CapFrameX v1.8.3
Release Notes
Enhancements & New Features
- Increased buffer capacity for extremely high fps scenarios
Bugfixes
- Fixed driver version overlay info for AMD GPUs
Platform & Infrastructure
- Readded signed PawnIO.sys driver to address Windows SmartScreen issues
Runtime Requirements
- .NET 9 is now required for full feature support and optimal stability. Download here.
CapFrameX Portable Mode
CapFrameX now supports a portable mode that allows the application to run entirely from a single folder without writing to system directories. This is useful for running from USB drives, network shares, or keeping multiple isolated installations.
How It Works
Portable mode is activated by placing a portable.json file in the same directory as the CapFrameX executable. When the application starts, it checks for this file and redirects all data storage to paths relative to the application directory.
Key Features
- Self-contained: All configuration, captures, screenshots, and logs are stored relative to the application folder
- No registry modifications: The application doesn't write to the Windows registry in portable mode
- No system folder usage: Bypasses
%AppData%andDocumentsfolders entirely - Configurable paths: All storage paths can be customized via
portable.json
portable.json Configuration
Create a portable.json file in the CapFrameX application directory with the following structure:
{ "portable": true, "paths": { "config": "./Portable/Config", "captures": "./Portable/Captures", "screenshots": "./Portable/Screenshots", "logs": "./Portable/Logs", "cloud": "./Portable/Captures/Cloud" } }
Configuration Options
| Property | Description | Default |
|---|---|---|
| portable | Enables portable mode when true | true |
| paths.config | Configuration files (AppSettings.json, overlay configs, sensor config, UI state) | ./Portable/Config |
| paths.captures | Capture recordings | ./Portable/Captures |
| paths.screenshots | Screenshot storage | ./Portable/Screenshots |
| paths.logs | Log files | ./Portable/Logs |
| paths.cloud | Cloud download directory | ./Portable/Captures/Cloud |
All paths are relative to the application directory. You can use ./ or .\ prefix, or just the folder name.
Requirements
When running in portable mode, the following dependencies must be installed on the system:
The application will check for these dependencies on startup and display a message if any are missing.
Creating a Portable Distribution
- Copy the CapFrameX application files to a folder
- Create a
portable.jsonfile with the configuration above - (Optional) Pre-create the
Portablesubdirectory with:Config,Captures,Screenshots,Logs - The application is now portable and can be moved to any location
Behavior Differences
| Feature | Installed Mode | Portable Mode |
|---|---|---|
| Config storage | %AppData%\CapFrameX\Configuration | ./Portable/Config |
| Captures storage | Documents\CapFrameX\Captures | ./Portable/Captures |
| Screenshots | Documents\CapFrameX\Screenshots | ./Portable/Screenshots |
| Logs | %AppData%\CapFrameX\Logs | ./Portable/Logs |
| UI state (window size, column widths) | %LocalAppData%\Jot | ./Portable/Config |
| Window title | "CapFrameX" | "CapFrameX Portable" |
| Config migration | Migrates old settings | Skipped |
| Start with Windows | Available | Disabled |
Notes
- Settings configured in portable mode are stored in the portable config folder and won't affect or be affected by an installed version
- The
portable.jsonfile must be valid JSON; if parsing fails, the application falls back to installed mode - Directories are automatically created if they don't exist
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.8.3 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.8.3 release. - 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.
Known Limitations
- PC latency metric may return invalid values (NaN) under specific conditions.
CapFrameX v1.8.2
Release Notes
Enhancements & New Features
- Effective clock support for Intel CPUs
- ADLX support AMD GPUs
- AMD NPU telemetry
- Improved overlay management
- Improved overlay templates
- Improved display detection for MRR metric
- Disk space validation when saving capture files
Bugfixes
- Fixed order Report tab table
- Fixed Revert button overlay template
- All sensors initially selected
Platform & Infrastructure
- New plugin interface
Runtime Requirements
- .NET 9 is now required for full feature support and optimal stability. Download here.
CapFrameX Portable Mode
CapFrameX now supports a portable mode that allows the application to run entirely from a single folder without writing to system directories. This is useful for running from USB drives, network shares, or keeping multiple isolated installations.
How It Works
Portable mode is activated by placing a portable.json file in the same directory as the CapFrameX executable. When the application starts, it checks for this file and redirects all data storage to paths relative to the application directory.
Key Features
- Self-contained: All configuration, captures, screenshots, and logs are stored relative to the application folder
- No registry modifications: The application doesn't write to the Windows registry in portable mode
- No system folder usage: Bypasses
%AppData%andDocumentsfolders entirely - Configurable paths: All storage paths can be customized via
portable.json
portable.json Configuration
Create a portable.json file in the CapFrameX application directory with the following structure:
{ "portable": true, "paths": { "config": "./Portable/Config", "captures": "./Portable/Captures", "screenshots": "./Portable/Screenshots", "logs": "./Portable/Logs", "cloud": "./Portable/Captures/Cloud" } }
Configuration Options
| Property | Description | Default |
|---|---|---|
| portable | Enables portable mode when true | true |
| paths.config | Configuration files (AppSettings.json, overlay configs, sensor config, UI state) | ./Portable/Config |
| paths.captures | Capture recordings | ./Portable/Captures |
| paths.screenshots | Screenshot storage | ./Portable/Screenshots |
| paths.logs | Log files | ./Portable/Logs |
| paths.cloud | Cloud download directory | ./Portable/Captures/Cloud |
All paths are relative to the application directory. You can use ./ or .\ prefix, or just the folder name.
Requirements
When running in portable mode, the following dependencies must be installed on the system:
The application will check for these dependencies on startup and display a message if any are missing.
Creating a Portable Distribution
- Copy the CapFrameX application files to a folder
- Create a
portable.jsonfile with the configuration above - (Optional) Pre-create the
Portablesubdirectory with:Config,Captures,Screenshots,Logs - The application is now portable and can be moved to any location
Behavior Differences
| Feature | Installed Mode | Portable Mode |
|---|---|---|
| Config storage | %AppData%\CapFrameX\Configuration | ./Portable/Config |
| Captures storage | Documents\CapFrameX\Captures | ./Portable/Captures |
| Screenshots | Documents\CapFrameX\Screenshots | ./Portable/Screenshots |
| Logs | %AppData%\CapFrameX\Logs | ./Portable/Logs |
| UI state (window size, column widths) | %LocalAppData%\Jot | ./Portable/Config |
| Window title | "CapFrameX" | "CapFrameX Portable" |
| Config migration | Migrates old settings | Skipped |
| Start with Windows | Available | Disabled |
Notes
- Settings configured in portable mode are stored in the portable config folder and won't affect or be affected by an installed version
- The
portable.jsonfile must be valid JSON; if parsing fails, the application falls back to installed mode - Directories are automatically created if they don't exist
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.8.2 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.8.2 release. - 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.
Known Limitations
- PC latency metric may return invalid values (NaN) under specific conditions.
CapFrameX v1.8.1
Release Notes
Enhancements & New Features
- Auto generate overlay profiles
- vkcube overlay preview window
- PresentMon 2.4.1 with many fixes and updates
- Overlay list search and filter
- Check for FrameViewService ETW session
Bugfixes
- Option menu combo boxes
- PMD data capture interval length
Platform & Infrastructure
- Smarter PawnIO driver management
- App-level BENCHLAB service management (no need to install the service separately)
- Smarter check for .NET 9 (SDK, Desktop Runtime, Standard Runtime)
Runtime Requirements
- .NET 9 is now required for full feature support and optimal stability. Download here.
CapFrameX Portable Mode
CapFrameX now supports a portable mode that allows the application to run entirely from a single folder without writing to system directories. This is useful for running from USB drives, network shares, or keeping multiple isolated installations.
How It Works
Portable mode is activated by placing a portable.json file in the same directory as the CapFrameX executable. When the application starts, it checks for this file and redirects all data storage to paths relative to the application directory.
Key Features
- Self-contained: All configuration, captures, screenshots, and logs are stored relative to the application folder
- No registry modifications: The application doesn't write to the Windows registry in portable mode
- No system folder usage: Bypasses
%AppData%andDocumentsfolders entirely - Configurable paths: All storage paths can be customized via
portable.json
portable.json Configuration
Create a portable.json file in the CapFrameX application directory with the following structure:
{ "portable": true, "paths": { "config": "./Portable/Config", "captures": "./Portable/Captures", "screenshots": "./Portable/Screenshots", "logs": "./Portable/Logs", "cloud": "./Portable/Captures/Cloud" } }
Configuration Options
| Property | Description | Default |
|---|---|---|
| portable | Enables portable mode when true | true |
| paths.config | Configuration files (AppSettings.json, overlay configs, sensor config, UI state) | ./Portable/Config |
| paths.captures | Capture recordings | ./Portable/Captures |
| paths.screenshots | Screenshot storage | ./Portable/Screenshots |
| paths.logs | Log files | ./Portable/Logs |
| paths.cloud | Cloud download directory | ./Portable/Captures/Cloud |
All paths are relative to the application directory. You can use ./ or .\ prefix, or just the folder name.
Requirements
When running in portable mode, the following dependencies must be installed on the system:
The application will check for these dependencies on startup and display a message if any are missing.
Creating a Portable Distribution
- Copy the CapFrameX application files to a folder
- Create a
portable.jsonfile with the configuration above - (Optional) Pre-create the
Portablesubdirectory with:Config,Captures,Screenshots,Logs - The application is now portable and can be moved to any location
Behavior Differences
| Feature | Installed Mode | Portable Mode |
|---|---|---|
| Config storage | %AppData%\CapFrameX\Configuration | ./Portable/Config |
| Captures storage | Documents\CapFrameX\Captures | ./Portable/Captures |
| Screenshots | Documents\CapFrameX\Screenshots | ./Portable/Screenshots |
| Logs | %AppData%\CapFrameX\Logs | ./Portable/Logs |
| UI state (window size, column widths) | %LocalAppData%\Jot | ./Portable/Config |
| Window title | "CapFrameX" | "CapFrameX Portable" |
| Config migration | Migrates old settings | Skipped |
| Start with Windows | Available | Disabled |
Notes
- Settings configured in portable mode are stored in the portable config folder and won't affect or be affected by an installed version
- The
portable.jsonfile must be valid JSON; if parsing fails, the application falls back to installed mode - Directories are automatically created if they don't exist
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.8.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.8.1 release. - 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.
Known Limitations
- PC latency metric may return invalid values (NaN) under specific conditions.
CapFrameX v1.8.0 beta
Release Notes
Enhancements & New Features
- Support Intel Panther Lake voltage sensors
- Added model IDs for Intel Arrow Lake-S Refresh (reserved)
- Added model IDs for Intel Core Ultra 300 Series (reserved)
- Full working portable mode
- Check for .NET 9 and Visual C++ Redistributables on app start
Bugfixes
- Overlay group control
Platform & Infrastructure
- Updated several Nuget packages
Runtime Requirements
- .NET 9 is now required for full feature support and optimal stability. Download here.
CapFrameX Portable Mode
CapFrameX now supports a portable mode that allows the application to run entirely from a single folder without writing to system directories. This is useful for running from USB drives, network shares, or keeping multiple isolated installations.
How It Works
Portable mode is activated by placing a portable.json file in the same directory as the CapFrameX executable. When the application starts, it checks for this file and redirects all data storage to paths relative to the application directory.
Key Features
- Self-contained: All configuration, captures, screenshots, and logs are stored relative to the application folder
- No registry modifications: The application doesn't write to the Windows registry in portable mode
- No system folder usage: Bypasses
%AppData%andDocumentsfolders entirely - Configurable paths: All storage paths can be customized via
portable.json
portable.json Configuration
Create a portable.json file in the CapFrameX application directory with the following structure:
{ "portable": true, "paths": { "config": "./Portable/Config", "captures": "./Portable/Captures", "screenshots": "./Portable/Screenshots", "logs": "./Portable/Logs", "cloud": "./Portable/Captures/Cloud" } }
Configuration Options
| Property | Description | Default |
|---|---|---|
| portable | Enables portable mode when true | true |
| paths.config | Configuration files (AppSettings.json, overlay configs, sensor config, UI state) | ./Portable/Config |
| paths.captures | Capture recordings | ./Portable/Captures |
| paths.screenshots | Screenshot storage | ./Portable/Screenshots |
| paths.logs | Log files | ./Portable/Logs |
| paths.cloud | Cloud download directory | ./Portable/Captures/Cloud |
All paths are relative to the application directory. You can use ./ or .\ prefix, or just the folder name.
Requirements
When running in portable mode, the following dependencies must be installed on the system:
The application will check for these dependencies on startup and display a message if any are missing.
Creating a Portable Distribution
- Copy the CapFrameX application files to a folder
- Create a
portable.jsonfile with the configuration above - (Optional) Pre-create the
Portablesubdirectory with:Config,Captures,Screenshots,Logs - The application is now portable and can be moved to any location
Behavior Differences
| Feature | Installed Mode | Portable Mode |
|---|---|---|
| Config storage | %AppData%\CapFrameX\Configuration | ./Portable/Config |
| Captures storage | Documents\CapFrameX\Captures | ./Portable/Captures |
| Screenshots | Documents\CapFrameX\Screenshots | ./Portable/Screenshots |
| Logs | %AppData%\CapFrameX\Logs | ./Portable/Logs |
| UI state (window size, column widths) | %LocalAppData%\Jot | ./Portable/Config |
| Window title | "CapFrameX" | "CapFrameX Portable" |
| Config migration | Migrates old settings | Skipped |
| Start with Windows | Available | Disabled |
Notes
- Settings configured in portable mode are stored in the portable config folder and won't affect or be affected by an installed version
- The
portable.jsonfile must be valid JSON; if parsing fails, the application falls back to installed mode - Directories are automatically created if they don't exist
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.9 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.9 release or v1.8.0 beta. - 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.
Known Limitations
- PC latency metric may return invalid values (NaN) under specific conditions.
BENCHLAB Service
When using BENCHLAB service, unzip the folder in a suitable installation folder like C:\Benchlab Service or D:\Tools, then run the .bat script as admin. Don't install the service from the Download folder. Install latest .NET 9 runtime. Download here.
CapFrameX v1.7.9
Release Notes
Enhancements & New Features
- Animation Error smoothness metric. More info here.
Bugfixes
- AMD Ryzen 9000 clock speed calculation when bus speed is not 100MHz
Platform & Infrastructure
- Reworked Microsoft Visual C++ Redistributable installer detection
Runtime Requirements
- .NET 9 is now required for full feature support and optimal stability. Download here.
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.9 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.9. - 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.
Known Limitations
- PC latency metric may return invalid values (NaN) under specific conditions.
BENCHLAB Service
When using BENCHLAB service, unzip the folder in a suitable installation folder like C:\Benchlab Service or D:\Tools, then run the .bat script as admin. Don't install the service from the Download folder. Install latest .NET 9 runtime. Download here.