Open Bug 877073 Opened 12 years ago Updated 2 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 (deleted) —
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: