Understand more about Android Performance Tuner

 

Performance insights is a new feature in Android vitals designed specifically for game developers and other developers with apps that use native code. Performance insights is powered by Android Performance Tuner, a new plug-in to supercharge Android vitals for game developers. 

This article provides information on the core concepts behind Android Performance Tuner and your performance insights, and the calculations that underpin them:

Core concepts

Fidelity parameters and quality levels

Your app’s fidelity parameters influence the performance and graphical fidelity of your game, such as mesh level-of-detail, texture resolution, and anti-aliasing method. They can be continuous (e.g., 0-100%), binary (yes/no), or some other set of values.

A quality level is a predefined set of values for your fidelity parameters. Quality levels enable you to define combinations of parameters that deliver an acceptable level of fidelity at a stable frame rate for some subset of your users. Not all possible combinations of parameters would deliver a meaningful user experience.

Annotations

Annotations are "tags" on scenes in your game or app. They provide contextual information about what your game is doing in a given frame. Annotations are structured as:

  • Annotation type: Annotation value
    • For example: “Character”: “Protagonist”

Note: One frame can have multiple annotations.

Target frame rate and target frame time

Your target frame rate is used to benchmark your frame time performance across all device models. To do this, it’s converted to a target frame time, and a tolerance is applied to define your slow frame threshold.

Frame rate is a metric with the unit "frames per second" (fps). Frame time is measured in "ms". A simple formula connects the two:

  • frame time (ms) = 1000/frame rate (fps)

Currently you can select one of the following target frame rates:

Target frame rate (fps)

Target frame time (ms)

30

33.333

60

16.667

120

8.333

 

If you’re not sure which target frame rate to choose, start with 30fps. This is a good base frame rate for many games. You can change your target frame rate at any time. Note that this doesn’t change your underlying data, only your insights and metrics.

Slow and fast frame thresholds

Thresholds for defining insights and frame metrics are derived from your target frame rate:

  • Slow frame threshold = target frame time + a tolerance
  • Fast frame threshold = 25% faster than target frame time (provides some headroom)

For a given target frame rate, the thresholds are as follows:

Target frame rate (fps)

Target frame time (ms)

Slow frame threshold (ms) (SFT)

Fast frame threshold (ms) (FFT)

30

33.333

35.37

25.0

60

16.667

18.54

12.5

120

8.333

10.12

6.25

Android Performance Tuner calculations

Understanding the calculations that underpin the performance tuner will help you make the most of your insights.

Measured frame time

When aggregating frame time across many frames for your app, we report on 90th percentile frame time. This is defined to be the maximum frame time for the fastest 90% of your frames.

The threshold of 90% is currently a fixed threshold and cannot be changed.

The benefits of percentile over average

Good user experience requires a stable, consistent frame rate across the whole session. An average does not provide any insight into consistency, since fast and slow frames can offset each other. Using 90th percentile provides a metric that reflects how the vast majority of frames have behaved.

Slow and fast frame metrics

Individual frames are counted as slow or fast by comparing with the frame thresholds:

  • A single frame is slow if its frame time is greater than the slow frame threshold (SFT)
  • A single frame is fast if its frame time is quicker than the fast frame threshold (FFT)

Frame metrics are usually calculated only in the context of a specific issue or opportunities. Examples:

  • # and % slow frames on device model X on quality level 4
  • # and % fast frames on annotation Y on all quality levels
  • % slow and fast frames on device spec Z

Note: The one exception to this is the slow frame metric shown in the Overview summary, which is measured across all frames.

Issues and opportunities

Issues and opportunities enable you to take action on your frame time performance. An issue occurs if a device model or annotation (as defined above) does not consistently achieve your frame time target. An opportunity is a device model or annotation which consistently exceeds your frame time target by a sufficient margin to allow headroom for increasing fidelity.

To identify issues and opportunities, we compare your 90% percentile frame times with thresholds for slow frames (SFT) and fast frames (FFT). These thresholds are derived from your target frame time:

Types of insight

Definition

How it’s calculated

Issue:

  • Underperforming device model
  • Underperforming annotation

“at least 10% of frames are not meeting your frame time target”

90% percentile frame time > SFT

Opportunity:

  • Overperforming device model
  • Overperforming annotation

“at least 90% of frames are significantly faster than your frame time target”

90% percentile frame time < FFT

Related content

Was this helpful?

How can we improve it?
8635164925905800378
true
Search
Clear search
Close search
Main menu
Search Help Center
true
true
true
true
true
92637
false
false
false
false