{"id":6927,"date":"2019-12-20T04:32:42","date_gmt":"2019-12-20T04:32:42","guid":{"rendered":"https:\/\/gtechbooster.com\/?p=6927"},"modified":"2023-04-01T01:36:47","modified_gmt":"2023-04-01T01:36:47","slug":"android-game-sdk-unveiled","status":"publish","type":"post","link":"https:\/\/gtechbooster.com\/android-game-sdk-unveiled\/","title":{"rendered":"Android Game SDK unveiled"},"content":{"rendered":"\n<p>Google has launched the Android Game SDK, a set of libraries for Android game developers.<\/p>\n\n\n\n<div class=\"gtech-migrated-from-ad-inserter-placement-2\" style=\"text-align: center;\" id=\"gtech-1325279509\"><div style=\"margin-right: auto;margin-left: auto;text-align: center;\" id=\"gtech-2024860142\"><a data-bid=\"1\" data-no-instant=\"1\" href=\"https:\/\/gtechbooster.com\/linkout\/17207\" rel=\"noopener\" class=\"notrack\" aria-label=\"26001\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/gtechbooster.com\/media\/2023\/01\/26001.jpeg\" alt=\"\"  srcset=\"https:\/\/gtechbooster.com\/media\/2023\/01\/26001.jpeg 1024w, https:\/\/gtechbooster.com\/media\/2023\/01\/26001-768x960.jpeg 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" width=\"500\" height=\"625\"  style=\"display: inline-block;\" \/><\/a><\/div><\/div><p>The first library to launched is designed to help developers with  frame pacing, the synchronization of a game&#8217;s rendering loop with the OS  display subsystem and underlying display hardware.<\/p>\n\n\n\n<p>Writing about the new release, Dan Galpin, Google Developer Advocate,\n explained that Android&#8217;s display subsystem is designed to avoid tearing\n that occurs when the display hardware switches to a new frame in the \nmiddle of an update. To stop this happening, it buffers past frames, and\n if it detects late frame submissions, repeats the display of the old \nframes. This can cause strange behavior when game render loops run at a \ndifferent rate to the native display hardware because of mismatches in \nsynchronization.<\/p>\n\n\n\n<p>The Frame Pacing library uses Android&#8217;s Choreographer API for \nsynchronization with the display subsystem, using presentation timestamp\n extensions on both OpenGL and Vulkan APIs to make sure frames are \npresented at the proper time, and sync fences to avoid buffer stuffing. \nMultiple refresh rates are handled if supported by the device, giving a \ngame more flexibility in presenting a frame. For a device that supports a\n 60 Hz refresh rate as well as 90 Hz, a game that cannot produce 60 \nframes per second can drop to 45 FPS instead of 30 FPS to remain smooth.\n The library detects the expected game frame rate and auto-adjusts frame\n presentation times accordingly. The Frame Pacing library allows games \nto take advantage of higher refresh rate 90 and 120 Hz displays, while \nalso making it easy to lock the refresh rate to a desired value, \nregardless of the underlying display refresh rate.<\/p>\n\n\n\n<p>The Frame Pacing library is built into Unity versions 2019.2 and  beyond. To use it, you just select the optimized Frame Pacing checkbox  under Android Settings to enable smoother frame rates for your game. The  developers say that if you have source to your game engine, it&#8217;s  straightforward to integrate the library into your OpenGL or Vulkan  renderer.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">More Information<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li> <a href=\"https:\/\/developer.android.com\/games\/sdk\/\">Games SDK Download<\/a> <\/li><\/ul>\n<div class=\"gtech-end-cont\" id=\"gtech-2404866827\"><div style=\"margin-right: auto;margin-left: auto;text-align: center;\" id=\"gtech-3740216323\"><a data-bid=\"1\" data-no-instant=\"1\" href=\"https:\/\/gtechbooster.com\/linkout\/75343\" rel=\"noopener\" class=\"notrack\" aria-label=\"jesdphis\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/gtechbooster.com\/media\/2025\/08\/jesdphis.avif\" alt=\"\"  srcset=\"https:\/\/gtechbooster.com\/media\/2025\/08\/jesdphis.avif 1179w, https:\/\/gtechbooster.com\/media\/2025\/08\/jesdphis-768x950.avif 768w\" sizes=\"(max-width: 1179px) 100vw, 1179px\" width=\"300\" height=\"300\"  style=\"display: inline-block;\" \/><\/a><\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>Google has launched the Android Game SDK, a set of libraries for Android game developers. The first library to launched is designed to help developers with frame pacing, the synchronization of a game&#8217;s rendering loop with the OS display subsystem and underlying display hardware. Writing about the new release, Dan Galpin, Google Developer Advocate, explained [&hellip;]<\/p>\n","protected":false},"author":7,"featured_media":6930,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1915],"tags":[64,372,6],"class_list":["post-6927","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ndocs","tag-android","tag-google","tag-programming"],"blocksy_meta":{"styles_descriptor":{"styles":{"desktop":"","tablet":"","mobile":""},"google_fonts":[],"version":6}},"_links":{"self":[{"href":"https:\/\/gtechbooster.com\/api-json\/wp\/v2\/posts\/6927","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gtechbooster.com\/api-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/gtechbooster.com\/api-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/gtechbooster.com\/api-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/gtechbooster.com\/api-json\/wp\/v2\/comments?post=6927"}],"version-history":[{"count":0,"href":"https:\/\/gtechbooster.com\/api-json\/wp\/v2\/posts\/6927\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/gtechbooster.com\/api-json\/wp\/v2\/media\/6930"}],"wp:attachment":[{"href":"https:\/\/gtechbooster.com\/api-json\/wp\/v2\/media?parent=6927"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gtechbooster.com\/api-json\/wp\/v2\/categories?post=6927"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gtechbooster.com\/api-json\/wp\/v2\/tags?post=6927"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}