This page outline changes for each release of the Android Game SDK.
1.2.1 (December 16th, 2020)
This release is an internal feature release for Android Performance Tuner and a promotion of the Jetpack libraries from alpha to beta. There are no changes to the Android Frame Pacing or Android Performance Tuner APIs.
Note that the Game SDK libraries must now be referred to individually when linking against them, rather than linking against the generic 'gamesdk' library. See the build settings for Android Frame Pacing: OpenGL, Android Frame Pacing: Vulkan and Android Performance Tuner.
|feature||When a player backgrounds a game during loading, an event is sent for later analysis of loading abandonment.|
1.2.0 (October 29th, 2020)
The main change in this version is the addition of a mechanism to record loading times. There are also some bug fixes. Note that the Game SDK is now available via the Android Game SDK Jetpack library.
|feature||Auto-mode refresh rate switching support.
Note that for support of multiple refresh rates in Android 11, whether using auto-mode or not,
|fixed||Auto-mode bug fixes.|
|fixed||Vulkan bug fixes.|
|changed||The previous method of setting a loading time annotation will no longer work.|
|changed||More memory metrics are now recorded when
|changed||Memory model change.
The maximum number of metrics of each type is now specified at start-up, rather than allocating space for all possible annotation combinations. See
|fixed||No upload on unmetered connections.|
1.1.0 (June 10th, 2020)
This version of the Android Game SDK features the Android Performance Tuner metric reporting and quality tuning library (also known as Tuning Fork). This library is available for native game engines as well as Unity and has the following features:
|feature||Integration with the Android Frame Pacing library to automatically record frame times and other rendering metrics.|
|feature||Frame timing information is recorded in histograms and uploaded periodically.|
|feature||Annotation of timing data with the current game state.|
|feature||Device characteristics, annotations, and quality settings are uploaded with the timing data to allow cross-sectional analysis.|
|feature||Special treatment of annotations that signify level-loading time. Frame tick data is not recorded during loading, but the duration of each loading period is.|
|feature||Ability to record custom timing information (using
1.0.2 (March 30th, 2020)
This version includes bug fixes and changes in the behavior of auto-mode.
|fixed||Bug fixes for swappy destruction and re-initialization.|
|changed||Pipelining is now on by default. If auto-pipelining is on, Swappy can still decide to switch it off when the workload is very low.|
|changed||When auto-mode is enabled, Swappy will decide to switch the swap interval only after 15% of frames within a 2-second window are either faster or slower than expected. Note that Swappy will never swap slower than the user-specified swap interval.|
1.0.1 (February 19th, 2020)
This version is primarily a bug fix release.
|fixed||Clean up resources at exit on the
|fixed||The Swappy version is now printed in
|fixed||Crashes and deadlocks in
|feature||Support for custom thread managers (
|feature||Support for hooking of Vulkan functions (
1.0.0 (December 5th, 2019)
This initial version of the Android Game SDK features the Android Frame Pacing library.
|feature||Display buffer synchronization.|
|feature||Auto refresh rate mode and pipelining support.|
|feature||Collection of frame rendering statistics.|
|feature||Graceful selection of behavior at runtime, depending on the presence of the Android, OpenGL, and Vulkan features needed by Swappy.|
|feature||Static and dynamic linking of the library.|
|feature||Support for devices with multiple refresh rates.|