[Update: Blog Post] Google’s first Android Game SDK release is designed to help game devs improve frame pacing

[Update: Blog Post] Google’s first Android Game SDK release is designed to help game devs improve frame pacing

We may earn a commission for purchases made using our links.

Update 1 (12/5/19 @ 4:30 PM ET): Google has officially announced the Game SDK in a blog post. More details below. The original article remains as follow.

Late last year, Google created a new tree in AOSP called “gamesdk.” Google engineers have slowly added code to this tree over the past year, and this week, it looks like they’re gearing up for the first public release. The initial release of the “Android Game SDK” will focus on helping mobile game developers improve frame pacing in their Android games. Version 1.0.0 of the Game SDK includes the Android Frame Pacing Library as a static library for mobile game developers to integrate into their engines.

Notably, Unity has already integrated Android Frame Pacing into its game engine. For context, in May of this year, Unity announced version 2019.2 beta of its game engine. The release included a new setting called “Optimized Frame Pacing” in the “Settings for Android” section. Unity says they developed this feature in partnership with Google’s Android Gaming and Graphics team to “[provide] consistent frame rates by enabling frames to be distributed with less variance.” According to JC Cimetiere, Senior Technical Product Manager for Mobile Platform at Unity Technologies, this new Optimized Frame Pacing setting “prevents a queue of frames building up by synchronizing the time at which a game submits a frame with the time at which the display hardware consumes that frame.” With the option enabled, “frames spend less time in the queue, decreasing input latency” and resulting in players’ input events being reflected sooner on-screen.

Optimized Frame Pacing in Unity’s Player Settings for Android. Source: Unity Technologies.

Google briefly talked about the new Android Frame Pacing API at Google I/O 2019, and they also published a page on it on the Android Developers website. This webpage describes how to integrate Android Frame Pacing into your own project with separate sets of instructions depending on whether your game’s rendering engine uses OpenGL ES or the Vulkan API. Two sample projects are provided – Bouncyball and Cube – to demonstrate how to use the Android Frame Pacing library to achieve proper frame pacing in games that use OpenGL ES or Vulkan, respectively.

Although Google published the release notes for version 1.0.0 of the Android Game SDK, the company has not yet made an announcement. The public Game SDK page referenced in the release notes has also not gone live yet, so we’re expecting to see an announcement soon.

Android Game SDK Version 1.0.0 Release Notes

  •  This initial version of the Android Game SDK features the Android Frame Pacing library.
  • Features
    •  Display buffer synchronization.
    • Auto refresh rate mode and pipelining support.
    • Collection of frame rendering statistics.
    • Graceful selection of behavior at runtime, depending on the presence of the Android, OpenGL, and Vulkan features needed by Swappy.
    • Static and dynamic linking of the library.
    • Support for devices with multiple refresh rates.

For more information, see https://developer.android.com/games/sdk/.

Thanks to XDA Recognized Developer luca020400 for the tip!

Update 1: Game SDK Blog Post

Over on the Android Developers Blog, Google officially announced the Android Game SDK, a set of libraries that mobile game developers can use to enhance their games. As expected, the first release focuses on helping game developers improve frame pacing. Google says the Frame Pacing library is integrated into Unity SDK versions 2019.2 and beyond, but developers with access to the source for their game engine can learn how to integrate the library into their OpenGL or Vulkan renderer by visiting this page.