Xcode tools to measure Metal Performance #1469
Replies: 4 comments
-
Results from an Instruments profile from an iPhone SE using the Game Performance Profile. An Average Frame Time duration of 16.67 ms is one 60 fps frame. |
Beta Was this translation helpful? Give feedback.
-
Enabling the Frame Capture option in the Run Scheme also allows for more insight. And if nothing else some "eye candy" on how a map is drawn. GPU Trace of MapLibre by enabling the Metal GPU Counters maplibre-gputrace.mov |
Beta Was this translation helpful? Give feedback.
-
Very nice and useful! 👍 |
Beta Was this translation helpful? Give feedback.
-
As a test, I have adding some logging to the MapLibre Objective-C event handlers which allows us to measure the time difference between events ( We are seeing multiple There is also evidence that two of the events are firing twice. Timing-wise, it's not significant, but I'm not sure why that is happening. Full, un-snipped data at the bottom.
Time Measurement of MapLibre test app after a warm install. It's not clear if Metal Logging or MetalANGLE is the source of the performance hit.
Raw Time stamp Data
potentially Related MetalANGLE Research questions (FB9120382):
After a session at WWDC 21, I was able to research other options. Details also at developer.apple.com/forums/thread/659856.
|
Beta Was this translation helpful? Give feedback.
-
Xcode has a set of tools with excellent documentation on how to Optimize Performance with GPU Counters for measuring performance of our Metal based engine.
Opening this issue for any Game Developers or teams that want to aid in measuring the performance of the MapLibre solution.
Items to review
Measuring FPS on a device with the MapLibre Swift UI app
iosapp-swiftui
Beta Was this translation helpful? Give feedback.
All reactions