Stay organized with collections
Save and categorize content based on your preferences.
Released: Android 11 (API level 30)
Android devices can change clocking dynamically based on the system load. This
behavior is good for power savings during use, but can make it difficult to get
reliable performance data. If you are trying to determine how fast a code
fragment can run for regression prevention, or if an optimization is repeatable,
your results won't be reliable if they aren't tested at fixed clock speeds. With
fixed clocks, you can do accurate A/B testing of performance without changes in
the CPU frequency being a factor.
Fixed-performance mode sets CPU and GPU clocks with an upper and lower bound.
This mode does not disable other dynamic performance behaviors, such as core
selection.
You can enable fixed-performance mode with the following adb command:
A device that is running in fixed-performance mode can still overheat because
the mode doesn't put the device into a thermally-sustainable state. Because of
this, we recommend the following for benchmark runs:
Wait for the device to return to a thermally-sustainable state before starting
the run.
Monitor the thermal state of the device during testing to differentiate the
impact between the benchmark code and thermal events.
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 2024-02-28 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 2024-02-28 UTC."],[],[],null,["# Fixed Performance Mode\n\n**Released**: Android 11 (API level 30)\n\nAndroid devices can change clocking dynamically based on the system load. This\nbehavior is good for power savings during use, but can make it difficult to get\nreliable performance data. If you are trying to determine how fast a code\nfragment can run for regression prevention, or if an optimization is repeatable,\nyour results won't be reliable if they aren't tested at fixed clock speeds. With\nfixed clocks, you can do accurate A/B testing of performance without changes in\nthe CPU frequency being a factor.\n\nFixed-performance mode sets CPU and GPU clocks with an upper and lower bound.\nThis mode does not disable other dynamic performance behaviors, such as core\nselection.\n\nYou can enable fixed-performance mode with the following adb command: \n\n adb shell cmd power set-fixed-performance-mode-enabled [true|false]\n\nA device that is running in fixed-performance mode can still overheat because\nthe mode doesn't put the device into a thermally-sustainable state. Because of\nthis, we recommend the following for benchmark runs:\n\n- Wait for the device to return to a thermally-sustainable state before starting the run.\n- Monitor the thermal state of the device during testing to differentiate the impact between the benchmark code and thermal events."]]