当前位置: 代码迷 >> Web前端 >> WEB端的绘图模式 讨论最优
  详细解决方案

WEB端的绘图模式 讨论最优

热度:554   发布时间:2012-10-12 10:17:04.0
WEB端的绘图方式 讨论最优
目前做了一个监控数据的网站,因为一直要与后台进行交互,即AJAX请求,
这样可能会一连几天都会停留在这个页面上,这个页面的主要需求或者业务(功能):
引用

  • 根据二进制流数据 绘制波形图
  • 根据传过来的一个度数在度盘中显示位置
  • 每秒显示AJAX请求数据
  • 一条数据解析完成刷新历史数据



引用

考虑在WEB端绘制图形和AJAX交互,绘图已知的几种方式
  • JQuery - 插件 HighCharts 图形漂亮,商用付费,与AJAX交互内存增长块  200KB/S
  • SVG - 基于XML的矢量位图,支持除IE外的大部分浏览器,谷歌,火狐等  待测
  • VML- 基于XML的矢量位图,支持IE5.0 以上的浏览器   20KB/S
  • 一直想自己封装SVG和VML 封装了一点感觉封装速度太慢,考虑不了太多
  • Raphael - 封装了SVG 和 VML的JS库,效果怎么样 内存怎么样 没用过
  • 还有一个JavaFX 不知道怎么样 没用过 提点意见
  • JavaChart 就算了吧,服务器端,压力大啊,而且用过 占用带宽啊,显示不流畅

还有其他的什么好用绘图插件,或者JS绘图方式,请回帖告知!
需要耗费内存较少,可持续时间长的方式、、 thank you、、

大家讨论下在客户端使用哪种绘制图形方式比较方便,图形美观,且内存增长缓慢,甚至不增长呢 (重点)
58 楼 奥义之舞 2011-04-21  
ggpp224 写道
Extjs 4 目前还是测试版 beta3,sencha官方已经已经把svg和vml封好了,用户访问的时候js会检测浏览器的不同来自动使用svg或vml,楼主就不用自己封了,相信效率也会比楼主自己封的好。



Drawing & Charting
One of the most exciting new features of Ext JS 4.0 is the brand new Drawing & Charting engine. While earlier releases of Ext JS had charting features, the new charting capabilities in Ext JS 4 are truly groundbreaking, doing away with Flash entirely; in its place: fully JavaScript-powered, DOM accessible charts. Design, development, and even animate the most intuitive, eye-catching charts. No other framework provides this level of sophistication for displaying data. Your users will be amazed.


Native Drawing
It has always been hard to draw things in web applications. HTML is really not cut out for creating charts and other richly interactive imagery, but we really want that in our applications. Typically this need has been met with Adobe Flash, but this gave us two problems: we like writing code in JavaScript, and Flash isn’t available on all devices. Our solution to these problems is a pure-JavaScript drawing library that can create incredibly rich charting and graphics. It works everywhere ― from IE6 to iOS ― and will also be available as an add-on for Sencha Touch.

Powering all of this is Ext.draw, a brand new package for Ext JS 4 which normalizes drawing engine differences and provides a simple unified drawing API. Ext.draw works with SVG and VML, automatically using the best engine it can find on each browser. Everything is vector based, which means you can zoom it to any level and it still looks crisp. (We’re also planning Canvas support for a 4.x release.)

呵呵 头像真可爱
59 楼 Eric.D.Chen 2011-04-26  
    本不想再回复这帖子了,看你们还抱着Flex不放,那我再说说。
    首先,这些东西我都用过。
    第二,我不是在顶Silverlight或者贬低Flex,我说的都是我的经验之谈。
    第三,可以看出回帖的没几个了解过Silverlight的,它和Flex一样也是基于浏览器里的虚拟机,所以和浏览器无关。
    第四,我问问楼上盲目贬低别人的,你用Flex搞个100万行,1000列的Grid,并且填上数据敢不敢?讨论的是效率,我不说Flex很烂,但它确实不咋地。

    Ext目前项目组现在就在用,YUI之前做过2个项目,JQ每个项目里都有影子,用Flex做过一些ERP的动态报表。这些东西“功能本质”上没有什么差别,但是性能上来说Flex确实不咋地(包括通讯),我不知道你们说Flex牛B的到底用到什么程度,但是我觉得至少你们用过的可以对比东西不多,不然你们不会只关注这么一个快被淘汰(个人看法,不喜勿喷)的东西,就好像现在很多人还在研究Swing一样,它现在确实“还能用”,但是它是个什么玩意谁都知道(用WPF搞个可交互的动画UI是很简单的事儿,你敢用SWING么?为什么非得费事搞个废品出来呢)。道理基本都一样。

