Contents

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

integer

Territory

Country or region in which the event occurred

string

Date

Date when the event occurred

string

Platform

OS version on the device on which the event occurred

string

Device

Type of device on which the event occurred

string

Build

Build of device on which event occurred

string

Unique Devices

The count of unique devices

integer

Release Type

Type of software release

string

Bundle Short Version

The short bundle version of the client process.

string

App Version

Version of the app associated with the event

string

Layer Name

The name of the layer (if known).

string

Process Name

The name of the CAMetalLayer client process.

string

Active Duration

The amount of time, in seconds, that the most active layer in the CAMetalLayer client session actively generates new on-screen content.

float

Average Height

The average height, in pixels, of the chosen CAMetalLayer over the course of the session.

float

Average Width

The average width, in pixels, of the chosen CAMetalLayer over the course of the session.

float

Client Lifetime Duration

The number of seconds the client process existed (estimated).

float

Lifetime Active Layer Count

The total number of layers observed during the client’s lifetime.

integer

Presented Frame Command Buffer Count

The number of command buffers associated with presented frames of the chosen CAMetalLayer.

integer

Presented Frame Count

The number of presented frames, as determined by counting presented CAMetalDrawables of the chosen CAMetalLayer.

integer

Skipped Frame Count

The number of skipped frames, for example, CAMetalDrawables created but not put on glass.

integer

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.

integer

On Glass Present Lateness Count

The count of frames that arrived late on glass.

integer

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.

float

Presented On GPU Walltime Total

The total on-GPU walltime, in milliseconds, attributed to CAMetalDrawables for the chosen layer during the client’s lifetime.

float

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.

float

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.

float

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.

float

On Glass Interval Total

The total on-glass interval, in milliseconds, for CAMetalDrawables from the selected CAMetalLayer.

float

On Glass Interval Count

The total number of on-glass frame (CAMetalDrawables) intervals for the given CAMetalLayer.

integer

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