Talk:SVG benchmarks


Suggestion (2010)[edit]

Maybe you want to try again with this:


import org.apache.batik.transcoder.TranscoderException;
import org.apache.batik.transcoder.TranscoderInput;
import org.apache.batik.transcoder.TranscoderOutput;
import org.apache.batik.transcoder.image.PNGTranscoder;

 * Argument: Filename of a file with two filenames on each line, separated by a tab character. The
 * first filename is the url of an input file, the second the name of the output file.
public class BatikServ {
   public static void main(String args[]) throws Exception {
      if (args.length < 1) {
         System.err.println("Usage: java BatikServ <urlfile>");

      File urlfile = new File(args[0]);
      BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(urlfile)));
      String line = null;
      while ((line = reader.readLine()) != null) {
         String[] files = line.split("\t", 2);
         renderImage(files[0], files[1]);

   public static void renderImage(String svgFile, String targetFile) throws TranscoderException, IOException {
      PNGTranscoder t = new PNGTranscoder();
      TranscoderInput input = new TranscoderInput(svgFile);
      OutputStream out = new FileOutputStream(targetFile);
      TranscoderOutput output = new TranscoderOutput(out);
      t.transcode(input, output);


-- chris — Preceding unsigned comment added by (talkcontribs)

Have you tried out KSVG2? This is apparently the lib that has been folded into WebKit. Might be a good alternative to rsvg - fewer dependencies? — Preceding unsigned comment added by (talkcontribs)

An alternative for ImageMagick on an external server[edit]

I have a wiki on a server which is not mine. The wiki should be able to render SVG images, but ImageMagick sucks very nicely; it renders some SVG:s very badly. Well, I found out that Wikipedia uses rsvg. The server administrator doesn't want to install rsvg globally for me, so I decided to compile it by hand on my server's home directory but they have blocked gcc from me. Then I thought that maybe I could find a binary that I could download on my server, but no, I couldn't find any. The server is probably running Fedora Core. What could I do? --Erkkimon — Preceding unsigned comment added by (talkcontribs)

Get a better hosting company - David Gerard 14:55, 15 July 2010 (UTC)Reply
I have found that the fastest to implement and fastest-performing headless SVG rendering solution is PhantomJS (native, headless, scriptable webkit). On my CentOS6 virtual machine rendering a large production graphic SVG to PNG is up to 7 times faster under PhantomJS than Batik. Loooooooooong live Java. -MKW 11-19-2014 — Preceding unsigned comment added by (talkcontribs)