Re: designing a cardset for aisle-riot

Callum McKenzie said:
> If it has features newer than those supported by librsvg, they should
> just be ignored - not induce an endless loop.

The good news is that it doesn't use any exotic features nor fall into an
endless loop. Use "rsvg -x .1 -y .1 andandare.svg andandare.png" if you
want to see it render (relatively) quickly, but at 1/10th normal size.
(The fact that this works would lead me to guess that librsvg simply isn't
preventing libart from doing something stupid or expensive.)

The bad news? No matter what, this theme will always be slow as long as it
uses gradients. The design used for each suit contains several complex
paths, and gradients are used to fill each of those paths. Just a handful
of gradients are bad enough... Adding 4 or 5 to mahjongg was bad enough to
double the render time, if I recall. Fact is, when you have 220 pips with
multiple paths, gradients and transforms each, it will be hard is hard on
any system. Observations on an Athlon 64 3000+:

- Batik: Didn't render, even after removing the orphaned <use
xlink:href="foo-all1"> ... it gave up with warning "null" :)

- Adobe Illustrator: After burning all my memory and about a minute on
start-up, the gradients are completely misdrawn.

- Adobe SVG Viewer: Took about 7 seconds to draw.

(I'll look at librsvg-cairo tomorrow.)

I don't know how this compares with the 20mb deck (I only looked at it on
Adobe SVG Viewer), but if that one renders significantly faster, then the
transformations may play a part in how slow this is rendering...

Again, you'll always be noticably slower when using gradients, even if
limited to a small number of them. You may want to consider faking the
gradient effect with a sequence of paths. A good example would be one of
the "Tux" mascot svgs floating out on the web.

-Richard Hoelscher

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]