[MUSIC PLAYING]
DAN GALPIN: I'm Dan Galpin.
Welcome back to the "Game Show."
Today, we're going to talk about the new Android Performance
Tuner, a library within the Android Game SDK
that unlocks game performance insights within Android Vitals,
giving you a way to both measure and optimize
the graphical fidelity and frame rate of your game
across the Android device ecosystem, all on real devices
with real users.
Let's break down exactly what that means.
Unlocking performance insights requires
integrating the Android Performance Tuner
Library, which relies on tic functions being
called each frame.
If you've already integrated the Android Frame Pacing
API to help you get smoother frame rates and improved
support for high refresh rate displays,
or are using Unreal 4.25 plus, you
pass in the SwappyGL_injectTracer function
from the Frame Pacing API at initialization
to enable automatic frame time recording.
In Unreal 4.25 plus, you also need to enable the Frame Pacing
API, which you can do for all Android devices by adding
a.UseSwappyForFramePacing=1 to the Android_Default profile.
And if we're using Unity, we've built
a plug-in that makes it easy to integrate the Android
Performance Tuner.
Once you've done the basic integration,
with or without the Frame Pacing API,
the next step is to define annotation parameters
and tie them to quality levels, scenes,
or other areas of interest in your game,
and make calls in the appropriate places
to inform the Android Performance Tuner API.
If you're using Unity with the Android Performance Tuner
plugin, you'll automatically get a scene annotation that
maps to the current scene being played,
as well as a UI to define additional annotations.
In a C++ native engine integration,
you define these annotations using a protocol buffer.
Then you need to make calls to the Android Performance Tuner
API to inform it of contextual changes.
Once you have the integration and annotations in place,
you enable the Android Performance Parameters
API in the Google Cloud Console to start collecting data.
The data will be used to produce a chart of frame rate
performance broken down by the quality levels you've
built into your game, so you can see how specific device models
or hardware specifications are performing on each quality
level.
We also analyze your performance data
to help determine the likely cause of issues,
so you can differentiate between problems associated
with specific hardware and problems
with specific screens or levels in your game.
The annotations provide contextual information
about what your game is doing at that point,
giving you full control over the granularity of the insights.
We call out the top device model issue, as well as
the top game-specific issue, to give you clear guidance
on what's most important.
You can drill down to see a breakdown of underperforming
device models by different specs, such as GPU and SoC.
This allows you to decide whether you can work at the GPU
or SoC level to optimize performance, or detect
these cases and change the quality level.
You can also see the full list of device models,
along with the number of affected user sessions
and frame time, to help you prioritize
device-specific changes.
As well as total frame time, we also show you GPU time to help
determine whether the device is GPU-bound or has another
performance problem, such as being CPU or I/O-bound.
All data in the device model table
can be exported for further analysis and action planning.
We can also help identify opportunities, places where
you could potentially provide users with a better experience
by giving them a higher quality level,
enabling more advanced graphical features.
The devices on the far left are more than
meeting the frame times for smooth performance.
You can drill down to see stats by device model
and specification to see if there is an opportunity
to improve the graphical fidelity
across a wide range of devices.
The Android Performance Tuner is intended
to work across 99% of the Android device ecosystem.
You can get these insights on any Android devices
around the world from Android 4.1 onwards.
It's part of our commitment to helping
to bring the best version of your game
to the widest number of users and devices
in the Android ecosystem.
Android Performance Tuner within the Android Game SDK,
the plugin for Unity, and performance insights
within Android Vitals are all available now.
As always, thanks for your support
and continuing to build incredible games.
We provided links in the description
to our documentation that includes
a walkthrough of the integration process,
as well as a step by step codelab.
I'm Dan Galpin for the "Game Show."
Please remember to like, subscribe, share,
and stay safe.
[MUSIC PLAYING]