Flex从2-3-4的变化就能看出来,什么框架没事搞这么大变化,连整个框架体系都说改就改,这就说明他的问题很多。

动不动就举别人的例子说它多好多好的人,我真觉得你根本没用过。

附上Silverlight效率的DEMO,不解释了,自己看:
http://demos.telerik.com/silverlight/default.aspx#GridView/UIVirtualization

最后说一句,感觉“shlei”看样子你不太懂Html5啊。
60 楼 shlei 2011-04-26  
Eric.D.Chen 写道
    本不想再回复这帖子了,看你们还抱着Flex不放,那我再说说。
    首先,这些东西我都用过。
    第二,我不是在顶Silverlight或者贬低Flex,我说的都是我的经验之谈。
    第三,可以看出回帖的没几个了解过Silverlight的,它和Flex一样也是基于浏览器里的虚拟机,所以和浏览器无关。
    第四,我问问楼上盲目贬低别人的,你用Flex搞个100万行,1000列的Grid,并且填上数据敢不敢?讨论的是效率,我不说Flex很烂,但它确实不咋地。

    Ext目前项目组现在就在用,YUI之前做过2个项目,JQ每个项目里都有影子,用Flex做过一些ERP的动态报表。这些东西“功能本质”上没有什么差别,但是性能上来说Flex确实不咋地(包括通讯),我不知道你们说Flex牛B的到底用到什么程度,但是我觉得至少你们用过的可以对比东西不多,不然你们不会只关注这么一个快被淘汰(个人看法,不喜勿喷)的东西,就好像现在很多人还在研究Swing一样,它现在确实“还能用”,但是它是个什么玩意谁都知道(用WPF搞个可交互的动画UI是很简单的事儿,你敢用SWING么?为什么非得费事搞个废品出来呢)。道理基本都一样。

Flex从2-3-4的变化就能看出来,什么框架没事搞这么大变化,连整个框架体系都说改就改,这就说明他的问题很多。

动不动就举别人的例子说它多好多好的人,我真觉得你根本没用过。

附上Silverlight效率的DEMO,不解释了,自己看:
http://demos.telerik.com/silverlight/default.aspx#GridView/UIVirtualization

最后说一句,感觉“shlei”看样子你不太懂Html5啊。


1. html5我没实践过,但还是了解一点的,我上面之所以那样说是因为有人说html5会取代Flex,而我想证明有些东西Html5做不到,silverlight至少到现在也没做出来,Ilog那个法又团队做了20多年,之前也用其他语言实现过,我相信他们肯定是权衡利弊,才选的Flex,跟他们比,我不算什么,你又算什么?还有Html5标准还没定下来,现在就有人大肆推广,这是一种不负责任的行为,万一未来5-10年Html5没成气候,那些人的努力就白费了,说白了,就是“无数的小白鼠冲上去,然后倒下。。。”。不要相信网上那些软文,静下心来用自己的大脑好好想一想,哪个厂家刚出来一个东西不是大肆宣扬这个东西有多好,会取代某某,然后拉来一大车不明真相的小白鼠(程序员)做实验,成功了,发笔横财,小白鼠没什么好处,只是更加依赖这家厂商;失败了,最倒霉的还是小白鼠。Html5能实现的特效,Flex也行,这点那些Flex/AS大牛已经证明了,效率一点都不低,感兴趣的在网上搜例子,但Flex实现的那些大型交互应用(Ilog),Html5不行,所以取代没戏。ps:Html5用标签加一堆JS代码,貌似实现一个特效也没少写啊。

引用
那些程序员搞的流体力学的演示(PK): http://news.cnblogs.com/n/85268/,
银光版,要装银光虚拟机,不想装的直接不用点了:
http://www.cnblogs.com/sandcu/archive/2010/12/21/1913039.html


引用
第二,我不是在顶Silverlight或者贬低Flex,我说的都是我的经验之谈。

