| ## IMF performance tests | |
| These tests are adaptation of Window Manager perf tests (apct-tests/perftests/windowmanager). | |
| ### Precondition | |
| To reduce the variance of the test, if `perf-setup` (platform_testing/scripts/perf-setup) | |
| is available, it is better to use the following instructions to lock CPU and GPU frequencies. | |
| ``` | |
| m perf-setup | |
| PERF_SETUP_PATH=/data/local/tmp/perf-setup.sh | |
| adb push $OUT/$PERF_SETUP_PATH $PERF_SETUP_PATH | |
| adb shell chmod +x $PERF_SETUP_PATH | |
| adb shell $PERF_SETUP_PATH | |
| ``` | |
| ### Example to run | |
| Use `atest` | |
| ``` | |
| atest ImePerfTests:ImePerfTest -- \ | |
| --module-arg ImePerfTests:instrumentation-arg:profiling-iterations:=20 | |
| ``` | |
| Note: `instrumentation-arg:kill-bg:=true` is already defined in the AndroidText.xml | |
| Use `am instrument` | |
| ``` | |
| adb shell am instrument -w -r -e class android.inputmethod.ImePerfTest \ | |
| -e listener android.inputmethod.ImePerfRunPrecondition \ | |
| -e kill-bg true \ | |
| com.android.perftests.inputmethod/androidx.test.runner.AndroidJUnitRunner | |
| ``` | |
| * `kill-bg` is optional. | |
| Test arguments | |
| - kill-bg | |
| * boolean: Kill background process before running test. | |
| - profiling-iterations | |
| * int: Run the extra iterations with enabling method profiling. | |
| - profiling-sampling | |
| * int: The interval (0=trace each method, default is 10) of sample profiling in microseconds. |