diff options
| -rw-r--r-- | core/java/android/webkit/DebugFlags.java | 7 | ||||
| -rw-r--r-- | core/java/android/webkit/WebViewClassic.java | 16 | ||||
| -rw-r--r-- | core/java/android/webkit/WebViewCore.java | 1 |
3 files changed, 15 insertions, 9 deletions
diff --git a/core/java/android/webkit/DebugFlags.java b/core/java/android/webkit/DebugFlags.java index a21d3ee..349113e 100644 --- a/core/java/android/webkit/DebugFlags.java +++ b/core/java/android/webkit/DebugFlags.java @@ -42,12 +42,7 @@ class DebugFlags { public static final boolean WEB_BACK_FORWARD_LIST = false; public static final boolean WEB_SETTINGS = false; public static final boolean WEB_SYNC_MANAGER = false; - public static final boolean WEB_TEXT_VIEW = false; public static final boolean WEB_VIEW = false; public static final boolean WEB_VIEW_CORE = false; - /* - * Set to true to allow the WebTextView to draw on top of the web page in a - * different color with no background so you can see how the two line up. - */ - public static final boolean DRAW_WEBTEXTVIEW = false; + public static final boolean MEASURE_PAGE_SWAP_FPS = false; } diff --git a/core/java/android/webkit/WebViewClassic.java b/core/java/android/webkit/WebViewClassic.java index ad644e4..5ae2fe0 100644 --- a/core/java/android/webkit/WebViewClassic.java +++ b/core/java/android/webkit/WebViewClassic.java @@ -4717,10 +4717,10 @@ public final class WebViewClassic implements WebViewProvider, WebViewProvider.Sc queueFull = nativeSetBaseLayer(mNativeClass, layer, invalRegion, showVisualIndicator, isPictureAfterFirstLayout); - if (layer == 0 || isPictureAfterFirstLayout) { - mWebViewCore.resumeWebKitDraw(); - } else if (queueFull) { + if (queueFull) { mWebViewCore.pauseWebKitDraw(); + } else { + mWebViewCore.resumeWebKitDraw(); } if (mHTML5VideoViewProxy != null) { @@ -8615,9 +8615,19 @@ public final class WebViewClassic implements WebViewProvider, WebViewProvider.Sc void onPageSwapOccurred(boolean notifyAnimationStarted); } + long mLastSwapTime; + double mAverageSwapFps; + /** Called by JNI when pages are swapped (only occurs with hardware * acceleration) */ protected void pageSwapCallback(boolean notifyAnimationStarted) { + if (DebugFlags.MEASURE_PAGE_SWAP_FPS) { + long now = System.currentTimeMillis(); + long diff = now - mLastSwapTime; + mAverageSwapFps = ((1000.0 / diff) + mAverageSwapFps) / 2; + Log.d(LOGTAG, "page swap fps: " + mAverageSwapFps); + mLastSwapTime = now; + } mWebViewCore.resumeWebKitDraw(); if (notifyAnimationStarted) { mWebViewCore.sendMessage(EventHub.NOTIFY_ANIMATION_STARTED); diff --git a/core/java/android/webkit/WebViewCore.java b/core/java/android/webkit/WebViewCore.java index b47f71d..afb2992 100644 --- a/core/java/android/webkit/WebViewCore.java +++ b/core/java/android/webkit/WebViewCore.java @@ -2271,6 +2271,7 @@ public final class WebViewCore { mFirstLayoutForNonStandardLoad = false; } if (DebugFlags.WEB_VIEW_CORE) Log.v(LOGTAG, "webkitDraw NEW_PICTURE_MSG_ID"); + pauseWebKitDraw(); Message.obtain(mWebViewClassic.mPrivateHandler, WebViewClassic.NEW_PICTURE_MSG_ID, draw).sendToTarget(); } |
