画布绘制客户端与预处理的SVG图形

时间:2013-10-04 06:54:03

标签: javascript node.js mobile canvas svg

背景:

我正在开发的一个图形项目在PC上运行得非常好(快速),但在许多平板电脑上(这里是原版iPad)它使我的Canvas图形非常慢。图形是我项目的主要部分,所以这非常接近不可接受。

我正在考虑调查SVG作为解决方案,但我是SVG noob。我喜欢整个可扩展(矢量)的好处,但我担心文件大小。我目前只是向客户端提供少量数据Canvas绘制fn并让浏览器绘制画布。这在服务器上很容易,对带宽很有用,但对平板电脑处理器来说可能太多了。

但是,在我的图形中有几百个SVG(“节点”),SVG产生的文本量似乎是 HUGE

问题:

我有时间在本地预处理我的所有图片,如果我能弄明白怎么做,就上传到生产。如果我在本地网页上创建SVG图形(当然是编程的 - 也许是NodeJS),我能以某种方式将完成的图形转换为文件(是“数据uri”是什么?)然后压缩它(gzip)?我已经通过AJAX调用调用了我的图形,所以没有那么重要。

如果我执行此预处理,结果会减少应用客户端的工作量吗?即使对于几百个绘图项,(当前虚构的)gzip压缩SVG的文件大小是否会很小?鉴于它只是绘制而不是处理大量的Javascript绘制画布对象,SVG会更快是否有意义? (我正在使用KineticJS,它非常好的imo,就像我说的,在电脑上很棒)。

这是可行的,还是你认为我正在吠叫错误的树来解决绘图速度问题?是否已经以编程方式创建/压缩SVG的解决方案?一如既往,谢天谢地。

0 个答案:

没有答案