Can visionOS Performance Trace measure RealityKit frame deadlines without Instruments?

We have an immersive RealityView/RealityKit scene on Vision Pro and want to measure renderer frame deadlines, misses, and per-frame CPU/GPU timing without Instruments. Apple's “Performance Trace: visionOS” instructions describe collecting a sysdiagnose for Feedback after installing a temporary logging profile and restarting. We could not find a supported local readout or field map in those instructions.

Does the archive contain attributable RealityKit renderer frame deadlines, completion or miss events, and per-frame CPU/GPU measurements? If so, what supported tool, command, or export can decode them without Instruments or xctrace? Which archive member and fields contain the measurements, and what are their clock, units, and app/scene/layer attribution? A small redacted decoded example would help us verify the method before another headset run.

If the archive does not provide those measurements, is there another Apple-supported method for the existing RealityKit renderer?

Hello @EZRA777, thank you for your question!

Unfortunately I can't point you to a way to read these numbers from a sysdiagnose. The Performance Trace instructions are for collecting a trace to attach to a bug report sent to Apple engineers via Feedback Assistant. There isn't a documented way to identify RealityKit frame timing, or what the fields are and how to decode them without Instruments. There would not be a way to identify if the schema changed between releases, so I don't recommend building a tool that relies on the archive contents.

The supported way to see what you're asking for is the RealityKit Trace template in Instruments. This is documented in Analyzing the performance of your visionOS app. Note that it includes all running apps, so run the tool when only your app is open. See Understanding the visionOS render pipeline for additional info on why this is the case.

If you want to avoid the Instruments app, the command line tool xctrace can record the same template, but I understand you want to avoid that as well. The resulting .trace file would only be readable by the Instruments app regardless.

You can use OSSignposter to measure timing in your own app, by placing API calls around specific systems and entity operations. Note that this measures just your code, not the renderer's frame deadlines.

Please consider sending us feedback and potentially a feature request using Feedback Assistant. Include as many details about your use case and goals as you can, and check out Bug Reporting: How and Why? for tips on sending feedback. If you post the feedback number here, I can make sure the right people see it.

Thank you!

Thank you for clarifying the supported workflow. I filed FB25437619 requesting a documented way to export visionOS RealityKit renderer timing without Instruments. We’ve tried Instruments several times and haven’t been able to get a usable RealityKit timing trace. Is there an Apple-recommended troubleshooting step for that, or a specific detail you need to narrow it down? Thank you for offering to route the request.