diff options
author | egor.starkov@samsung.com <egor.starkov@samsung.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-06-26 13:38:23 +0000 |
---|---|---|
committer | egor.starkov@samsung.com <egor.starkov@samsung.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-06-26 13:38:23 +0000 |
commit | ab76b14b6e3f2e5bb7e9f39ab42eb0edfc42a10f (patch) | |
tree | 811b9f3e4fe24e6af36378fc20b40745881085f1 /ui/android | |
parent | 994fdb25b2ee6a4eaa32b98ca376d68c649f2fd0 (diff) | |
download | chromium_src-ab76b14b6e3f2e5bb7e9f39ab42eb0edfc42a10f.zip chromium_src-ab76b14b6e3f2e5bb7e9f39ab42eb0edfc42a10f.tar.gz chromium_src-ab76b14b6e3f2e5bb7e9f39ab42eb0edfc42a10f.tar.bz2 |
Remove burst mode from VSyncMonitor.
Extra vsyncs after each rendering cause 1% more power consumption.
NOTRY=true
Review URL: https://codereview.chromium.org/346813002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@279997 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ui/android')
-rw-r--r-- | ui/android/java/src/org/chromium/ui/VSyncMonitor.java | 13 |
1 files changed, 0 insertions, 13 deletions
diff --git a/ui/android/java/src/org/chromium/ui/VSyncMonitor.java b/ui/android/java/src/org/chromium/ui/VSyncMonitor.java index 5805585..935df01 100644 --- a/ui/android/java/src/org/chromium/ui/VSyncMonitor.java +++ b/ui/android/java/src/org/chromium/ui/VSyncMonitor.java @@ -15,9 +15,6 @@ import org.chromium.base.TraceEvent; /** * Notifies clients of the default displays's vertical sync pulses. - * This class works in "burst" mode: once the update is requested, the listener will be - * called MAX_VSYNC_COUNT times on the vertical sync pulses (on JB) or on every refresh - * period (on ICS, see below), unless stop() is called. * On ICS, VSyncMonitor relies on setVSyncPointForICS() being called to set a reasonable * approximation of a vertical sync starting point; see also http://crbug.com/156397. */ @@ -26,7 +23,6 @@ public class VSyncMonitor { private static final long NANOSECONDS_PER_SECOND = 1000000000; private static final long NANOSECONDS_PER_MILLISECOND = 1000000; private static final long NANOSECONDS_PER_MICROSECOND = 1000; - public static final int MAX_AUTO_ONVSYNC_COUNT = 5; /** * VSync listener class @@ -46,7 +42,6 @@ public class VSyncMonitor { private final long mRefreshPeriodNano; private boolean mHaveRequestInFlight; - private int mTriggerNextVSyncCount; // Choreographer is used to detect vsync on >= JB. private final Choreographer mChoreographer; @@ -84,7 +79,6 @@ public class VSyncMonitor { .getDefaultDisplay().getRefreshRate(); if (refreshRate <= 0) refreshRate = 60; mRefreshPeriodNano = (long) (NANOSECONDS_PER_SECOND / refreshRate); - mTriggerNextVSyncCount = 0; if (enableJBVSync && Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) { // Use Choreographer on JB+ to get notified of vsync. @@ -145,16 +139,13 @@ public class VSyncMonitor { * after this function is called. */ public void stop() { - mTriggerNextVSyncCount = 0; } /** * Request to be notified of the closest display vsync events. * Listener.onVSync() will be called soon after the upcoming vsync pulses. - * It will be called at most MAX_AUTO_ONVSYNC_COUNT times unless requestUpdate() is called. */ public void requestUpdate() { - mTriggerNextVSyncCount = MAX_AUTO_ONVSYNC_COUNT; postCallback(); } @@ -174,10 +165,6 @@ public class VSyncMonitor { assert mHaveRequestInFlight; mHaveRequestInFlight = false; mLastVSyncCpuTimeNano = currentTimeNanos; - if (mTriggerNextVSyncCount >= 0) { - mTriggerNextVSyncCount--; - postCallback(); - } if (mListener != null) { mListener.onVSync(this, frameTimeNanos / NANOSECONDS_PER_MICROSECOND); } |