Development of a Kernel-based Android Game Tracing Tool


Runhua Xu


Energy is a critical resource on mobile devices. Current power management approaches for CPUs only consider the total utilization. An application specific power management is desirable to optimize both, the power consumption and the performance. Games can be considered as the most demanding and power hungry applications on mobile devices. To develop game specific power management algorithms in the past the games' source code has typically been directly instrumented. However, games are usually closed source and thus can not be instrumented. In this work it is shown how the Android OS can be instrumented to trace the games' communication and to provide insight. A low impact tracing tool is developed to trace scheduler, OpenGL and system calls. This tool is extended further to log the tracing data and allow offline evaluation of the data. One possible application of using the tracing tool is to detect different game states. It is shown how a two-step algorithm based on OpenGL and system call information can be used to detect game states like the game main menu, game loading state and in-game playing state. The developed game state detection might be used in future for game state specific power management strategies. For instance, it might be possible to leverage the fact that the game loading state is likely to be memory bound and the in-game state is likely to be GPU bound