在我看来,在为动态数据可视化编写代码时,我最终会在不同的语言/平台上反复做同样的事情。现在,如果我有一个跨平台语言(我做的)和类似SVG的二进制版本,我可以使我的代码目标,并使用/创建解释器用于我目前需要使用它的任何平台。
我不想要SVG的原因是因为明文部分对我来说太慢了。我当然可以创建自己的中间格式,但是如果已经有各种各样的东西实现了,那么我的工作就越少!
答案 0 :(得分:2)
根据“太慢”的含义,答案会有所不同:
正式地说,SVG与二进制格式最接近的是SVGZ,它是一个带有.svgz
扩展名的gzip压缩文件。 All conforming SVG viewers should be able to open it.在* nix系统上制作一个很简单:
gzip yourfile.svg && mv yourfile.svg.gz yourfile.svgz
你也可以试试Brotli compression,它往往会有更小的文件大小,代价是更多的压缩时间。
SVG只能通过base64 encoding捆绑位图和其他二进制数据,这会产生相当大的开销。
PDF可以包含原始二进制数据的“流”,并且在以编程方式生成时具有惊人的效率。
这很棘手。 PDF及其兄弟Encapsulated PostScript也是旧的,支持良好的矢量图形格式。不幸的是,它们也是文本的核心,可选择压缩。
您可以尝试Computer Graphics Metafiles,可以提前编译。但我不确定他们对消费者设备的支持程度如何。
答案 1 :(得分:0)
Adobe Flash SWF文件可能会起作用。由于以前的普遍性,为许多平台编写了“播放器”和库。规范是开放的,并获得许可。对于简单的2D图形,更早的版本,更兼容的版本会很好。
文件是二进制文件,非常小。