diff options
author | iyengar@google.com <iyengar@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-08-14 05:01:07 +0000 |
---|---|---|
committer | iyengar@google.com <iyengar@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-08-14 05:01:07 +0000 |
commit | b7fce1fc73a61f9c14b022facae152fe9671da04 (patch) | |
tree | f34add4e52cd9fe38aa04a7672ed1e465438a7f6 /chrome/browser | |
parent | 26580d20f65dbcb7b5f3c98c16f8eebff1ac61b0 (diff) | |
download | chromium_src-b7fce1fc73a61f9c14b022facae152fe9671da04.zip chromium_src-b7fce1fc73a61f9c14b022facae152fe9671da04.tar.gz chromium_src-b7fce1fc73a61f9c14b022facae152fe9671da04.tar.bz2 |
Removing the code which enables using the renderer dib in the browser backing
store as this hurts performance.
Bug=1314407
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@858 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser')
-rw-r--r-- | chrome/browser/render_widget_host.cc | 45 | ||||
-rw-r--r-- | chrome/browser/render_widget_host.h | 13 |
2 files changed, 1 insertions, 57 deletions
diff --git a/chrome/browser/render_widget_host.cc b/chrome/browser/render_widget_host.cc index 94a8f8f..9fcfdd2 100644 --- a/chrome/browser/render_widget_host.cc +++ b/chrome/browser/render_widget_host.cc @@ -56,7 +56,6 @@ static const int kHungRendererDelayMs = 20000; RenderWidgetHost::BackingStore::BackingStore(const gfx::Size& size) : size_(size), backing_store_dib_(NULL), - renderer_bitmap_section_(NULL), original_bitmap_(NULL) { HDC screen_dc = ::GetDC(NULL); hdc_ = CreateCompatibleDC(screen_dc); @@ -72,11 +71,6 @@ RenderWidgetHost::BackingStore::~BackingStore() { DeleteObject(backing_store_dib_); backing_store_dib_ = NULL; } - - if (renderer_bitmap_section_) { - CloseHandle(renderer_bitmap_section_); - renderer_bitmap_section_ = NULL; - } } bool RenderWidgetHost::BackingStore::Refresh(HANDLE process, @@ -88,14 +82,6 @@ bool RenderWidgetHost::BackingStore::Refresh(HANDLE process, if (!valid_bitmap) return false; - // Disable this optimization to see how it impacts perf. -#if 0 - if (bitmap_rect.size() == size()) { - CreateDIBSectionBackedByRendererBitmap(bitmap_rect, valid_bitmap); - return true; - } -#endif - if (!backing_store_dib_) { backing_store_dib_ = CreateDIB(hdc_, size_.width(), size_.height(), true, NULL); @@ -132,28 +118,6 @@ bool RenderWidgetHost::BackingStore::Refresh(HANDLE process, return true; } -void RenderWidgetHost::BackingStore::CreateDIBSectionBackedByRendererBitmap( - const gfx::Rect& bitmap_rect, HANDLE bitmap_section_from_renderer) { - if (backing_store_dib_ != NULL) { - SelectObject(hdc_, original_bitmap_); - DeleteObject(backing_store_dib_); - backing_store_dib_ = NULL; - } - - if (renderer_bitmap_section_ != NULL) { - CloseHandle(renderer_bitmap_section_); - renderer_bitmap_section_ = NULL; - } - - backing_store_dib_ = CreateDIB(hdc_, bitmap_rect.width(), - bitmap_rect.height(), false, - bitmap_section_from_renderer); - DCHECK(backing_store_dib_ != NULL); - - renderer_bitmap_section_ = bitmap_section_from_renderer; - original_bitmap_ = SelectObject(hdc_, backing_store_dib_); -} - HANDLE RenderWidgetHost::BackingStore::CreateDIB(HDC dc, int width, int height, bool use_system_color_depth, HANDLE section) { @@ -433,15 +397,8 @@ void RenderWidgetHost::OnMsgPaintRect( PaintRect(params.bitmap, params.bitmap_rect, params.view_size); - bool using_renderer_bitmap_section = false; - BackingStore* backing_store = BackingStoreManager::Lookup(this); - if (backing_store) { - using_renderer_bitmap_section = - backing_store->using_renderer_bitmap_section(); - } - // ACK early so we can prefetch the next PaintRect if there is a next one. - Send(new ViewMsg_PaintRect_ACK(routing_id_, using_renderer_bitmap_section)); + Send(new ViewMsg_PaintRect_ACK(routing_id_)); // TODO(darin): This should really be done by the view_! MovePluginWindows(params.plugin_window_moves); diff --git a/chrome/browser/render_widget_host.h b/chrome/browser/render_widget_host.h index 054959d..ceefea1 100644 --- a/chrome/browser/render_widget_host.h +++ b/chrome/browser/render_widget_host.h @@ -352,16 +352,7 @@ class RenderWidgetHost::BackingStore { bool Refresh(HANDLE process, HANDLE bitmap_section, const gfx::Rect& bitmap_rect); - bool using_renderer_bitmap_section() const { - return renderer_bitmap_section_ != NULL; - } - private: - // Creates the backing store DIB backed by the renderer bitmap - // shared section. - void CreateDIBSectionBackedByRendererBitmap( - const gfx::Rect& bitmap_rect, HANDLE bitmap_section_from_renderer); - // Creates a dib conforming to the height/width/section parameters passed // in. The use_os_color_depth parameter controls whether we use the color // depth to create an appropriate dib or not. @@ -372,10 +363,6 @@ class RenderWidgetHost::BackingStore { HDC hdc_; // The size of the backing store. gfx::Size size_; - // Handle to the renderer bitmap section, valid in the browser address - // space. This is set if the backing store dib is backed by the renderer - // bitmap section. - HANDLE renderer_bitmap_section_; // Handle to the backing store dib. HANDLE backing_store_dib_; // Handle to the original bitmap in the dc. |