This page outline changes for each release of the Android Game Development Kit
(AGDK) libraries. This was named as the Android Games SDK up till the v1.2.4
release.
2023.3.0.0 (June 2nd, 2023)
This release includes several bug fixes.
GameActivity
|
|
fixed |
Stability fixes in GameActivityEvents. |
Android Memory Advice Library
|
|
feature
|
Updated the machine learning model powering the library
which can allow improved results for newer phones. |
Android Performance Tuner
|
|
fixed
|
Fixed a bug where the library crashes if max instrumentation
keys are more than histogram count. |
feature
|
Updated the telemetry collection features in the library,
allowing for more granular reporting of frame rendering times. |
2023.2.0.0 (April 27th, 2023)
This release includes several bug fixes.
GameActivity
|
|
fixed |
Fixed early freeing of memory with historicalEventTimes. |
fixed
|
Fixed issue with historicalEventTimesNanos overflowing on
32bit systems. |
Android Memory Advice Library
|
|
fixed
|
Fixed a bug that prevented the static version of the library
to be linked properly. |
fixed
|
Fixed a bug where the library couldn’t load the required
TensorFlow Lite assets properly. |
2023.1.0.0 (March 15th, 2023)
This major release has build system updates to build libraries faster from source.
GameActivity
|
|
changed
|
Interface for historical event times is changed to overcome
the 32 bit limitation. |
feature |
Provided user access to configuration changes. |
feature |
Optimized out most JNI calls in touch event handling. |
fixed
|
Fixed default OS handling of touch events, like handling
system buttons. |
GameController
|
|
feature
|
Added ability to detect connection status of hardware
keyboards. |
feature
|
Added ability to report motion data (accelerometer/gyroscope)
from the main device (i.e. handset) as well as controllers. |
changed
|
Changed API and format for the controller definition database
to reduce memory footprint and support additional features. |
Android Frame Pacing library
|
|
feature |
Vulkan Frame Statistics are added. |
feature |
A new API for clearing frame statistics is added. |
changed
|
The logs are all silent in release mode, they can be enabled
in debug mode. |
2022.0.0 (March 15th, 2022)
This major release includes the memory advice library and several fixes for other libraries.
GameActivity
|
|
feature
|
Added handling of insets for positioning of game UI around the
IME and cutouts. |
feature |
Add key and motion event filters |
fixed
|
Fixes to avoid input event losses and prevent consuming all
input events |
Android Performance Tuner
|
|
changed |
Memory reporting is now as time-series rather than histograms |
feature |
Allow programmatically setting upload interval |
fixed |
Corrupted API key bug fixed |
Android Frame Pacing library
|
|
feature |
Improvements to auto-mode |
feature |
Add 'uninjectTracer' functions |
Android Memory Advice Library
|
|
feature |
Added Memory Advice Library |
2021.1.0 (July 12th, 2021)
Where we used to refer to this product as the Android Game SDK, it is now
referred to as the Android Game Development Kit. This major release includes
several new libraries along with minor bug fixes in the Android Frame Pacing
and Android Performance Tuner libraries.
|
|
feature |
GameActivity is a new component that replaces and improves upon the NDK's NativeActivity. |
feature |
GameTextInput is a new component that improves interaction with the Android soft keyboard. |
feature
|
GameController is a new component that allows easier interaction with and management of external
controllers. |
1.2.4 (April 21st, 2021)
This release is a bug fix release for Android Performance Tuner.
Android Performance Tuner
|
|
fixed |
Fix loading time and duration recording on devices with inconsistent CLOCK_BOOTTIME . |
1.2.3 (March 10th, 2021)
This release adds Oboe to the Game SDK. There are no changes
to the Android Frame Pacing library and to the Android Performance Tuner.
Oboe is an open-source C++ library for high-performance audio on Android. Oboe
provides a single native API that works in Android 4.1 (API level 16)
and higher.
1.2.2 (February 12th, 2021)
This release has improvements to the loading times API for Android Performance Tuner
and several bug fixes. There are no changes to the Android Frame Pacing
library.
Android Performance Tuner
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.
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 AGDK Libraries Jetpack library.
Android Frame Pacing 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, SwappyGL_setWindow
or SwappyVk_setWindow should be called. |
fixed |
Auto-mode bug fixes. |
fixed |
Vulkan bug fixes. |
Android Performance Tuner
|
|
feature
|
Loading times.
New functions TuningFork_startRecordingLoadingTime and
TuningFork_stopRecordingLoadingTime should be called to
record annotated loading time events.
Time from app startup to TuningFork_init and the first tick
are automatically recorded. |
changed
|
The previous method of setting a loading time annotation will
no longer work. |
feature
|
Lifecycle events.
TuningFork_reportLifecycleEvent should be called upon the
appropriate Java onCreate , etc. being called. This enables
detailed crash reporting from within Android Performance Tuner. |
changed
|
More memory metrics are now recorded when
TuningFork_enableMemoryRecording(true) is called. |
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 TuningFork_MetricLimits in
tuningfork.h . |
fixed |
No upload on metered connections. |
1.1.0 (June 10th, 2020)
This version of the AGDK Libraries 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
startTrace and endTrace ). |
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 SwappyFallback code path in Vulkan. |
fixed |
SwappyVk_destroySwapchain no longer destroys device resources if there is more than one swapchain. |
fixed |
The Swappy version is now printed in logcat . |
fixed |
Crashes and deadlocks in Swappy_destroy for API level 24 and lower. |
feature |
Support for custom thread managers (Swappy_setThreadFunctions ). |
feature |
Support for hooking of Vulkan functions (SwappyVk_setFunctionProvider ). |
1.0.0 (December 5th, 2019)
This initial version of the AGDK Libraries 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. |