Closed
Bug 1480801
Opened 7 years ago
Closed 1 year ago
Merge consecutive FillGlyph draw commands with compatible parameters
Categories
(Core :: Graphics: Layers, enhancement, P3)
Core
Graphics: Layers
Tracking
()
RESOLVED
WONTFIX
People
(Reporter: rhunt, Unassigned)
References
Details
(Whiteboard: [gfx-noted])
Attachments
(4 files, 1 obsolete file)
From local testing on my alexa top 50 simulation [1]. This can result in a ~20% average improvement to command list size.
[1] https://github.com/eqrion/moz-simulation-script
| Reporter | ||
Comment 1•7 years ago
|
||
Here's a work-in-progress patch set that I've been working on.
It should mostly work, the last thing remaining is to compare the Patterns when merging FillGlyph commands. Unfortunately it looks like that will need to be a deep comparison to be accurate.
| Reporter | ||
Comment 2•7 years ago
|
||
| Reporter | ||
Comment 3•7 years ago
|
||
| Reporter | ||
Comment 4•7 years ago
|
||
| Reporter | ||
Comment 5•7 years ago
|
||
The default implementation falls back to stroking a path. It'd be better
to just pass the draw command on to destination target(s), in the case
they implement a faster version.
| Reporter | ||
Updated•7 years ago
|
Attachment #8998973 -
Attachment is obsolete: true
| Reporter | ||
Comment 6•7 years ago
|
||
I've polished the patches up a little bit more. The basic idea here is two parts.
1. Stop producing a clip draw command around each text display item
2. Merge FillGlyph commands with compatible parameters
Without (1), (2) is of limited usefulness.
The tricky part is (1). To my knowledge, that clip was added to allow DrawTargetTiled
to cull out FillGlyph commands to only the tiles that need the command, and not for
correctness. So I wrote a commit that instead adds a 'bounds hint' parameter to FillGlyphs
to do the same thing.
| Reporter | ||
Updated•7 years ago
|
Attachment #9000153 -
Flags: review?(bas)
| Reporter | ||
Updated•7 years ago
|
Attachment #9000154 -
Flags: review?(lsalzman)
| Reporter | ||
Updated•7 years ago
|
Attachment #9000155 -
Flags: review?(bas)
| Reporter | ||
Updated•7 years ago
|
Attachment #9000156 -
Flags: review?(bas)
Comment 7•7 years ago
|
||
How does this affect performance on D2D?
| Reporter | ||
Comment 8•7 years ago
|
||
(In reply to Bas Schouten (:bas.schouten) from comment #7)
> How does this affect performance on D2D?
I don't see any significant difference from a talos run [1].
[1] https://treeherder.mozilla.org/perf.html#/compare?originalProject=mozilla-central&originalRevision=130bb81b5f4f&newProject=try&newRevision=7ee15f1064f139c0efbccdf4846a7243c152e60c&framework=1&filter=windows10
Comment 9•7 years ago
|
||
Comment on attachment 9000154 [details]
Bug 1480801 - Update text painting to use dirty rect as bounds hint.
Lee Salzman [:lsalzman] has approved the revision.
Attachment #9000154 -
Flags: review+
Updated•7 years ago
|
Attachment #9000154 -
Flags: review?(lsalzman) → review+
Comment 10•7 years ago
|
||
Comment on attachment 9000153 [details]
Bug 1480801 - Add bounds hint to FillGlyphs and StrokeGlyphs.
Bas Schouten (:bas.schouten) has approved the revision.
Attachment #9000153 -
Flags: review+
Comment 11•7 years ago
|
||
Comment on attachment 9000155 [details]
Bug 1480801 - Merge consecutive FillGlyphs commands with compatible parameters.
Bas Schouten (:bas.schouten) has approved the revision.
Attachment #9000155 -
Flags: review+
Comment 12•7 years ago
|
||
Comment on attachment 9000156 [details]
Bug 1480801 - Add implementations of StrokeGlyphs to DrawTargetDual and DrawTargetTiled.
Bas Schouten (:bas.schouten) has approved the revision.
Attachment #9000156 -
Flags: review+
Updated•7 years ago
|
Attachment #9000153 -
Flags: review?(bas)
Updated•7 years ago
|
Attachment #9000155 -
Flags: review?(bas)
Updated•7 years ago
|
Attachment #9000156 -
Flags: review?(bas)
Comment 13•7 years ago
|
||
Comment on attachment 9000153 [details]
Bug 1480801 - Add bounds hint to FillGlyphs and StrokeGlyphs.
Bas Schouten (:bas.schouten) has been removed from the revision.
Attachment #9000153 -
Flags: review+
Updated•3 years ago
|
Severity: normal → S3
| Reporter | ||
Updated•1 year ago
|
Assignee: rhunt → nobody
Comment 15•1 year ago
|
||
I don't think it is. Closing.
Status: NEW → RESOLVED
Closed: 1 year ago
Flags: needinfo?(bas)
Resolution: --- → WONTFIX
You need to log in
before you can comment on or make changes to this bug.
Description
•