diff options
author | joth@chromium.org <joth@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-05-24 09:42:22 +0000 |
---|---|---|
committer | joth@chromium.org <joth@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-05-24 09:42:22 +0000 |
commit | fd03b658fc331a7504e7e885d3ecaac3a7d9264a (patch) | |
tree | 46f07dbbf1da775cb1af65ccf14b0c07783d5e6a /android_webview/native | |
parent | 502293e1892eca7f1ca53afe1a032e2ad58601c6 (diff) | |
download | chromium_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.cc | 11 | ||||
-rw-r--r-- | android_webview/native/java_browser_view_renderer_helper.h | 3 |
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, |