Open
Bug 735895
Opened 13 years ago
Updated 2 years ago
nsCSSRendering::PaintBackground takes too long
Categories
(Core :: Web Painting, defect)
Tracking
()
NEW
Tracking | Status | |
---|---|---|
blocking-fennec1.0 | --- | - |
People
(Reporter: jrmuizel, Unassigned)
References
(Depends on 1 open bug)
Details
We spend a large chunk (46%) of our painting time on CNN drawing backgrounds. We should try to do something cheaper
Reporter | ||
Updated•13 years ago
|
Blocks: checkerboarding
Updated•13 years ago
|
blocking-fennec1.0: --- → ?
Updated•13 years ago
|
Assignee: nobody → ajuma
Comment 1•13 years ago
|
||
Waiting for Ali to get back to us with details before making a blocking decision.
Whiteboard: [waiting-for-details]
Updated•13 years ago
|
Summary: nsCSSBackground::PaintBackground takes too long → nsCSSRendering::PaintBackground takes too long
Comment 2•13 years ago
|
||
While loading CNN on a Galaxy Nexus, we spend around 700 ms in nsCSSRendering::PaintBackground. Most individual calls are fast (the average call takes about 0.4 ms), but we make a *lot* of calls (around 1700), and a handful of these calls (around 10) do take a significant amount of time (between 10 and 25 ms).
Of the time we spend in nsCSSRendering::PaintBackground, about 67% is in gfxUtils::DrawPixelSnapped.
And of the time we spend in gfxUtils::DrawPixelSnapped, about 30% is in CreateSamplingRestrictedDrawable (however, on other pages, this is 10-15%), and the rest is in the call to gfxDrawable::Draw.
Reporter | ||
Comment 3•13 years ago
|
||
(In reply to Ali Juma [:ajuma] from comment #2)
> While loading CNN on a Galaxy Nexus, we spend around 700 ms in
> nsCSSRendering::PaintBackground. Most individual calls are fast (the average
> call takes about 0.4 ms), but we make a *lot* of calls (around 1700), and a
> handful of these calls (around 10) do take a significant amount of time
> (between 10 and 25 ms).
>
> Of the time we spend in nsCSSRendering::PaintBackground, about 67% is in
> gfxUtils::DrawPixelSnapped.
>
> And of the time we spend in gfxUtils::DrawPixelSnapped, about 30% is in
> CreateSamplingRestrictedDrawable (however, on other pages, this is 10-15%),
> and the rest is in the call to gfxDrawable::Draw.
The question we need to answer is: is the work we're doing necessary and why. i.e. do the times we see match what we would expect them to be.
Comment 4•13 years ago
|
||
What are the costs on planet.mozilla.org and nytimes.com?
Comment 5•13 years ago
|
||
(In reply to JP Rosevear [:jpr] from comment #4)
> What are the costs on planet.mozilla.org and nytimes.com?
On planet.mozilla.org, we spend around 185 ms in PaintBackground. The average call takes about 1.85 ms, but as on cnn.com, there are a handful of calls that take a significant amount of time (between 10 and 35 ms). Of the time we spend in PaintBackground, about 85% is in DrawPixelSnapped. And of the time we spend in DrawPixelSnapped, about 30% is in CreateSamplingRestrictedDrawable.
On nytimes.com, we spend around 245 ms in PaintBackground. The average call takes about 0.5 ms, and no call takes more than 2.5 ms. Of the time we spend in PaintBackground, about 75% is in DrawPixelSnapped. And of the time we spend in DrawPixelSnapped, about 20% is in CreateSamplingRestrictedDrawable.
Comment 6•13 years ago
|
||
If we have any more specific bugs besides bug 733941, please nom those individually.
blocking-fennec1.0: ? → -
Updated•13 years ago
|
Whiteboard: [waiting-for-details]
Updated•13 years ago
|
Assignee: ajuma.bugzilla → nobody
Updated•3 years ago
|
Severity: normal → S3
Updated•2 years ago
|
Component: Graphics → Web Painting
You need to log in
before you can comment on or make changes to this bug.
Description
•