Thanks Mike,
   Others can correct me if I'm wrong, but we do indeed call Layout on the
webwidget (which will do the recursive layout of all frames, from the
main_frame() down through its children) before actually painting from
within RenderWidget::DoDeferredPaint().

   And about the list of individual paint rects as opposed to the union
rect, I think our multi-process architecture wouldn't like that too much...
Sending a series of individual IPCs for each bitmap rect would most probably
be overkill...

   An alternative could be to send a bitmap the size of the union rect, but
only paint the individual rects in it, and extract them individually on the
other side of the IPC... But I wonder if it would be worth the added
complexity and risk... Unless I missed something (which is most probably the
case :-)...

   Any other opinions on this?

Thanks again!

BYE
MAD

On Wed, Apr 29, 2009 at 4:30 PM, Mike Pinkerton <pinker...@chromium.org>wrote:

> On Wed, Apr 29, 2009 at 3:39 PM, Marc-Andre Decoste <m...@chromium.org>
> wrote:
> > So I thought some people on this list might have some more hints to help
> me
> > pinpoint the culprit quicker...
> > Until then, I keep digging...
>
> I'm pretty sure you've seen these, but from my discussions with Hyatt
> on the Mac side, I'm pasting the things he told me to watch for:
>
> "Your repaint code really should not just be doing a union.  That's
> going to hurt your performance on DHTML and stuff.
> Both Windows (HWNDs) and Mac (NSViews) will build up a region when you
> do invalidates.  When you draw you can then grab individual decomposed
> rects from the overall region or use the unioned bounding box.
> Look at WebHTMLView and how it has a drawRect and drawSingleRect methods."
>
> Though from talking to Darin a bit (our Darin), he was against
> decomposing the rects since there was no obvious win given the async
> nature of our repainting. I still think there's something here, but I
> don't know enough about our layout and how we differ (purposely) from
> WebKit to argue one way or the other.
>
> "Make sure that your paint method is actually doing the recursive
> layout of all frames before actually painting so that (a) your layout
> info is up to date and (b) any additional rects added by the layouts
> can become part of that current paint.  You'll probably want to study
> the Windows WebView for this."
>
> Again, I'm ignorant of what we do here, though I'm pretty sure we
> already do this.
>
> Hope that helps.
>
> --
> Mike Pinkerton
> Mac Weenie
> pinker...@google.com
>

--~--~---------~--~----~------------~-------~--~----~
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
    http://groups.google.com/group/chromium-dev
-~----------~----~----~----~------~----~------~--~---

Reply via email to