[cairo] Lander Game

Daniel Amelang daniel.amelang at gmail.com
Mon Jan 8 13:19:45 PST 2007

On 1/8/07, Alex Mac <lots.of.mailing.lists at gmail.com> wrote:
> I'm guessing that rsvg does no caching and simply re-parses the svg
> file every time? that would explain why its so slow.
> I saw something like this mentioned in another thread but I'll mention
> it again here. It would be really useful if cairo had something like
> OpenGL's display lists so that sequences of commands can be recorded
> and then later replayed to a surface.

You don't necessarily need display lists in this case to get that
behavior. You can cache all that complex drawing in an intermediate
cairo surface that you keep around to paint onto your destination
surface as needed. That way, you only need to use rsvg to render the
SVG once. If/when you need to draw the SVG at a different resolution,
you'll probably want to re-render it for that resolution.

Assuming that the bottleneck really is rsvg, you should see a healthy
speedup with this approach.


More information about the cairo mailing list