summaryrefslogtreecommitdiffstats
path: root/android_webview/native
diff options
context:
space:
mode:
authorjoth@chromium.org <joth@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-05-24 09:42:22 +0000
committerjoth@chromium.org <joth@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-05-24 09:42:22 +0000
commitfd03b658fc331a7504e7e885d3ecaac3a7d9264a (patch)
tree46f07dbbf1da775cb1af65ccf14b0c07783d5e6a /android_webview/native
parent502293e1892eca7f1ca53afe1a032e2ad58601c6 (diff)
downloadchromium_src-fd03b658fc331a7504e7e885d3ecaac3a7d9264a.zip
chromium_src-fd03b658fc331a7504e7e885d3ecaac3a7d9264a.tar.gz
chromium_src-fd03b658fc331a7504e7e885d3ecaac3a7d9264a.tar.bz2
Cache auxiliary bitmap across draw frames
While this mode isn't intended to be used in anger, the slow down caused by reallocating the temp bitmap every frame is very high even for a development configuration. Also add a bunch of useful tracing. BUG= Review URL: https://chromiumcodereview.appspot.com/15795002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@202035 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'android_webview/native')
-rw-r--r--android_webview/native/java_browser_view_renderer_helper.cc11
-rw-r--r--android_webview/native/java_browser_view_renderer_helper.h3
2 files changed, 11 insertions, 3 deletions
diff --git a/android_webview/native/java_browser_view_renderer_helper.cc b/android_webview/native/java_browser_view_renderer_helper.cc
index b2cf4e9..21ec095 100644
--- a/android_webview/native/java_browser_view_renderer_helper.cc
+++ b/android_webview/native/java_browser_view_renderer_helper.cc
@@ -4,6 +4,7 @@
#include "android_webview/native/java_browser_view_renderer_helper.h"
+#include "base/debug/trace_event.h"
#include "jni/JavaBrowserViewRendererHelper_jni.h"
using base::android::JavaRef;
@@ -20,15 +21,20 @@ JavaBrowserViewRendererHelper::~JavaBrowserViewRendererHelper() {
ScopedJavaLocalRef<jobject> JavaBrowserViewRendererHelper::CreateBitmap(
JNIEnv* env,
int width,
- int height) {
+ int height,
+ bool cache_result) {
+ TRACE_EVENT1("android_webview", "RendererHelper::CreateBitmap",
+ "cache_result", cache_result);
return width <= 0 || height <= 0 ? ScopedJavaLocalRef<jobject>() :
- Java_JavaBrowserViewRendererHelper_createBitmap(env, width, height);
+ Java_JavaBrowserViewRendererHelper_createBitmap(env, width, height,
+ cache_result);
}
void JavaBrowserViewRendererHelper::DrawBitmapIntoCanvas(
JNIEnv* env,
const JavaRef<jobject>& jbitmap,
const JavaRef<jobject>& jcanvas) {
+ TRACE_EVENT0("android_webview", "RendererHelper::DrawBitmapIntoCanvas");
Java_JavaBrowserViewRendererHelper_drawBitmapIntoCanvas(
env, jbitmap.obj(), jcanvas.obj());
}
@@ -37,6 +43,7 @@ ScopedJavaLocalRef<jobject>
JavaBrowserViewRendererHelper::RecordBitmapIntoPicture(
JNIEnv* env,
const JavaRef<jobject>& jbitmap) {
+ TRACE_EVENT0("android_webview", "RendererHelper::RecordBitmapIntoPicture");
return Java_JavaBrowserViewRendererHelper_recordBitmapIntoPicture(
env, jbitmap.obj());
}
diff --git a/android_webview/native/java_browser_view_renderer_helper.h b/android_webview/native/java_browser_view_renderer_helper.h
index d29be80..97fd0c9 100644
--- a/android_webview/native/java_browser_view_renderer_helper.h
+++ b/android_webview/native/java_browser_view_renderer_helper.h
@@ -22,7 +22,8 @@ class JavaBrowserViewRendererHelper : public BrowserViewRenderer::JavaHelper {
virtual base::android::ScopedJavaLocalRef<jobject> CreateBitmap(
JNIEnv* env,
int width,
- int height) OVERRIDE;
+ int height,
+ bool cache_result) OVERRIDE;
virtual void DrawBitmapIntoCanvas(
JNIEnv* env,
const base::android::JavaRef<jobject>& jbitmap,