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
1.3 KiB
1.3 KiB
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.