Measure MojoCompositorFrameSink performance for ARC++ |
|||||||
Issue descriptionMeasure the performance of using MojoCompositorFrameSink in Cash for ARC++. The MojoCompositorFrameSink uses mojo IPC to take with ui::Compositor instead of direct function call.
,
Jun 2 2017
I implemented CL[1]. It can submit composit frame with or without Mojo IPC. With it, I got the performance data from GFXBench on minnie. I found out only test the ALU 2 & Texturing have performance regression. Results of other tests are almost same. See attachment for detail. Anyone has idea what are ALU2 & Texturing? And why only those two have performance regression? [1] https://chromium-review.googlesource.com/c/522782/1/ui/aura/local/window_port_local.cc#118
,
Jun 2 2017
,
Jun 2 2017
+anicolao@ Thank you for looking into this Peng! :-)
,
Jun 2 2017
It would be good to know what parts of the code are contributing to the regression with mojo. Maybe the sampling profiler could provide some insight?
,
Jun 2 2017
I tried doing mojo message serializing and deserializing in CompositorFrameSinkLocal::SubmitCompositorFrame()(see [1]). And I found out the mojo serializing and deserializing only contribute about 10 points of the regression. 1282 vs 1270 vs 1107. (Direct Function Call vs DFC + Serializing vs Mojo IPC) [1] https://chromium-review.googlesource.com/c/522782/3/ui/aura/local/compositor_frame_sink_local.cc#117
,
Jun 13 2017
Do we have a bug to track understanding and mitigating this regression?
,
Jun 19 2017
I just implemented one CFS per ARC++ window with CL[1]. Everything works fine. I measured the ARC++ performance again. Numbers are in the [2]. There is small regressions in Driver overhead 2 testes comparing to current implementation. For one CFS with mojo IPC, the result is similar to the current implementation with Mojo IPC. [1] https://chromium-review.googlesource.com/c/527475/ [2] https://docs.google.com/spreadsheets/d/1FO1E1iW9yXDHquRzR35nas-xLWL40xXXAgeJ5Fk4ToQ/edit#gid=0
,
Jun 19 2017
It's hard to evaluate these numbers without understanding where the cost comes from. Can you record some traces that highlight the difference?
,
Jun 20 2017
,
Sep 20 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/059a6f74910c4fe167d1559b49db3158ef58cd5d commit 059a6f74910c4fe167d1559b49db3158ef58cd5d Author: Peng Huang <penghuang@google.com> Date: Wed Sep 20 00:31:11 2017 exo: Implement exo performance test Bug: 729028 Change-Id: Ibda083042d68a681cffd8eacb0494221b8c6a5be Reviewed-on: https://chromium-review.googlesource.com/653037 Reviewed-by: Scott Violet <sky@chromium.org> Reviewed-by: David Reveman <reveman@chromium.org> Commit-Queue: Peng Huang <penghuang@chromium.org> Cr-Commit-Position: refs/heads/master@{#503005} [modify] https://crrev.com/059a6f74910c4fe167d1559b49db3158ef58cd5d/components/exo/wayland/BUILD.gn [add] https://crrev.com/059a6f74910c4fe167d1559b49db3158ef58cd5d/components/exo/wayland/clients/perftests.cc [modify] https://crrev.com/059a6f74910c4fe167d1559b49db3158ef58cd5d/components/exo/wayland/clients/simple.cc [add] https://crrev.com/059a6f74910c4fe167d1559b49db3158ef58cd5d/components/exo/wayland/clients/simple.h [add] https://crrev.com/059a6f74910c4fe167d1559b49db3158ef58cd5d/components/exo/wayland/clients/simple_main.cc [add] https://crrev.com/059a6f74910c4fe167d1559b49db3158ef58cd5d/components/exo/wayland/clients/test/DEPS [add] https://crrev.com/059a6f74910c4fe167d1559b49db3158ef58cd5d/components/exo/wayland/clients/test/run_all_client_perftests.cc [add] https://crrev.com/059a6f74910c4fe167d1559b49db3158ef58cd5d/components/exo/wayland/clients/test/wayland_client_test.cc [add] https://crrev.com/059a6f74910c4fe167d1559b49db3158ef58cd5d/components/exo/wayland/clients/test/wayland_client_test.h
,
Sep 21 2017
,
Jan 8 2018
,
Feb 26 2018
,
Aug 14
|
|||||||
►
Sign in to add a comment |
|||||||
Comment 1 by varkha@chromium.org
, Jun 2 2017Labels: OS-Chrome