把你这句话收回去,一看就是推广silverlight的,群众的眼光是雪亮的,你当大家看不出来啊。silverlight不就是ms修改了一点WPF换了个马甲搞出来的吗?当年Java出来后,ms看着眼红搞了个C#,现在看着Flex/Flash眼红,又搞出silverlight,想分RIA一杯羹,估计没戏,否则他之前也不会要收购Adobe了(当然没收购成,反垄断),如果silverlight足够强,就没必要收购Adobe了。。。

最后告诉楼主一句,用东西,最好用通用的解决方案,应用最多最广的也是出问题概率相对最小的,看看youtube,优酷淘宝等。迄今为止,我看没看到有什么大型应用用到silverlight,TX做的那个银光QQ,卡到不行,还要先装虚拟机,直接忽视之,我之前公司做的一个军方项目,前台完全用Flex做的,也没见出什么问题。还有Nike官网等等,你那点经验也拿出来炫,螳臂当车,有必要么?
最后,我点了你那个链接,没看到效果,让我装虚拟机,我刚点下载,一看6M,直接取消。如果一个程序员都没有这样的耐性(非银光),我不知道用户会作何感想。Flash Player绝大部分高版本浏览器内置,不用装直接用。

最后一句,(个人预测)现在的银光半死不活,MS和Nokia的合作如果再激不起你们这些银光粉的热情(出应用),银光只能完蛋!
黑羽团队已经证明了Flash开发的普通移动应用在Iphone,Android手机上流畅运行是完全没有问题的!并且苹果商店已经允许Flash进入了!只是可恶的媒体选择性失明,没有大肆报道,导致广大人民群众只知道苹果封Flash,不知道苹果已经给Flash放行了,你现在已经能在苹果商店看到Flash应用了!  http://www.kingda.org/archives/kingda/2011/03/flash_6.html

Flex/Flash雄起!
61 楼 Eric.D.Chen 2011-04-26  
引用

引用
第二,我不是在顶Silverlight或者贬低Flex,我说的都是我的经验之谈。

把你这句话收回去,一看就是推广silverlight的,群众的眼光是雪亮的,你当大家看不出来啊。silverlight不就是ms修改了一点WPF换了个马甲搞出来的吗?当年Java出来后,ms看着眼红搞了个C#,现在看着Flex/Flash眼红,又搞出silverlight,想分RIA一杯羹,估计没戏,否则他之前也不会要收购Adobe了(当然没收购成,反垄断),如果silverlight足够强,就没必要收购Adobe了。。。


把你这句话也收回去吧,我一看你就是个死脑筋的程序员。可以看的出来你是个铁杆Adobe粉啊,Adobe的屎对你来说都是香的。你可以抱着你的Flex继续往下走。死脑筋的也就只能做个程序员了。估计你也就会个Web编程之类的,盲目的抵触一切吧~ 给你扫个盲吧,你家的Flex是直接在浏览器上运行的么?越来越喜欢你的无知。

不用拿一堆所谓的谁要收购谁的事情来伦理,太无聊。从你评价C#就能看的出来你也就会个Java,鼠目寸光之辈。你对。net平台估计一点不懂,估计WPF也就知道个名词儿,你拿无知当个性大家不会笑你的,恩,继续。

再说我的那点经验怎么了,我做了几十个项目得出的结论用得着你评论?你怎么看出我是推广Silverlight的,楼主要性能,我用过Flex不咋地我就直说了,你觉得好你就用呗,一个废品看你能搞出什么名堂来。
你这样的所谓的程序员我见多了,可以继续在一科树上吊着,呵呵。我保留我的意见,你可以保留你的意见,但你没资格让我收回我的话。

最后,不要会一个东西就所有的东西都用它实现,多了解多实践,不要被“shlei”之辈误导了,凡事没有绝对,只有最适合的,没有最好的。做程序员的大忌就是闭门造车,外面的新生事物不愿意主动接纳的话很快就会落伍。多了解的基础上重点掌握某种(或几种)技术才是王道。Java程序员照样也该去学习其他语言。
62 楼 lpp333 2011-04-26  
Eric.D.Chen 写道
    本不想再回复这帖子了,看你们还抱着Flex不放,那我再说说。
    首先,这些东西我都用过。
    第二,我不是在顶Silverlight或者贬低Flex,我说的都是我的经验之谈。
    第三,可以看出回帖的没几个了解过Silverlight的,它和Flex一样也是基于浏览器里的虚拟机,所以和浏览器无关。
    第四,我问问楼上盲目贬低别人的,你用Flex搞个100万行,1000列的Grid,并且填上数据敢不敢?讨论的是效率,我不说Flex很烂,但它确实不咋地。

    Ext目前项目组现在就在用,YUI之前做过2个项目,JQ每个项目里都有影子,用Flex做过一些ERP的动态报表。这些东西“功能本质”上没有什么差别,但是性能上来说Flex确实不咋地(包括通讯),我不知道你们说Flex牛B的到底用到什么程度,但是我觉得至少你们用过的可以对比东西不多,不然你们不会只关注这么一个快被淘汰(个人看法,不喜勿喷)的东西,就好像现在很多人还在研究Swing一样,它现在确实“还能用”,但是它是个什么玩意谁都知道(用WPF搞个可交互的动画UI是很简单的事儿,你敢用SWING么?为什么非得费事搞个废品出来呢)。道理基本都一样。

Flex从2-3-4的变化就能看出来,什么框架没事搞这么大变化,连整个框架体系都说改就改,这就说明他的问题很多。

动不动就举别人的例子说它多好多好的人,我真觉得你根本没用过。

附上Silverlight效率的DEMO,不解释了,自己看:
http://demos.telerik.com/silverlight/default.aspx#GridView/UIVirtualization

最后说一句,感觉“shlei”看样子你不太懂Html5啊。


随着时间的推移,flex确实越来越不咋地,2004年的时候看到flex还很惊艳的,可惜adobe浪费了多少时间窗和机会
63 楼 lpp333 2011-04-26  


认真的看一下Silverlight,确实有很多优秀的地方,flex现在是缓步不前,最近几年adobe的表现没有一次能在期望值上的
64 楼 sue9527 2011-04-26  
言必谁要取代谁,言必孰优孰劣, 论调片面且无说服力, 言辞过激后又恶语中伤,没有必要的,就事论事即可
仅仅是用过一种语言,应该也没有太多的发言权吧,多为主观猜测和判断, 不必那么信誓旦旦,胸有成竹
SL和FLEX大概是两个不同的世界,懂SL的未必懂FLEX, 懂FLEX的也未必懂SL,所以两包粉丝没有必要争个你死我活
不管是SL,抑或是FLEX,都视之为一工具,至于你是修花剪草,还是开天辟地,全看你的造化了,
如果实在想分出高下,各自拿出些拿得出手的作品来,用事实说话。
飘走~~~~~~~~~~~~~~~~~~~~
65 楼 shlei 2011-04-26  
引用
给你扫个盲吧,你家的Flex是直接在浏览器上运行的么?越来越喜欢你的无知。

你没有看到么?我说了AVM2和Flash player是浏览器内置的不需要额外安装。这说明你在不看结果瞎评论。
引用
我一看你就是个死脑筋的程序员。

你一看,就凭我上面的几句话,你就一眼看出来了?真看那么准就不在这了!
引用
死脑筋的也就只能做个程序员了。

不讲技术,直接人身攻击的人,我看不起你。看样子你对你手下的程序员也好不到哪去(如果你有的话)。这样看程序员的人,就不用来程序员社区了!看你的ID刚注册没多久,不会是个马甲吧?喷完直接走?
引用
可以看的出来你是个铁杆Adobe粉啊

用一个东西,才会关注,进而了解,理解,然后好的话向大家推崇,不好则弃掉换之。忘了说了,我之前做Java的,C#也做过一段时间,什么三层架构,ADO.NET,GridView当时也是信手拈来。仅从这一点上就说明你看走眼了,看来你看人实在是不准啊。WPF我同学在搞,我也看了一点书,了解不多,但从银光的各种表现上也能猜出一二。
引用
要被“shlei”之辈误导了

一棒子打死一群人,谁在误导?不解释。
引用
凡事没有绝对,只有最适合的,没有最好的

你这话貌似把你之前的回帖反驳了,前后矛盾啊。
楼上一味地说Flex不好,MS的sliverlight好,貌似也很绝对啊。

还有拿出数据来,让数据说话。事实胜于雄辩!
以下是我找到的Flex和Sliverlight对比数据:
http://blog.csdn.net/keeven/archive/2010/01/17/5205016.aspx
http://zhangmeng.blog.51cto.com/310854/88706
http://www.cnblogs.com/lonelyxmas/archive/2009/10/11/1580867.html
http://tech.ddvip.com/2010-02/1265211568144669_2.html
几乎所有的数据都显示到目前为止,Flex相对Sliverlight是占优势的,以后我不敢说,但我相信广大的RIA开源社区不会让Flex/Flash停滞不前的,仅从Sliverlight的闭源以及MS和广大开源社区的对立,我相信Flex/Flash会继续保持这种优势的(Flex Framework是完全开源的,AVM2也是开源的)。

引用
做程序员的大忌就是闭门造车,外面的新生事物不愿意主动接纳的话很快就会落伍。多了解的基础上重点掌握某种(或几种)技术才是王道。Java程序员照样也该去学习其他语言。

这点我是赞同的,就事论事,有些东西可能你没有实现,你就以为他做不到,但那些大牛确实实现了。他们做出来的东西我们不应该无视,应该看人家是怎么实现的,向人家学习。你否定我一个人无所谓,但请不要无视广大的Flex/Flash开发者,你敢把你的这些话在 www.9ria.com 对着那些有多年Flex/Flash开发经验的人说吗?

BTW,我也不是止步不前,我业余时间也在看IPhone开发(这点本来不想说的)。
66 楼 Eric.D.Chen 2011-04-26  
sue9527 写道
言必谁要取代谁,言必孰优孰劣, 论调片面且无说服力, 言辞过激后又恶语中伤,没有必要的,就事论事即可
仅仅是用过一种语言,应该也没有太多的发言权吧,多为主观猜测和判断, 不必那么信誓旦旦,胸有成竹
SL和FLEX大概是两个不同的世界,懂SL的未必懂FLEX, 懂FLEX的也未必懂SL,所以两包粉丝没有必要争个你死我活
不管是SL,抑或是FLEX,都视之为一工具,至于你是修花剪草,还是开天辟地,全看你的造化了,
如果实在想分出高下,各自拿出些拿得出手的作品来,用事实说话。
飘走~~~~~~~~~~~~~~~~~~~~

  

    再次重申,本人不是Silverlight粉,也不是Flex粉,对我来说技术都一样,为人为需求服务的工具而已。我承认Flex有它的优点,但是说实话,现在我真看不到多少。Silverlight也一样,有优点(比方硬件加速,3D性能)也有很多缺点。项目需要哪个我就选哪个,就是一工具。

    对“shlei”说一句,可能咱俩的言辞都激烈了点,但是我觉得彼此都是从技术的角度出发,应该不会往心里去吧?!

    我正式用Flex有快两年了,不是你想的不懂Flex的人,至少是熟练应用。说实话,我真的对它挺失望的,但我还是希望它能完善一下,比方说彻底解决一下内存泄露之类的问题,不然我真不敢用了(我这边企业要用的报表量都很大的,而且客户都不喜欢分太多页)。上个项目是企业内网的ERP,1400人规模,每天十几万数据,周期汇总,用silverlight完美实现,客户也很满意。用完之后公司几个部门技术负责人专门对比了一下,这个项目里Silverlight确实比Flex合适多了。
    总之,对我而言,技术都是工具,区别只是如何使用而已。对于某种需求,哪个适合我就用哪个,就这么简单。
67 楼 lpp333 2011-04-26  
Eric.D.Chen 写道


    再次重申,本人不是Silverlight粉,也不是Flex粉,对我来说技术都一样,为人为需求服务的工具而已。我承认Flex有它的优点,但是说实话,现在我真看不到多少。Silverlight也一样,有优点(比方硬件加速,3D性能)也有很多缺点。项目需要哪个我就选哪个,就是一工具。

    对“shlei”说一句,可能咱俩的言辞都激烈了点,但是我觉得彼此都是从技术的角度出发,应该不会往心里去吧?!

    我正式用Flex有快两年了,不是你想的不懂Flex的人,至少是熟练应用。说实话,我真的对它挺失望的,但我还是希望它能完善一下,比方说彻底解决一下内存泄露之类的问题,不然我真不敢用了(我这边企业要用的报表量都很大的,而且客户都不喜欢分太多页)。上个项目是企业内网的ERP,1400人规模,每天十几万数据,周期汇总,用silverlight完美实现,客户也很满意。用完之后公司几个部门技术负责人专门对比了一下,这个项目里Silverlight确实比Flex合适多了。
    总之,对我而言,技术都是工具,区别只是如何使用而已。对于某种需求,哪个适合我就用哪个,就这么简单。



flex和Silverlight都是用过,个人认为Eric.D.Chen言语相对中肯一点,其他不评价啦。。。。。
68 楼 Eric.D.Chen 2011-04-26  
shlei 写道

......


    我只想问你一句,你在项目里用了多少Flex,你在项目又用过多少可以替代它的?做过对比么?
请你不要总是扯一面大旗扛你肩上,我不是否认你,但是我觉得你的言论不负责,对于外面的那些所谓的大牛们的实现,要么你参与了,要么你用过了,不然的话还是请你做些实际的对比。
    跟你不同,我只相信我亲自实践过的。
引用

这点我是赞同的,就事论事,有些东西可能你没有实现,你就以为他做不到,但那些大牛确实实现了。他们做出来的东西我们不应该无视,应该看人家是怎么实现的,向人家学习。你否定我一个人无所谓,但请不要无视广大的Flex/Flash开发者,你敢把你的这些话在 www.9ria.com 对着那些有多年Flex/Flash开发经验的人说吗?

BTW,我也不是止步不前,我业余时间也在看IPhone开发(这点本来不想说的)。


又回到那个问题上来了,能实现的就一定适合么?我说过了,请你用Flex做个100W行1000列的给自己看看好么?
69 楼 shlei 2011-04-26  
喷了这么多,突然感觉实在是没必要,像一个陌生人证明自己,真的没意思。我只要做好我的事,让我的老板和客户满意就够了。
可能是年轻气盛吧,急于向别人证明自己。。。

还是低头做好自己的事吧。(浪费了一上午的时间啊。:( )
70 楼 chinafather 2011-04-26  
没必要这样争论,没有垃圾的语言,只有垃圾的程序员,混口饭吃,都不容易
71 楼 idle_sun 2011-06-10  
shlei 写道
idle_sun 写道
我不知道flash还是不是前端之王.

但是
在 技术存在弊端、苹果倒戈、adobe转投微软(ms可是有silverlight)、html5兴起等多方面因素. flash(或flex)的被取代是迟早的

跟风?被取代?曾有人说过Java会取代C,现在C的使用率也没下去,曾有人说html5会取代Flex/Flash。。。看着吧,时间会证明一切的。
BTW,如果市场上有html5或silverlight做的Ilog套件,我就承认Flex OUT了。

请各位说Flex会被取代的人看完IBM的Ilog套件再来评价!!!

不应该把C和flex相比吧   C自身没有明显的缺陷,又没有市场竞争的压力(强大的优势摆在哪,即便N年不维护....)。

至少在我的理解中,flash/flex只会在html5起来之前这段的真空期处于王者, 但是它自身的技术问题和市场竞争压力,flash/flex前景不是很好。

至于你说"如果市场上有html5或silverlight做的Ilog套件",这只是时间问题,取决于各大公司推html5的力度(这方便感觉主要倡导者google苹果都有点不给力啊)..

我不是敌视Flex/Flash(兄弟莫激动...)  但是flex/flash现在同时存在自身问题和外部市场压力。 不容乐观。
72 楼 柴秉承 2011-06-23  
可以使用flex flex的数据绑定很方便 可以考虑服务器推送数据到前端 也不用前端一直刷新页面 这样可以节省不少资源
73 楼 rainsilence 2011-06-24  
红四团 写道
HighCharts所renderer出来的每个Element都是可以destroy的,每个element都有destroy方法。HighCharts封装了VML和SVG,基本上能够跨浏览器。每次刷新chart前,你一定要destroy以前的Element,否则肯定会有内存泄漏。其实如果不需要在iPad等不支持Flash的平台上使用,用Flex做图形展现应该是相当不错的选择,Flex还有个好处就是做实时监控比较容易,本身支持socket,可以datapush。



HighCharts所用的svg只限于左边竖着的文字。其余全部使用canvas实现。
74 楼 奥义之舞 2011-06-24  
rainsilence 写道
红四团 写道
HighCharts所renderer出来的每个Element都是可以destroy的,每个element都有destroy方法。HighCharts封装了VML和SVG,基本上能够跨浏览器。每次刷新chart前,你一定要destroy以前的Element,否则肯定会有内存泄漏。其实如果不需要在iPad等不支持Flash的平台上使用,用Flex做图形展现应该是相当不错的选择,Flex还有个好处就是做实时监控比较容易,本身支持socket,可以datapush。



HighCharts所用的svg只限于左边竖着的文字。其余全部使用canvas实现。

这个你是不是观看了源码啊 嘿嘿
75 楼 rainsilence 2011-06-24  
奥义之舞 写道
rainsilence 写道
红四团 写道
HighCharts所renderer出来的每个Element都是可以destroy的,每个element都有destroy方法。HighCharts封装了VML和SVG,基本上能够跨浏览器。每次刷新chart前,你一定要destroy以前的Element,否则肯定会有内存泄漏。其实如果不需要在iPad等不支持Flash的平台上使用,用Flex做图形展现应该是相当不错的选择,Flex还有个好处就是做实时监控比较容易,本身支持socket,可以datapush。



HighCharts所用的svg只限于左边竖着的文字。其余全部使用canvas实现。

这个你是不是观看了源码啊 嘿嘿


恩,是的。并且他的鼠标点击事件只是用map模拟,实际并不精确,但却为我们提供了很好的思路
76 楼 rainsilence 2011-06-24  
好了,大家都别喷了。
我用过Canvas(在iteye上模拟google的那个电吉他),Flex(仔细的研究过底层架构)和JavaFx。(自己公司搞过SilverLight的项目,我也间接的参与过)

感觉在所有的技术中,Javafx的运行效率是最高的,但是由于没有好的可视开发环境及技术本身不够完善,他的开发效率是最低的,可实现的功能是最少的。现在直接被oracle废了。当然最近推出了JavaFx2.0,据说完全用java语言编写。

然后说说Flex/Flash。优势在于在桌面上历史比较悠久,几乎所有的终端都装了flash虚拟机,但是他的内存泄露的非常严重。我曾经仔细研究过Flex的底层framework,在开发类似于FlexBook的时候遇到了性能瓶颈。然后download了flexbook的源码进行分析,发现每播放一次动画,都会有不同程度的内存泄露。终于只能放弃,改投html5。

再说说html5,当然具有可比性的只限于canvas。感觉canvas的绘图效率不如flash。但是,难保google又来次javascript效率革命。让其他厂商继续疲于奔命。然后,因为使用的是原生的,无需插件的javascript,所以不存在特别明显的内存泄露问题。但是,有几个功能是html5永远无法实现的。比如连接摄像头,但flash可以

最后谈谈SliverLight,我对微软的技术从来没啥好感。看微软对SliverLight的规划,更多的是从商业上考虑。完善ie9,对sliverlight来说是一个致命的打击。
77 楼 奥义之舞 2011-06-24  
rainsilence 写道
好了,大家都别喷了。
我用过Canvas(在iteye上模拟google的那个电吉他),Flex(仔细的研究过底层架构)和JavaFx。(自己公司搞过SilverLight的项目,我也间接的参与过)

感觉在所有的技术中,Javafx的运行效率是最高的,但是由于没有好的可视开发环境及技术本身不够完善,他的开发效率是最低的,可实现的功能是最少的。现在直接被oracle废了。当然最近推出了JavaFx2.0,据说完全用java语言编写。

然后说说Flex/Flash。优势在于在桌面上历史比较悠久,几乎所有的终端都装了flash虚拟机,但是他的内存泄露的非常严重。我曾经仔细研究过Flex的底层framework,在开发类似于FlexBook的时候遇到了性能瓶颈。然后download了flexbook的源码进行分析,发现每播放一次动画,都会有不同程度的内存泄露。终于只能放弃,改投html5。

再说说html5,当然具有可比性的只限于canvas。感觉canvas的绘图效率不如flash。但是,难保google又来次javascript效率革命。让其他厂商继续疲于奔命。然后,因为使用的是原生的,无需插件的javascript,所以不存在特别明显的内存泄露问题。但是,有几个功能是html5永远无法实现的。比如连接摄像头,但flash可以

最后谈谈SliverLight,我对微软的技术从来没啥好感。看微软对SliverLight的规划,更多的是从商业上考虑。完善ie9,对sliverlight来说是一个致命的打击。

总结的不错。。。
  相关解决方案