summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Romain Guy <romainguy@google.com> 2011-03-04 17:10:54 -0800
committer Romain Guy <romainguy@google.com> 2011-03-04 17:10:54 -0800
commitd6cf477e5d6245a63f71958b75c3d658cd6c100e (patch)
tree2c8429aa1173efdb53edb3f3cdcf874dc4b2788c
parent6c8d76527c938eb49182a6fd0677ccbc1618e7a8 (diff)
Remove many unnecessary save/restore calls.
This should help complex applications by reducing the amount of unnecessary work performed by the renderer. Change-Id: I9bdebb1a35cdbcc3d926b7485f19d9e88a019040
-rw-r--r--core/java/android/view/GLES20DisplayList.java7
-rw-r--r--core/java/android/view/View.java6
-rw-r--r--core/java/android/webkit/WebView.java2
3 files changed, 1 insertions, 14 deletions
diff --git a/core/java/android/view/GLES20DisplayList.java b/core/java/android/view/GLES20DisplayList.java
index 262eb813bf41..aeff31f8a193 100644
--- a/core/java/android/view/GLES20DisplayList.java
+++ b/core/java/android/view/GLES20DisplayList.java
@@ -40,13 +40,6 @@ class GLES20DisplayList extends DisplayList {
hostView = new WeakReference<View>(view);
}
- public void invalidateView() {
- View v = hostView.get();
- if (v != null) {
- v.invalidate();
- }
- }
-
@Override
HardwareCanvas start() {
if (mStarted) {
diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java
index 32c9e27048d5..fa24d307a866 100644
--- a/core/java/android/view/View.java
+++ b/core/java/android/view/View.java
@@ -8563,8 +8563,6 @@ public class View implements Drawable.Callback, KeyEvent.Callback, Accessibility
canvas.onPreDraw(mLocalDirtyRect);
mLocalDirtyRect.setEmpty();
- final int restoreCount = canvas.save();
-
computeScroll();
canvas.translate(-mScrollX, -mScrollY);
@@ -8578,7 +8576,6 @@ public class View implements Drawable.Callback, KeyEvent.Callback, Accessibility
draw(canvas);
}
- canvas.restoreToCount(restoreCount);
} finally {
canvas.onPostDraw();
mHardwareLayer.end(currentCanvas);
@@ -8728,8 +8725,6 @@ public class View implements Drawable.Callback, KeyEvent.Callback, Accessibility
// The dirty rect should always be null for a display list
canvas.onPreDraw(null);
- final int restoreCount = canvas.save();
-
computeScroll();
canvas.translate(-mScrollX, -mScrollY);
mPrivateFlags |= DRAWN | DRAWING_CACHE_VALID;
@@ -8742,7 +8737,6 @@ public class View implements Drawable.Callback, KeyEvent.Callback, Accessibility
draw(canvas);
}
- canvas.restoreToCount(restoreCount);
} finally {
canvas.onPostDraw();
diff --git a/core/java/android/webkit/WebView.java b/core/java/android/webkit/WebView.java
index 975f81570964..2588e9b41c10 100644
--- a/core/java/android/webkit/WebView.java
+++ b/core/java/android/webkit/WebView.java
@@ -4098,7 +4098,7 @@ public class WebView extends AbsoluteLayout
}
if (animateZoom) {
mZoomManager.animateZoom(canvas);
- } else {
+ } else if (!canvas.isHardwareAccelerated()) {
canvas.scale(mZoomManager.getScale(), mZoomManager.getScale());
}