Bug 44699 - [Gtk] Reduce the size of the shadow buffer in the paths using the clip region
: [Gtk] Reduce the size of the shadow buffer in the paths using the clip region
Status: RESOLVED FIXED
: WebKit
WebKit Gtk
: 528+ (Nightly build)
: PC Linux
: P2 Normal
Assigned To:
:
:
:
:
  Show dependency treegraph
 
Reported: 2010-08-26 11:18 PST by
Modified: 2010-09-13 12:06 PST (History)


Attachments
Proposed patch (2.35 KB, patch)
2010-08-26 11:25 PST, Alejandro G. Castro
kenneth: review+
Review Patch | Details | Formatted Diff | Diff


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2010-08-26 11:18:13 PST
Currently we are creating shadows using the complete size of the element in the page, we can use the clip information to reduce that size.
------- Comment #1 From 2010-08-26 11:25:40 PST -------
Created an attachment (id=65587) [details]
Proposed patch
------- Comment #2 From 2010-08-26 14:09:54 PST -------
Does this patch net any performance improvements on its own?
------- Comment #3 From 2010-08-26 15:06:20 PST -------
(In reply to comment #2)
> Does this patch net any performance improvements on its own?

Yep, mostly when scrolling a webpage, we blur a rect as big as the scroll movement, and also for big pages we only blur the viewport part even if the page is bigger than that, for instance identi.ca.
------- Comment #4 From 2010-08-27 10:44:16 PST -------
Is it possible to make calculateShadowBufferDimensions a non-static method and to do this there? That way we could benefit from this improvement at all call sites.
------- Comment #5 From 2010-08-30 04:29:07 PST -------
(In reply to comment #4)
> Is it possible to make calculateShadowBufferDimensions a non-static method and to do this there? That way we could benefit from this improvement at all call sites.

It is, I planned this patch just to make it the rects because they are the main issue nowadays. I'll review the patch.
------- Comment #6 From 2010-08-31 03:12:32 PST -------
(From update of attachment 65587 [details])
Seems like a good optimization.

Remember to add a dot at the end of comments.
------- Comment #7 From 2010-08-31 09:45:44 PST -------
Do you mind creating a static function that take a rectangle and intersects it with the current Cairo clip? It could be passed an optional minimumSize argument. I think we may want to use this optimization in other places later on.

IntRect intersectRectWithCurrentCairoClip(cairo_t*, IntRect, int minimumSize=0);

Thanks.
------- Comment #8 From 2010-09-13 11:53:38 PST -------
Committing this patch after talking to martin we will leave the generalization for the contextshadow patch in the bug 45599.
------- Comment #9 From 2010-09-13 12:06:49 PST -------
Landed r67402