我正在使用Doxygen在源代码中制作一些GraphViz点图。
问题:特定点文件生成的图表是否保证始终产生相同的输出?
对于不同的计算机,在一天中的不同时间,在不同的架构上是这种情况吗?
我正在考虑使用罗盘点来优化我的图表并让它看起来更漂亮。
我想知道图布局的初始种子或布局引擎的任何“实现定义”部分是否存在任何“随机性”。如果在其他系统上看起来不一样,我不想为我的系统优化输出做很多努力。这将由Windows和Mac用户使用。 TIA
答案 0 :(得分:0)
我使用不同的渲染环境(如online / cli)进行了大量实验。
如果您使用不同的graphviz版本,则很有可能获得不同的结果。在同一版本中,我从未遇到点图中的非确定性问题。
另一个话题可能是,如果你使用特殊的utf-fonts,它可以在不同的系统上呈现不同的。对于例如emoji-Flags渲染在windows与mac / unix上。
也许包装/调用工具如doxygen / understand / pygraph / jgraph / gograph等pp。可能是不同系统上不同点文件的来源。
我会说点图本身在同一版本中是非常确定的。
答案 1 :(得分:0)
我相信,默认情况下,由graphviz生成的图是确定性的,因为初始节点位置和求解器都是这样。要生成其他图像,请将graph属性'start'设置为rand。