Alexus Allen | 1177f3c | 2022-07-07 00:23:16 +0000 | [diff] [blame] | 1 | ## SurfaceFlinger performance tests |
| 2 | |
| 3 | ### Precondition |
| 4 | To reduce the variance of the test, if `perf-setup.sh` (platform_testing/scripts/perf-setup) |
| 5 | is available, it is better to use the following instructions to lock CPU and GPU frequencies. |
| 6 | ``` |
| 7 | m perf-setup |
| 8 | PERF_SETUP_PATH=/data/local/tmp/perf-setup.sh |
| 9 | adb push $OUT/$PERF_SETUP_PATH $PERF_SETUP_PATH |
| 10 | adb shell chmod +x $PERF_SETUP_PATH |
| 11 | adb shell $PERF_SETUP_PATH |
| 12 | ``` |
| 13 | |
| 14 | ### Example to run |
| 15 | Use `atest` |
| 16 | ``` |
| 17 | atest SurfaceFlingerPerfTests:SurfaceFlingerPerfTest -- \ |
| 18 | --module-arg SurfaceFlingerPerfTests:instrumentation-arg:kill-bg:=true |
| 19 | ``` |
| 20 | Use `am instrument` |
| 21 | ``` |
| 22 | adb 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 | |
| 28 | Test 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. |