sf-latency: Write a benchmark for RenderEngine
Bug: 193240340 Test: mmma -j frameworks/native/libs/renderengine/bench/ && adb push out/.../librenderengine_bench /data/.../librenderengine_bench && adb shell /data/.../librenderengine_bench Write a benchmark using Google-Benchmark to track the performance of RenderEngine. RenderEngineBench.cpp: - Contains the benchmarks to run. - Write a helper function that times calls to RenderEngine::drawLayers. - Write a single benchmark that times drawing a mock homescreen plus a blur layer, using a blur radius used in practice. Decode the homescreen into a buffer with CPU support, and then copy it to one without, which better represents actual use. - Use RenderEngineType to determine which subclass to benchmark. The only existing benchmark uses SKIA_GL, since we intend to time just drawLayers, but future benchmarks will want to time threading aspects with SKIA_GL_THREADED, and we may add more RenderEngineTypes in the future. Codec.cpp: - Write methods for decoding and encoding a buffer. Flags.cpp: - Extra flags that can be passed to the executable. - --save allows encoding the result to a file to verify it looks as intended. - parse --help to describe --save and any future flags specific to RenderEngineBench. RenderEngineBench.h: - header file for methods used across cpp files. Use a single common header since otherwise we would have several small headers. homescreen.png: - Mock homescreen to draw in drawLayers Change-Id: I81a1a8a30a1c20985bbf066d2ba4d5f1fd1f6dc3
Loading
Please register or sign in to comment