Closed Bug 982338 (osx-tiling) Opened 10 years ago Closed 10 years ago

Use tiled thebes layers on OSX

Categories

(Core :: Graphics: Layers, defect)

x86
macOS
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla35
Tracking Status
relnote-firefox --- 35+

People

(Reporter: mattwoodrow, Assigned: mattwoodrow)

References

(Depends on 1 open bug)

Details

Attachments

(1 file, 1 obsolete file)

OSX content is one of (if not the) last place(s) we are using deprecated textures.

We should switch to using tiling assuming we can get it to perform as well, so we can delete a whole bunch of code.

https://tbpl.mozilla.org/?tree=Try&rev=26fed6aa3b9a
Depends on: 982339
\o/
Depends on: 982433
Depends on: 983035
Depends on: 1047945
Depends on: 1057211
Alias: osx-tiling
Depends on: 1057216
Depends on: 1057217
Depends on: 1057218
Depends on: 1059029
Depends on: 1059031
Depends on: 1059622
Comment on attachment 8481196 [details] [diff] [review]
Enable tiling for OSX 10.8

Review of attachment 8481196 [details] [diff] [review]:
-----------------------------------------------------------------

Please add a pref to force tiling on 10.6.
Attachment #8481196 - Attachment is obsolete: true
Attachment #8481196 - Flags: review?(bas)
Attachment #8482031 - Flags: review?(bas)
Attachment #8482031 - Flags: review?(bas) → review+
Adding Avih and Joel to the CC list since I expect some talos changes with this push.

Looking at compare talos it looks like we have a TART and tp5_scroll win, and a tsvg_opacity and CART regression. The improvements are both bigger than the regressions.

Tscrollx is also showing as a slight regression, but graphserver ignores the slowest test (of only 6!), which is the one that improved significantly. With a true average of the six we'd be winning here too.

I think this is a pretty reasonable trade-off especially since getting tiling is important to the graphics team in terms of cleaning up old code and making it easier for us to progress to fully async scrolling.
sorry had to backout this change for crashes like https://tbpl.mozilla.org/php/getParsedLog.php?id=47156878&tree=Mozilla-Inbound on OS X due the backout of other changes
it appears this patch gives us a 9.48% win on 10.6 for svgx, we will see when this sticks if we still retain that win :)
Landing this for 10.6 as well, since the performance difference ended up not being much.

Looks like we're expecting a big for svgx, tscrollx (though won't show up in graphserver results again), CART and Tresize. tp5_scroll, svg_opacity and tp5_rss_main look to be worse.
And disabled again for 10.6 since it's having intermittent reftest failures that look like some sort of driver bug.

 https://hg.mozilla.org/integration/mozilla-inbound/rev/ab5cfc402f77
https://hg.mozilla.org/mozilla-central/rev/4effa50d8934
https://hg.mozilla.org/mozilla-central/rev/ab5cfc402f77
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla35
Comment on attachment 8482031 [details] [diff] [review]
Enable tiling for OSX 10.8 v2

Review of attachment 8482031 [details] [diff] [review]:
-----------------------------------------------------------------

Should we stop using gfxPrefs::LayersTilesEnabled() everywhere, and instead use gfxPlatform::UseTiling() or risk having some of the code think we're in tiling, and some that we're not?  There are a couple of more places that still use gfxPrefs::LayersTilesEnabled() directly.
Matt, question for you in comment 15.
Flags: needinfo?(matt.woodrow)
Depends on: 1063776
(In reply to Milan Sreckovic [:milan] from comment #15)
> Comment on attachment 8482031 [details] [diff] [review]
> Enable tiling for OSX 10.8 v2
> 
> Review of attachment 8482031 [details] [diff] [review]:
> -----------------------------------------------------------------
> 
> Should we stop using gfxPrefs::LayersTilesEnabled() everywhere, and instead
> use gfxPlatform::UseTiling() or risk having some of the code think we're in
> tiling, and some that we're not?  There are a couple of more places that
> still use gfxPrefs::LayersTilesEnabled() directly.

Probably, yes. I don't think any of the other callers actually affect desktop so we're ok for now, but it would be nice to clean up.
Flags: needinfo?(matt.woodrow)
Depends on: 1064236
Depends on: 1070722
Depends on: 1077842
This caused a huge regression in bug 982338.
Depends on: 608495
And bug 554004.
Depends on: 554004
Depends on: 1078109
Depends on: 1083079
Depends on: 1100161
Depends on: 1101635
Depends on: 1123019
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: