我正在编写一个程序,使用dot
重复渲染许多小图(50-100)。它通过调用dot
来完成此操作。不幸的是,这个过程非常缓慢。当我查看活动监视器时,我看到fontd
消耗了几乎所有的处理时间。看来这是由于某种字体枚举造成的。
鉴于我正在使用SVG后端,有没有办法加速渲染许多图形?
我不相信我可以在一个渲染中完成所有图形,因为它们必须全部嵌入到自动生成的HTML页面中。
以下示例脚本需要30秒才能在我的2.2 GHz Core i7(2011 MacBook Pro)上运行
#!/bin/bash
for i in {1..100}
do
dot -o tmp.svg -Tsvg <<Limit
digraph g {
a1 -> a2;
}
Limit
done
渲染单个图形,如下所示(97个边缘未显示)需要0.3秒。
digraph g {
a1 -> a2;
a3 -> a4;
...
a199 -> a200;
}