Closed Bug 754364 Opened 12 years ago Closed 12 years ago

optimize scaled/repeated path (when CreateSamplingRestrictedDrawable is not in use)

Categories

(Core :: Graphics, defect)

ARM
Android
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla15
Tracking Status
firefox14 --- fixed
blocking-fennec1.0 --- +

People

(Reporter: vlad, Assigned: jrmuizel)

References

Details

Attachments

(2 files)

Bug 749426 will disable CSRD on mobile, because we tend to render entire pages when we snapshot which causes us to do crazy things like allocate 500MB.  So we don't do that any more.  But the resulting path is slower in cases where it did work before, so Jeff wants to optimize it.
Our tests show that disabling CreateSamplingRestrictedDrawable can make drawing a tiled background slower in some cases. Specifically,:

NEON
bilinear: faster
nearest: 2x slower

No neon
bilinear: 1.4x slower
nearest: 4x slower

Thus the nom for blocking. We think we can make this a lot better.
blocking-fennec1.0: ? → +
This is a patch from Siarhei that fixes these.
Attachment #623255 - Flags: review?
Attachment #623255 - Flags: review?
https://hg.mozilla.org/mozilla-central/rev/d61928d439b4
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla15
This makes faster
Attachment #623687 - Flags: review?(joe)
What's with the #if 1 / #else bits?  Second part looks to be from Skia, do we not want to use it (just kill it off if we don't?)..
Attachment #623687 - Flags: review?(joe) → review+
Not all on central yet
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
(In reply to Vladimir Vukicevic (:vlad) from comment #6)
> What's with the #if 1 / #else bits?  Second part looks to be from Skia, do
> we not want to use it (just kill it off if we don't?)..

We want to use it, I just want to do that as a second pass. It's faster but produces different results.
http://mozillamemes.tumblr.com/post/21637966463/yes-i-have-a-condition-that-forces-me-to-insert

Backed out due to Windows build bustage.
https://hg.mozilla.org/integration/mozilla-inbound/rev/5cc2cbb8c43b

https://tbpl.mozilla.org/php/getParsedLog.php?id=11782268&tree=Mozilla-Inbound
pixman-fast-path.c

e:/builds/moz2_slave/m-in-w32/build/gfx/cairo/libpixman/src/pixman-fast-path.c(1247) : warning C4101: 'result' : unreferenced local variable

e:/builds/moz2_slave/m-in-w32/build/gfx/cairo/libpixman/src/pixman-fast-path.c(1318) : error C2143: syntax error : missing ';' before 'type'

e:/builds/moz2_slave/m-in-w32/build/gfx/cairo/libpixman/src/pixman-fast-path.c(1319) : error C2065: 'xy' : undeclared identifier

e:/builds/moz2_slave/m-in-w32/build/gfx/cairo/libpixman/src/pixman-fast-path.c(1320) : error C2065: 'xy' : undeclared identifier

e:/builds/moz2_slave/m-in-w32/build/gfx/cairo/libpixman/src/pixman-fast-path.c(1321) : error C2065: 'xy' : undeclared identifier

e:/builds/moz2_slave/m-in-w32/build/gfx/cairo/libpixman/src/pixman-fast-path.c(1322) : error C2065: 'xy' : undeclared identifier
https://hg.mozilla.org/mozilla-central/rev/bf4213797281

And a bustage fix:
https://hg.mozilla.org/mozilla-central/rev/4a3efede4904
Status: REOPENED → RESOLVED
Closed: 12 years ago12 years ago
Flags: in-testsuite-
Resolution: --- → FIXED
This patch caused a dramatic improvement in Tcheckerboard, not so much on Tcheckerboard2.
Comment on attachment 623687 [details] [diff] [review]
Add bilinear non-repeat and repeat fast paths

[Approval Request Comment]
Bug caused by (feature/regressing bug #): 750598
User impact if declined: Slower paints (more checkerboarding on Tegra)
Testing completed (on m-c, etc.): Has been on mozilla-central a couple of days
Risk to taking this patch (and alternatives if risky): Mobile only, the functions added are all pretty simple and don't have any conditional paths.
Attachment #623687 - Flags: approval-mozilla-aurora?
Comment on attachment 623255 [details] [diff] [review]
Add nearest repeat fast paths

[Approval Request Comment]
Bug caused by (feature/regressing bug #): 750598, 749426
User impact if declined: Slower paints on Tegra and not Tegra
Testing completed (on m-c, etc.): Has been on mozilla-central a couple of days
Risk to taking this patch (and alternatives if risky): Mobile only, the functions added are all pretty simple and don't have any conditional paths.
Attachment #623255 - Flags: approval-mozilla-aurora?
Attachment #623255 - Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
Attachment #623687 - Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: