Closed Bug 1803604 Opened 2 years ago Closed 2 years ago

Optimize stroked paths in accelerated Canvas2D

Categories

(Core :: Graphics: Canvas2D, enhancement)

enhancement

Tracking

()

RESOLVED FIXED
109 Branch
Tracking Status
firefox109 --- fixed

People

(Reporter: lsalzman, Assigned: lsalzman)

References

(Blocks 1 open bug, Regressed 5 open bugs)

Details

Attachments

(2 files)

wpf-gpu-raster can generate excessive amounts of geometry for stroked paths, and a more specialized solution could greatly enhance performance.

aa-stroke is a Rust library developed by the Gfx team at Mozilla to help
accelerate stroked paths for Canvas2D.

Pushed by lsalzman@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/9c9e6c4e7864 Vendor aa-stroke Rust library. r=jrmuizel,supply-chain-reviewers https://hg.mozilla.org/integration/autoland/rev/0be171a7d6ac Use aa-stroke to accelerate stroked paths in Canvas2D. r=jrmuizel
Flags: needinfo?(lsalzman)
Pushed by lsalzman@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/42d770314bef Vendor aa-stroke Rust library. r=jrmuizel,supply-chain-reviewers https://hg.mozilla.org/integration/autoland/rev/c1d54f41f984 Use aa-stroke to accelerate stroked paths in Canvas2D. r=jrmuizel
Status: ASSIGNED → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → 109 Branch
Blocks: 1800362
Blocks: 1800363
Regressions: 1804262

== Change summary for alert #36360 (as of Thu, 08 Dec 2022 18:50:11 GMT) ==

Improvements:

Ratio Test Platform Options Absolute values (old vs new)
11% pdfpaint macosx1015-64-shippable-qr e10s fission stylo webrender-sw 704.65 -> 624.37
11% pdfpaint macosx1015-64-shippable-qr e10s fission stylo webrender-sw 703.06 -> 624.42
11% pdfpaint macosx1015-64-shippable-qr e10s fission stylo webrender 705.65 -> 629.56
8% pdfpaint linux1804-64-shippable-qr e10s fission stylo webrender 782.91 -> 717.35
8% pdfpaint linux1804-64-shippable-qr e10s fission stylo webrender-sw 747.18 -> 685.96

For up to date results, see: https://treeherder.mozilla.org/perfherder/alerts?id=36360

Regressions: 1805557
Regressions: 1830680
Depends on: 1837068
Regressions: 1835200
Regressions: 1841020
Regressions: 1846207
Regressions: 1847162
Regressions: 1847681
Regressions: 1849487
Depends on: 1843143
Depends on: 1848532
Depends on: 1834079
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: