以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 SVG/GML/VRML/X3D/XAML 』  (http://bbs.xml.org.cn/list.asp?boardid=21)
----  关于SVG效率以及SVG解析问题,望有经验者赐教  (http://bbs.xml.org.cn/dispbbs.asp?boardid=21&rootid=&id=71687)


--  作者:ahhitler
--  发布时间:2/4/2009 2:13:00 PM

--  关于SVG效率以及SVG解析问题,望有经验者赐教
我们公司最近要做个项目,是关于网络拓扑图展现的,可能同时会有将近1000个节点以及链路展现在一张图上。现在选型有applet和svg。applet做过测试性能能达标,但是和原有的html集成可能不太美观,而且和html参数传递上面也有些问题目前。
   用svg的话我的关键问题是关于性能问题(我对SVG还不太了解,如果以下我的观点有理解错误的话还望指教):我知道的是SVG是通过xml文件然后通过SVG解析器生成图形的。那如果我一张图上面有1000多个节点和链路,那我能在改变其中某个节点的位置(相应的链路当然也会改变)能不能局部改动?就是说让SVG解析器只解析改动的节点的图形新位置?这些改动能不能全部通过前台实现,而没有后台的交互?如果仅仅用户拖动一个节点改变其位置需要后台重新生成一份新的xml文件的话那会不会开销太大了?
--  作者:DragonJohn
--  发布时间:2/4/2009 4:15:00 PM

--  
那如果我一张图上面有1000多个节点和链路,那我能在改变其中某个节点的位置(相应的链路当然也会改变)能不能局部改动?(完全没问题,SVG是矢量的,每个元素是XML树中的DOM,位置只是改变其属性)就是说让SVG解析器只解析改动的节点的图形新位置?这些改动能不能全部通过前台实现,而没有后台的交互?(就是前台的,当然也可以传递到后台)


--  作者:Qr
--  发布时间:2/4/2009 4:17:00 PM

--  
SVG实际上就是一个标准的XML,完全可以通过DOM在客户端操控SVG而不需后台处理。
但DOM也存在局限,因为它完全依赖内存处理,受内存限制,对于大型XML文档会非常吃力,甚至无法完全加载XML文档,导致SVG部分数据可能丢失,所以,使用上要小心。
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
46.875ms