Open Bug 877073 Opened 12 years ago Updated 3 years ago

generate a display item for each TextRenderedRun of an nsSVGTextFrame2

Categories

(Core :: SVG, defect)

defect

Tracking

()

People

(Reporter: heycam, Unassigned)

Details

(Keywords: perf)

Attachments

(1 file)

Currently we create a single nsDisplaySVGText item that just calls nsSVGTextFrame2::PaintSVG. We could instead have nsSVGTextFrame2::BuildDisplayList iterate over the TextRenderedRuns and generate a display item for each one. That should result in smaller invalidation areas when for example changing a single tspan's style.
Attached image test
For example if you load this and turn paint flashing on, you can see the whole rectangle that covers both tspans is invalidated, when layout.svg.css-frames.enabled = true. With the old text code, at least the two individual rectangles are invalidated. But we should be able to do better than both of these.
Keywords: perf
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: