Problemas de desempenho sobre pacotes gráficos

Problemas de desempenho sobre pacotes gráficos

Eu desenvolvo algumas aplicações web que geram seus relatórios em LaTeX (estou ciente de que isso não é muito padrão, mas "por que" e "é a melhor escolha" não querem ser o objetivo desta questão, embora sejam tópicos interessantes) .

Estou bem com a maioria das tarefas e problemas envolvidos, mas encontro problemas de desempenho no servidor ao usar o TikZ para gráficos complexos (gráficos, barras, pizzas e outros).

A questão é: alguém tem experiência no desempenho dos diferentes pacotes gráficos? Eu liesta postagem interessantemas, se possível, gostaria de evitar aprender cada uma das alternativas, construir a mesma página com todas elas e medir o tempo de compilação.

Muito obrigado por qualquer resposta/comentário/dica

Editar: a partir do comentário @cfr, aqui está um exemplo de uma das aplicações mais complexas

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{decorations.text}
\begin{document} 
\def\shadingangle{30}
\def\startinganglery{30}
\def\startingangleyg{120}
\def\subdivisions{60}
\begin{tikzpicture}[radius=3]
\draw[white] (-3.3,-0.2) rectangle  (3.3,3.3);
\fill [red] (0:0) -- ( 0:3) arc[start angle=0, delta angle=\startinganglery+\shadingangle/2]  -- cycle;
\fill [yellow] (0:0) -- (\startinganglery+\shadingangle/2:3) arc[start angle=\startinganglery+\shadingangle/2, delta angle=\startingangleyg-\startinganglery] -- cycle;
\fill [green] (0:0) -- (\startingangleyg+\shadingangle/2:3) arc[start angle=\startingangleyg+\shadingangle/2, delta angle=180-\startingangleyg-\shadingangle/2] -- cycle;

\foreach \i[evaluate={\col=(\i+.5)/\subdivisions*100}] in {0,...,\numexpr\subdivisions-1\relax}
    \fill[color=yellow!\col!red]
        (0,0) -- (\i*\shadingangle/\subdivisions+\startinganglery:3) arc[start angle=\i*\shadingangle/\subdivisions+\startinganglery, end angle=(\i+1)*\shadingangle/\subdivisions+1+\startinganglery] -- cycle;
\foreach \i[evaluate={\col=(\i+.5)/\subdivisions*100}] in {0,...,\numexpr\subdivisions-1\relax}
    \fill[color=green!\col!yellow]
        (0,0) -- (\i*\shadingangle/\subdivisions+\startingangleyg:3) arc[start angle=\i*\shadingangle/\subdivisions+\startingangleyg, end angle=(\i+1)*\shadingangle/\subdivisions+\startingangleyg] -- cycle;
\fill [white] (2.25,0) arc (0:180:2.25);
\draw (-3,0) -- (3,0);
\draw (3,0) arc  (0:180:3);

\draw [decorate,decoration={text along path, text=|\small|low medium high||,
text align=fit to path stretching spaces}]
(-3.1,0) arc  (180:0:3.1);

\fill (0.1,0) arc (0:180:0.1);
\draw [->,very thick] (0,0) -- (96:2.2);

\node[below,text width=6cm,align=center] at (0,0) {Compliance risk};
\end{tikzpicture}
\end{document} 

Responder1

Se você escolhesse TikZ, você poderia acelerar a compilação usando

\usetikzlibrary{external}
\tikzexternalize

que força TikZ para salvar e, se possível, reutilizar as fotos. Conseqüentemente, isso seria (quase) tão rápido quanto usar gráficos externos. Claro, isso só funciona se as imagens não forem alteradas (com muita frequência).

informação relacionada