bf33706655
Measure latency caused by IMF for IME operations like show / hide. This CL uses apct tests for integration with Crystallball to measure overall latency and breakdown of critical IMF methods. In this CL we introduce a BaselineIme with minimal UI to measure user-preceived delays in IME show/hide. Refer to design doc in bug. Bug: 167947940 Test: atest ImePerfTests and also refer to README.md Change-Id: I8efff52fe25952d452aef7f059400c63d1a9fa4a
41 lines
1.3 KiB
Markdown
41 lines
1.3 KiB
Markdown
## 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.
|