CAMetalLayer Performance
Review CAMetalLayer metadata and performance in your app.
Overview
The data in this report contains metadata and performance information about how your app uses CAMetalLayer.
Territories: Worldwide
Platforms: iOS, iPadOS. For more information about iOS and iPadOS, see the Platforms section in Data Completeness and Corrections.
Availability:
Daily: Every day.
History: On request, data is available beginning with iOS 17.4 and iPadOS 17.4.
Completeness: Data from devices that contribute to this report can arrive as late as 8 days after the date it generates on device. You can download recent data daily, but it might be incomplete, and data updates incrementally daily, until all late-arriving events are available.
Privacy:
Includes data from users who have opted to share their data with Apple and developers.
Individual rows will only appear if they have a value of 5 or more.
Data Context: You can analyze your data with additional context by comparing it with the data in the App Sessions Context report, which provides a count of unique devices that use your app on a specific day. For example, if your app performed an action detailed in this report on 10 unique devices on a specific day, and the App Sessions Context report shows there were 100 unique devices running your app that day, then you can approximate that 10% of the devices running your app performed that action.
Report Fields
Report Field | Description | Data Type |
|---|---|---|
Count | Number of times the event occurred |
|
Territory | Country or region in which the event occurred |
|
Date | Date when the event occurred |
|
Platform | OS version on the device on which the event occurred |
|
Device | Type of device on which the event occurred |
|
Build | Build of device on which event occurred |
|
Unique Devices | The count of unique devices |
|
Release Type | Type of software release |
|
Bundle Short Version | The short bundle version of the client process. |
|
App Version | Version of the app associated with the event |
|
Layer Name | The name of the layer (if known). |
|
Process Name | The name of the CAMetalLayer client process. |
|
Active Duration | The amount of time, in seconds, that the most active layer in the CAMetalLayer client session actively generates new on-screen content. |
|
Average Height | The average height, in pixels, of the chosen CAMetalLayer over the course of the session. |
|
Average Width | The average width, in pixels, of the chosen CAMetalLayer over the course of the session. |
|
Client Lifetime Duration | The number of seconds the client process existed (estimated). |
|
Lifetime Active Layer Count | The total number of layers observed during the client’s lifetime. |
|
Presented Frame Command Buffer Count | The number of command buffers associated with presented frames of the chosen CAMetalLayer. |
|
Presented Frame Count | The number of presented frames, as determined by counting presented CAMetalDrawables of the chosen CAMetalLayer. |
|
Skipped Frame Count | The number of skipped frames, for example, CAMetalDrawables created but not put on glass. |
|
Total Presented Drawables Count | The total presented CAMetalDrawables across all CAMetalLayers of the client process, not just the most active CAMetalLayer. This approximates the proportion of the CAMetalDrawables reported. |
|
On Glass Present Lateness Count | The count of frames that arrived late on glass. |
|
Presented CPU End-To-End Drawable Total | The total end-to-end CPU walltime, in milliseconds, for all CAMetalDrawables for the chosen layer during the client’s lifetime. |
|
Presented On GPU Walltime Total | The total on-GPU walltime, in milliseconds, attributed to CAMetalDrawables for the chosen layer during the client’s lifetime. |
|
On Glass Present Lateness Total | The total estimated on-glass presentation lateness, in milliseconds, for drawables for the chosen layer during the lifetime of the client process. |
|
Presented GPU End-To-End Drawable Total | The total end-to-end GPU walltime, in milliseconds, for all CAMetalDrawables for the chosen layer during the client’s lifetime. |
|
Presented GPU Done-To-Completed Total | The total amount of time, in milliseconds, spent waiting for drawables to land on glass after GPU work completion from the selected CAMetalLayer. |
|
On Glass Interval Total | The total on-glass interval, in milliseconds, for CAMetalDrawables from the selected CAMetalLayer. |
|
On Glass Interval Count | The total number of on-glass frame (CAMetalDrawables) intervals for the given CAMetalLayer. |
|
Glossary
Dimension | Value | Definition |
|---|---|---|
Bundle Short Version | ExampleBundleShortVersion.0.1.2 | Placeholder short version |
App Version | Example.BundleVersion.0.1.2 | Placeholder bundle version |
Layer Name | ExampleLayerName | Placeholder example layer name |
Process Name | ExampleProcessName | Placeholder example process name |
See Also
Performance
AirPlay ErrorsAirPlay PerformanceApp Crashes ExpandedApp Installs PerformanceApp Neural FootprintApp Storage Reads and WritesAudio OverloadsBluetooth LE Session DurationBluetooth System WakesCellular Plan ProvisioningCustom Language Model Builds FailedDisplay Power InformationEmbedding GenerationHTTP Live Streaming Playback ErrorsLaunch Image Over Memory Limit