rdc-analysis
Skill4 starsChanged 3 months agoMITView on GitHub
Analyze RenderDoc .rdc capture files to diagnose rendering issues and perform rendering analysis. Self-contained with bundled Python 3.6 + renderdoc runtime (~36 MB). Use when: (1) User provides a .rdc frame capture file for analysis, (2) Diagnosing rendering problems (black screen, texture errors, depth issues, shader bugs), (3) Analyzing draw call or dispatch pipeline state, (4) Comparing before/after resource states (RT, textures, buffers), (5) Investigating GPU performance bottlenecks, (6) Understanding the rendering pipeline of a captured frame, or (7) Comparing exported render target images with DISCARD-aware pixel difference and brightness analysis.
In this repository15 other files it gives its agents.
- apt-replay-runSkill
- ctx-stashSkill
- eca-editorSkill
- memreport-analyzeSkill
- pix-gpu-debugSkill
- prospero-razorgpu-debugSkill
- ps5-devkit-bridgeSkill
- quick-analyze-gpuprofileSkill
- reallink-manage-skillsSkill
- skill-vetterSkill
- streaming-pool-json-htmlSkill
- uefn-reallink-bridgeSkill
- ue-trace-analysisSkill
- video-summarySkill
- vt-json-htmlSkill
The file
We split this skill into the rules it gives an agent
5 rules. About 0 are common, 0 are distinctive, and 5 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈0
Distinctive · estimate
This author's own choices. Worth a look.
5
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 12
All scripts only support Python 3.6 via the bundled interpreter.
- Very specific: line 13
All renderdoc dependencies must use bundled versions from assets/runtime/.
- Very specific: line 14
Always use run_export.py as entry point — it auto-deploys the correct runtime.
- Very specific: line 80
When --eid is active, replay stability flags (RDC_SETFRAME_FULL_REPLAY, RDC_SKIP_QUEUE_SWITCH_IDLE, RDC_CMDLIST_RESET_NULL_PSO, …
- Very specific: line 103
Use the bundled scripts/image_diff.py tool (requires system Python 3.6+ and Pillow):
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
RDC Analysis
Self-contained skill for analyzing RenderDoc .rdc frame captures. Bundles Python 3.6 runtime + renderdoc module + rdc_export.py export tool.
Runtime Requirements
- All scripts only support Python 3.6 via the bundled interpreter. Do NOT use system Python to run
rdc_export.py— ABI incompatibility withrenderdoc.pyd. - All renderdoc dependencies must use bundled versions from
assets/runtime/. Do NOT substitute with system RenderDoc. - Always use
run_export.pyas entry point — it auto-deploys the correct runtime.
Environment Setup
First-time setup is automatic. Run the export runner and it deploys the bundled runtime:
python "<skill-path>/scripts/run_export.py" --eid -1 <capture.rdc>Runtime deploys to <workspace>/.rdc-analysis-runtime/ (~36 MB). Subsequent runs skip deployment if unchanged.
Export Workflow
Event list only (fastest)
python "<skill-path>/scripts/run_export.py" --eid -1 <capture.rdc>Produces only event_list.md — use to identify target EIDs before full export.
Single event
python "<skill-path>/scripts/run_export.py" --eid <EID> <capture.rdc>Event range
python "<skill-path>/scripts/run_export.py" --eid <start>-<end> <capture.rdc>Full export (all events)
python "<skill-path>/scripts/run_export.py" <capture.rdc>Warning: full export can take minutes and produce gigabytes. Prefer --eid filtering.
Command-Line Arguments
python run_export.py [OPTIONS] <capture.rdc>| Argument | Description |
<capture.rdc> | Path to the .rdc capture file (required) |
--eid <spec> | EID filter: -1 (event list only), 1234 (single), 1000-2000 (range) |
--no-skip-slateui-title | Include UE SlateUI Title events (skipped by default) |
--renderdoc-path <dir> | Override renderdoc module search path |
Key Environment Variables
| Variable | Description | Default |
RDC_EXPORT_EID | Same as --eid (CLI overrides) | — |
RDC_EXPORT_SKIP_SLATEUI_TITLE | 0/false to include SlateUI | true |
RDC_EXPORT_ALL_PSOS | 1 to export ALL PSOs | false |
RDC_REPLAY_FORCE_SOFTWARE | 1 to force WARP | false |
RDC_WORKER_TIMEOUT_SEC | Worker timeout (seconds) | 6000 |
RDC_WORKER_MAX_WS_GB | Worker max working set (GB) | 128 |
When --eid is active, replay stability flags (RDC_SETFRAME_FULL_REPLAY, RDC_SKIP_QUEUE_SWITCH_IDLE, RDC_CMDLIST_RESET_NULL_PSO, RDC_SKIP_QUERY_REPLAY) are auto-set to 1. Override by setting them explicitly.
Output Structure
Export produces <capture_name>/ next to the .rdc file. For detailed format specs, see references/output-format.md.
| Path | Content |
event_list.md | Frame event hierarchy (start here) |
events/EID_*.md | Per-draw/dispatch: pipeline, shaders, bindings, RT before/after, textures, buffers |
pso/*.md | Pipeline State Object configs |
shaders/*.md | Shader disassembly + resource bindings |
buffers/*.md | CB structured values, VB/IB data, hex dumps |
textures/, render_targets/ | PNG snapshots (before/after) |
Diagnosis
For rendering issue diagnosis patterns (black screen, wrong colors, geometry issues, depth/Z-fighting, transparency, compute, performance), see references/diagnosis-patterns.md.
DISCARD Overlay Handling
CRITICAL: RenderDoc fills discarded resource regions with visible 64×8 pixel text overlays during replay. These are NOT actual render content. Before any pixel-level analysis on exported images, detect and exclude DISCARD pixels — otherwise statistics and diffs will be incorrect.
Use the bundled scripts/image_diff.py tool (requires system Python 3.6+ and Pillow):
# Compare two images (DISCARD-aware brightness diff)
python "<skill-path>/scripts/image_diff.py" <a.png> <b.png>
# Single image stats
python "<skill-path>/scripts/image_diff.py" --stats <image.png>
# Save diff heatmap / mask visualization
python "<skill-path>/scripts/image_diff.py" <a.png> <b.png> --save-diff diff.png --save-mask mask.png
# JSON output
python "<skill-path>/scripts/image_diff.py" <a.png> <b.png> --jsonFor DISCARD pattern specifications, detection algorithm, and custom masking code, see references/discard-patterns.md.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

