Closed Bug 620941 Opened 14 years ago Closed 12 years ago

Canvas strokeText() becomes extremely slow with large lineWidth values

Categories

(Core :: Graphics, defect)

x86
All
defect
Not set
normal

Tracking

()

RESOLVED WONTFIX

People

(Reporter: jordan.osete, Unassigned)

References

(Blocks 1 open bug, )

Details

(Keywords: perf)

Attachments

(1 file)

User-Agent:       Mozilla/5.0 (X11; Linux i686; rv:2.0b7) Gecko/20100101 Firefox/4.0b7
Build Identifier: Mozilla/5.0 (X11; Linux i686; rv:2.0b7) Gecko/20100101 Firefox/4.0b7

When using large values for lineWidth, strokeText() becomes exponentially slow. See testcase for details.
This is useful when you want to add outlines to a text, for example.

Reproducible: Always
Worsforme on Mac, so sounds like more path tesselator crap, right?
How slow are you talking about? On Fedora I get.
Spread radius: 1, time: 0.035 sec
Spread radius: 10, time: 0.041 sec
Spread radius: 30, time: 0.116 sec
Spread radius: 100, time: 0.658 sec
Right.  And spending .7 seconds rendering three words is not really acceptable, right?  That's way out in "user-visible lag" territory.  Plus your numbers exactly show the nonlinear growth.

For comparison, on Mac where we don't use the cairo tesselator for this stuff, I get numbers like:

Spread radius: 1, time: 0.001 sec
Spread radius: 10, time: 0.008 sec
Spread radius: 30, time: 0.011 sec
Spread radius: 100, time: 0.033 sec
Blocks: 623923
Status: UNCONFIRMED → NEW
Component: Canvas: 2D → Graphics
Ever confirmed: true
QA Contact: canvas.2d → thebes
Keywords: perf
It seems very unlikely that we're going to invest time in fixing this in Cairo; it will likely be fixed by switching to Skia or some other backend as part of the Azure project.

FWIW, this is plenty fast when using a D2D backend, even when using Cairo.
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: