Add buffer transport benchmark
1/ This benchmark supports both Binder-based BufferQueue and PDX-based BufferHub. 2/ On the producer side, it uses the same ANativeWindow API to gain buffer and post buffer for both backends. 3/ It supports multiple concurrent producer threads to minic buffers comming from different applications. 4/ For Binder backend, we use a dedicated process to run a Binder service, which acquires and releases buffers via BufferItemConsumer. 5/ For BufferHub backend, we use a SchedFIFO thread to epoll on multiple BufferHub ConsumerQueue(s). 6/ Four operations are traced via "ATRACE_TAG_ALWAYS" tag: GainBuffer, PostBuffer, AcquireBuffer, ReleaseBuffer. We use ATRACE_TAG_ALWAYS tag so that user can disable all other trace tags (i.e. gfx, video) to only trace events from this benchmark without being impacted by the systrace overhead. But note that the systrace is only enabled if specifying "--trace" in the commandline. Bug: 66921451 Test: buffer_transport_benchmark Change-Id: I8d1b70364e504c48658624caf4d0508a9508e3b0
Loading
Please register or sign in to comment