
Ich entwickle einige Webanwendungen, die ihre Berichte in LaTeX ausgeben (ich bin mir bewusst, dass dies kein großer Standard ist, aber „warum“ und „ist es die beste Wahl“ sollen nicht der Kern dieser Frage sein, obwohl es interessante Themen sind).
Mit den meisten Aufgaben und Problemen komme ich gut zurecht, aber bei der Verwendung von TikZ für komplexe Grafiken (Diagramme, Balken, Kreisdiagramme und dergleichen) stoße ich auf Leistungsprobleme auf dem Server.
Die Frage ist: Hat jemand Erfahrung mit der Leistung der verschiedenen Grafikpakete? Ich habe gelesendieser interessante BeitragIch möchte es aber möglichst vermeiden, alle Alternativen kennenzulernen, mit allen die gleiche Seite zu erstellen und die Kompilierungszeit zu messen.
Vielen Dank für jede Antwort/Kommentar/Hinweis
Edit: ab @cfr Kommentar, hier ist ein Beispiel für eine der komplexesten Anwendungen
\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}
Antwort1
Wenn Sie Ti wählen würdenkZ, können Sie die Kompilierung beschleunigen, indem Sie
\usetikzlibrary{external}
\tikzexternalize
welche Ti zwingtkZ, um die Bilder zu speichern und wenn möglich wiederzuverwenden. Das wäre dann (fast) so schnell wie die Verwendung externer Grafiken. Natürlich funktioniert das nur, wenn die Bilder nicht (sehr oft) verändert werden.