Stay organized with collections
Save and categorize content based on your preferences.
Sample App
The ADPF sample app
demonstrates the basic use of the ADPF API.
Figure 1. ADPF Demo Game Application
The sample displays the device's thermal status using the ADPF
getThermalHeadroom
API and the thermal status
API. The app also dynamically changes the workload based on the Thermal headroom
and the Performance Hint Manager API
to control render thread performance.
Codelab
The Integrating Adaptability Features Into Your C++ Game
codelab guides you to integrate ADPF features into your game with simple steps
that you can follow at your own pace. At the end of the codelab, you will have
integrated the following features and will better understand their
functionalities:
Thermal API: listen to device thermal condition and react before the device falls into thermal throttling state.
Game Mode API: understand player's optimization preference (maximize performance or preserving battery) and adjust accordingly.
Game State API: let the system know the state of your game (loading, playing, UI, etc) and the system can adjust resources accordingly (boost I/O, or CPU, GPU, etc).
Performance Hint API: let the system know your threading model and workload so that the system can allocate resources accordingly.
Figure 2.ADPF Codelab Infographic
Developer Stories
Check out how game developers increased their FPS stability and optimize their
power consumption using Adaptability APIs in these developer success stories!
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2025-03-27 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-03-27 UTC."],[],[],null,["# Sample, Codelab and Developer Stories\n\nSample App\n----------\n\nThe [ADPF sample app](https://github.com/android/games-samples/tree/main/agdk/adpf)\ndemonstrates the basic use of the ADPF API.\n**Figure 1.** ADPF Demo Game Application\n\nThe sample displays the device's thermal status using the ADPF\n[`getThermalHeadroom`](/reference/android/os/PowerManager#getThermalHeadroom(int))\nAPI and the [thermal status](/reference/android/os/PowerManager.OnThermalStatusChangedListener)\nAPI. The app also dynamically changes the workload based on the Thermal headroom\nand the [Performance Hint Manager API](/reference/android/os/PerformanceHintManager)\nto control render thread performance.\n\nCodelab\n-------\n\nThe [Integrating Adaptability Features Into Your C++ Game](/adaptability-codelab)\ncodelab guides you to integrate ADPF features into your game with simple steps\nthat you can follow at your own pace. At the end of the codelab, you will have\nintegrated the following features and will better understand their\nfunctionalities:\n\n- [Thermal API](/games/optimize/adpf#thermal): listen to device thermal condition and react before the device falls into thermal throttling state.\n- [Game Mode API](/games/optimize/adpf/gamemode/about-API-and-interventions): understand player's optimization preference (maximize performance or preserving battery) and adjust accordingly.\n- [Game State API](/reference/android/app/GameState): let the system know the state of your game (loading, playing, UI, etc) and the system can adjust resources accordingly (boost I/O, or CPU, GPU, etc).\n- [Performance Hint API](/reference/android/os/PerformanceHintManager): let the system know your threading model and workload so that the system can allocate resources accordingly.\n\n**Figure 2.**ADPF Codelab Infographic\n\nDeveloper Stories\n-----------------\n\nCheck out how game developers increased their FPS stability and optimize their\npower consumption using Adaptability APIs in these developer success stories!\n\n- [Kakao Games increased FPS stability to 96% through Android Adaptability](/stories/games/kakaogames-adaptability)\n- [Gameloft reduces device power consumption by 70%, resulting in 35% longer play time with the Game Mode API](/stories/games/gameloft-gamemode)\n- [Android Game Development Kit (AGDK) update: Adaptability and performance features](https://www.youtube.com/watch?v=_-FwUrQAsVg)\n- [GDC Vault - Google Developer Summit: Improving Game Performance with Android Dynamic Performance Framework](https://www.gdcvault.com/play/1029174/Google-Developer-Summit-Improving-Game)\n- [MediaTek enhances dynamic performance of Android SoCs](/stories/games/mediatek-adpf)\n- [NCSoft Lineage W improves sustained performance and prevents thermal throttling by using ADPF](/stories/games/lineagew-adpf)\n- [ARM getting started with Android Dynamic Performance Framework (ADPF) in Unreal Engine](/stories/games/arm-adpf)\n- [Netmarble Games: Optimizing Performance with ADPF](/stories/games/netmarble-got-adpf)"]]