« September 2005 | Main | April 2006 »

March 16, 2006

textPath for Firefox 2

Today <svg:textPath> support was checked into the MOZILLA_1_8_BRANCH (bug 327539), which means barring serious problems it will appear in Firefox 2. You can try it out in branch nightly builds starting on Friday, or in the alpha of Firefox 2 which should be coming out shortly.

The branch textPath support currently doesn't have the excellent work Robert Longson has been doing to expand the svg text module DOM methods to handle textPath. We're be interested to hear if just the ability to draw text on a path is enough for your content, or if you also need the DOM interfaces backing it.

We're eager to hear the results of testing with your content. Of particular interest are any regressions seen in SVG text support relative to Firefox 1.5.x.

Posted by tor at 10:44 PM | Comments (6)

March 7, 2006

Filter performance

While one might wonder what pixel level effects are doing in a vector graphics format, SVG has a number of different filter effects. Mozilla SVG currently implements a subset of filters () for the trunk.

In the spirit of informal benchmarking, here are the results of some simple tests. Again, all numbers from the same machine, time in seconds. test1 is a test of probably the simplest filter effect, a color mapping. test2 is a test of doing a RGBA Gaussian blur with a fairly wide footprint. test3 implements a drop shadow with an alpha Gaussian blur (which we don't shortcut, but do full RGBA blur), an offset, then a merge effect.

Firefox trunk Adobe SVG 3.03 Opera 9.00.8246
test1 (feComponentTransfer) 38.4 8.6 81.8
test2 (feGaussianBlur) 282.9 44.2 188.6
test3 (feGaussianBlur + feOffset + feMerge) 425.3 40.8 155.2

These numbers aren't suprising, given that the filter pixel operations were written in a straightforward manner, and there hasn't been any effort spent yet in tuning and optimizing that code.

Posted by tor at 11:26 PM

March 4, 2006

SVG Performance

On Robert's suggestion, added Opera to the table from the last post. Again, all tests run on the same 1.7GHz Pentium-M WinXP machine, time in seconds. Tests have a builtin overhead of fifteen seconds in the first two, five seconds in the rest.

Firefox 1.5.0.1 Firefox trunk Adobe SVG 3.03 Opera 9.00.8246
test1 (complex paths) 15.9 15.9 15.0 15.2
test2 (complex paths with transparency) 16.8 17.4 15.0 15.2
test3 (text) 5.4 5.3 5.0 5.0
test4 (images) 18.9 9.0 (1) 9.6 (2) 14.8
test5 (linear gradients) 43.0 10.9 5.1 18.8
test6 (radial gradients) 47.4 20.5 6.8 25.2

Notes:

  1. Full images shown, but are blue shifted. This number has a lot of room for improvement, because we're doing a lot of conversion work not necessary in the new all-cairo world.
  2. Full images shown, but with the wrong transform that stretches them.

Posted by tor at 7:27 AM | Comments (5)

March 3, 2006

Cairo improvements

Got curious about how much cairo had improved since the version that's included in Firefox 1.5, so reran Hixie's simple SVG performance tests on 1.5, the trunk, and on Adobe's SVG viewer. All tests done on a 1.7GHz Pentium-M WinXP machine, time in seconds.

Keep in mind when reading this table that the tests aren't formal benchmarks, and have some builtin overhead - fifteen seconds in the first two, five seconds in the rest.

Firefox 1.5.0.1 Firefox trunk Adobe SVG 3.03
test1 (complex paths) 15.9 15.9 15.0
test2 (complex paths with transparency) 16.8 17.4 15.0
test3 (text) 5.4 5.3 5.0
test4 (images) 18.9 9.0 (1) 9.6 (2)
test5 (linear gradients) 43.0 10.9 5.1
test6 (radial gradients) 47.4 20.5 6.8

Notes:

  1. Full images shown, but are blue shifted. This number has a lot of room for improvement, because we're doing a lot of conversion work not necessary in the new all-cairo world.
  2. Full images shown, but with the wrong transform that stretches them.

Posted by tor at 8:50 PM | Comments (7)