profile-isaac-sim

Profile and optimize Isaac Sim performance using benchmark scripts and Tracy profiling.

4.0k|530|Updated May 28, 2025
One-click install
npx skills add https://github.com/isaac-sim/IsaacSim --skill profile-isaac-sim
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: profile-isaac-sim
Source: https://github.com/isaac-sim/IsaacSim/tree/main/.claude/skills/profile-isaac-sim
Command: npx skills add https://github.com/isaac-sim/IsaacSim --skill profile-isaac-sim

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) components.

What problem does it solve?

Measuring and improving Isaac Sim performance requires coordinating benchmark runs, GPU frame-time recording, Tracy profile capture, and CSV comparison across iterations, which is error-prone when done manually.

Core Features & Use Cases

  • Benchmark Execution with Tracy Capture: Run any of the built-in Isaac Sim benchmarks (camera, RTX lidar, robots, SDG, scene loading) through the tracy_capture.py wrapper to record profiles, export CSVs, and save full logs in one command.
  • Zone-Level Comparison: Compare two Tracy CSV exports with the bundled compare_tracy_csvs.py script to surface top zones by total time, new hot paths, and disappeared zones.
  • Iterative Optimization Workflow: Track frame time, GPU time, and FPS across multiple optimization iterations with side-by-side comparison tables.
  • Extension Test Profiling: Discover the child kit process command from extension unit tests and rerun it directly with Tracy settings to profile test workloads.
  • Use Case: A robotics engineer notices slow rendering in the nova_carter benchmark, captures a baseline Tracy profile, modifies physics or rendering code, and re-runs the identical benchmark to verify a measurable frame-time improvement.

Quick Start

Profile the robots_nova_carter benchmark with GPU frame timing for 600 frames and compare the resulting Tracy CSV against my previous baseline run.

Frequently Asked Questions about profile-isaac-sim

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I profile an Isaac Sim benchmark with Tracy?

Run the tracy_capture.py wrapper from the release build directory with the benchmark short name, an output directory, and the --csv flag, forwarding --gpu-frametime and --num-frames after the double dash. It produces a .tracy profile, a CSV export, and a full log file in one run.

How to compare two Tracy CSV profile exports?

Use the bundled compare_tracy_csvs.py script with the reference and new CSV paths, optionally setting --top for the number of zones shown. It prints top zones by total time with deltas, zones only in the new run, and zones that disappeared. Parse tab-separated files by default.

Why do ROS2 Isaac Sim benchmarks fail to start?

ROS2 benchmarks like robots_nova_carter_ros2 require ROS_DISTRO=humble, RMW_IMPLEMENTATION=rmw_fastrtps_cpp, and LD_LIBRARY_PATH pointing to the internal humble lib directory. Set these environment variables before running python.sh, as printed in the isaacsim.ros2.core startup log.

Can I profile Isaac Sim extension unit tests with Tracy?

Yes, but the test runner launches kit as a child process, so Tracy must attach directly. First run the test to capture the child kit command, then rerun that command with Tracy profiler settings appended, and record with tracy-capture.

What are the limitations of Isaac Sim benchmark profiling?

Benchmarks require a release build directory and asset server access via OMNI_USER/OMNI_PASS or the S3 fallback flag. GPU frame-time flags only apply to standalone benchmarks, not unit tests, and at least 100 frames are recommended for stable measurements.