OSDN Git Service

SurfaceFlinger: disable VSync thread if no clients requiring.
authorWang, Yue A <yue.a.wang@intel.com>
Tue, 21 Jan 2014 09:42:13 +0000 (17:42 +0800)
committerChih-Wei Huang <cwhuang@linux.org.tw>
Thu, 14 Nov 2019 04:49:34 +0000 (12:49 +0800)
commit523d715b5ef041a5a6928afc6f93fda053f74e06
treedbecc0800bc6b60fa8d0585c04a74398c1cb7d11
parent0c7e9cda2b73bffa1b3fb623be1683d9801292fd
SurfaceFlinger: disable VSync thread if no clients requiring.

In EventThread, 2 VSYNCs are needed to do composition and update
the client status. So, a 30FPS video may leads to 60FPS VSYNC,
which means the DispSync thread would be waked 60FPS. This is a
unexpected behavior which takes more power consumption. Now we
update the SF status soon after the first VSYNC, which means no
extra VSYNC needed, and the DispSync could be awaked as expected,
and consequently power get saved.

Change-Id: If486eb9b87f109a71f71b510768f15dd733f1233
Orig-Change-Id: I1d3b166021e15a81b2ad770b039761fc2c15fddf
Tracked-On: https://jira01.devtools.intel.com/browse/IMINAN-12211
Category: aosp improvement
Domain: Graphics-SF
Origin: internal
Upstream-Candidate: yes
Signed-off-by: Wang, Yue A <yue.a.wang@intel.com>
Reviewed-on: https://android.intel.com:443/238344
services/surfaceflinger/EventThread.cpp