Chromium Code Reviews
Help | Chromium Project | Gerrit Changes | Sign in
(344)

Issue 18637: More speedup of scrolling when many windowed plugins in a page. Scrolling is... (Closed)

Created:
10 years, 7 months ago by jam
Modified:
8 years, 2 months ago
CC:
chromium-reviews_googlegroups.com
Visibility:
Public.

Description

More speedup of scrolling when many windowed plugins in a page. Scrolling is now at parity with single process browsers in my testing. This works by making painting of child windows asynchronous. The key is to send, not post, the custom message. This allows the redraw message to jump the queue and get dispatched before other queued [Windows, IPC] messages, which eliminates painting artifacts. Now that painting is asynchronous, I had to take out the SWP_NOREDRAW flag to DeferWindowPos. While it's slightly faster without it, the visual aritfacts are noticable. Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=8432

Patch Set 1 #

Patch Set 2 : '' #

Patch Set 3 : 'spell #

Total comments: 4
Unified diffs Side-by-side diffs Delta from patch set Stats (+83 lines, -28 lines) Patch
M chrome/browser/plugin_process_host.cc View 2 chunks +2 lines, -1 line 0 comments Download
M chrome/browser/render_widget_host.cc View 1 chunk +1 line, -4 lines 2 comments Download
M chrome/browser/render_widget_host_view_win.h View 1 chunk +4 lines, -0 lines 0 comments Download
M chrome/browser/render_widget_host_view_win.cc View 3 chunks +40 lines, -22 lines 2 comments Download
M webkit/glue/plugins/plugin_constants_win.h View 1 chunk +13 lines, -0 lines 0 comments Download
M webkit/glue/plugins/webplugin_delegate_impl.cc View 1 2 3 chunks +23 lines, -1 line 0 comments Download

Messages

Total messages: 3 (0 generated)
jam
10 years, 7 months ago (2009-01-21 23:52:47 UTC) #1
darin (slow to review)
exciting stuff. i wouldn't have thought to use SendNotifyMessage. LGTM! http://codereview.chromium.org/18637/diff/215/21 File chrome/browser/render_widget_host.cc (right): http://codereview.chromium.org/18637/diff/215/21#newcode451 ...
10 years, 7 months ago (2009-01-22 00:40:03 UTC) #2
jam
10 years, 7 months ago (2009-01-22 01:03:10 UTC) #3
http://codereview.chromium.org/18637/diff/215/21
File chrome/browser/render_widget_host.cc (right):

http://codereview.chromium.org/18637/diff/215/21#newcode451
Line 451: unsigned long flags = 0;
On 2009/01/22 00:40:03, darin wrote:
> maybe add some comments here about the choice of flags?  at least mention why
> SWP_NOREDRAW is not specified?

I was wondering about whether to add a comment or not, but then I thought no
need to comment on flags that aren't used..  Otherwise, why not comment on
SWP_NOCOPYBITS or SWP_NOSENDCHANGING right?

http://codereview.chromium.org/18637/diff/215/24
File chrome/browser/render_widget_host_view_win.cc (right):

http://codereview.chromium.org/18637/diff/215/24#newcode273
Line 273: // doesn't get queued.  When the plugin thread calls PeakMessage or
other
On 2009/01/22 00:40:03, darin wrote:
> s/PeakMessage/PeekMessage/

Done.

Powered by Google App Engine
This is Rietveld 408576698