Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Skip to content
Commit 9665d919 authored by Jiwen 'Steve' Cai's avatar Jiwen 'Steve' Cai
Browse files

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
parent fabd2f5c
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment