summaryrefslogtreecommitdiffstats
path: root/WebCore
diff options
context:
space:
mode:
authorNicolas Roard <nicolas@android.com>2011-02-18 15:54:32 -0800
committerBart Sears <bsears@google.com>2011-02-18 19:51:35 -0800
commit6f7a546a8676227fcd810149bce26090ab1e49eb (patch)
tree15c1faccc5651827493731408ab6ab7b1026b08a /WebCore
parentb1f94474f57c247527261dbb10de63b7a4285d60 (diff)
downloadexternal_webkit-6f7a546a8676227fcd810149bce26090ab1e49eb.zip
external_webkit-6f7a546a8676227fcd810149bce26090ab1e49eb.tar.gz
external_webkit-6f7a546a8676227fcd810149bce26090ab1e49eb.tar.bz2
Do not merge: Cherry-pick Flash performance CL from Master
Bug: 3471589 Fix some of the performance issues when using the flash plugin embedded. What happened was that MediaLayer was always telling us to repaint the screen; we could repaint the same frame a dozen of times unecessarily. This in itself was wasteful but should have been ok, but the stream of commands plus the compositing caused the GPU commands used by flash to stall until they were executed... The compounded impact drasticaly lowered the performances. This is not a full fix as those conditions (us repainting the screen a lot) happens anyway when zooming or scrolling; but this should improve performances in the general case. Change-Id: I79a75c759fd5968cb822616eba0caa8c77e75835
Diffstat (limited to 'WebCore')
-rw-r--r--WebCore/platform/graphics/android/MediaLayer.cpp7
1 files changed, 1 insertions, 6 deletions
diff --git a/WebCore/platform/graphics/android/MediaLayer.cpp b/WebCore/platform/graphics/android/MediaLayer.cpp
index ad4fc76..d8bbefc 100644
--- a/WebCore/platform/graphics/android/MediaLayer.cpp
+++ b/WebCore/platform/graphics/android/MediaLayer.cpp
@@ -78,8 +78,6 @@ bool MediaLayer::drawGL(SkMatrix& matrix)
// draw any video content if present
m_videoTexture->drawVideo(drawTransform());
- bool needsInval = true;
-
// draw the primary content
if (m_bufferedTexture) {
TextureInfo* textureInfo = m_bufferedTexture->consumerLock();
@@ -103,14 +101,11 @@ bool MediaLayer::drawGL(SkMatrix& matrix)
textureInfo->m_textureId,
1.0f, forceBlending);
}
-
- if (!rect.isEmpty())
- needsInval = false;
}
m_bufferedTexture->consumerRelease();
}
- return drawChildrenGL(matrix) || needsInval;
+ return drawChildrenGL(matrix);
}
ANativeWindow* MediaLayer::acquireNativeWindowForVideo()