blob: 0dec70f3cf189f07d3731b98b6ea033e6206ca1e [file] [log] [blame] [view]
Alexus Allen1177f3c2022-07-07 00:23:16 +00001## SurfaceFlinger performance tests
2
3### Precondition
4To reduce the variance of the test, if `perf-setup.sh` (platform_testing/scripts/perf-setup)
5is available, it is better to use the following instructions to lock CPU and GPU frequencies.
6```
7m perf-setup
8PERF_SETUP_PATH=/data/local/tmp/perf-setup.sh
9adb push $OUT/$PERF_SETUP_PATH $PERF_SETUP_PATH
10adb shell chmod +x $PERF_SETUP_PATH
11adb shell $PERF_SETUP_PATH
12```
13
14### Example to run
15Use `atest`
16```
17atest SurfaceFlingerPerfTests:SurfaceFlingerPerfTest -- \
18 --module-arg SurfaceFlingerPerfTests:instrumentation-arg:kill-bg:=true
19```
20Use `am instrument`
21```
22adb shell am instrument -w -r -e class android.surfaceflinger.SurfaceFlingerPerfTest \
23 -e kill-bg true \
24 com.android.perftests.surfaceflinger/androidx.test.runner.AndroidJUnitRunner
25```
26* `kill-bg` is optional.
27
28Test arguments
29- kill-bg
30 * boolean: Kill background process before running test.
31- profiling-iterations
32 * int: Run the extra iterations with enabling method profiling.
33- profiling-sampling
34 * int: The interval (0=trace each method, default is 10) of sample profiling in microseconds.