引用:
原帖由 LDZL 于 2008-4-9 11:51 PM 发表 
flash能力很小很小,很多人把它夸大。flash能干的事,其他工具早都会干,且干得更好。
flash为了简单于操作,而落后于技术。
就那as来说,其他语言(C++,java)所能实现的要比AS强的多。而且越来越方便易懂。就 ...
你没搞清楚FLASH的应用方向,
你只基本知道这些东西片面,而不知道为什么会这样
你的比较对象有错误。
它应用方向中是WEB应用程序,是在浏览器中运行的程序,先天的限制决定了他的功能无法与本地应用程序拼,也必需不能与本地应用程功能一样。
从安全方面讲,为什么它必需有安全限制,为什么从as1到as3他对本地电脑的相关操作,对网络资源的操作限制越来越多了,因为他必需的安全,这样大家才能放心的安装flashplayer,才不会糟到封杀,看看activex吧,功能强大,所有软件能干的事都能干,所以,用户就不敢装了,所以就不能普及。
从大小方面讲,flashplay这个播放器为了能让更多人方便的装上,他必须得小,小决定了他不能有太多功能,比如3D表现就是很大一块,要增强3d效果,就要可以直接引用显示的GPU,顶点计算,渲染等来减少CPU的工作,来增加显示的刷新率,现在常用的有direct3d和opengl,但要引入这些开发包要考虑的东西很多,需要花费很多字节,为什么?因为他是跨平台的,他需要考虑到不同平台间的差异,要考虑不同显示的驱动问题,所以,现flash 10出来,也不是直接支持3D,也只利用到了GPU,
从比较方面来说,跟flash同一战场的是Silverlight和java,前者非普及,后者现在跟flash相差十万八千里,凭着昔日众多程序的支持在喘息,在3d表现方面为什么效果不如传统应用程序,很简单,因为传统应用程序可以使用direct3d和opengl,这两个工具可以提供非常强,可以调用显示全部机能的API来减少对CPU的占用,那么AS呢,你看到的画面那是写这个FLAHS 3D API人的汗水结晶,是通过对平面拉伸,矩阵计算等来表现3D画面的,他们无法调用显示的机能,而这些操作在使用direct3d等时,是直接由显卡的硬件提供计算的,所以他们的算法千挑百练来减少对CPU的占用,只有在有限的环境时,人的智慧才能得到最大的发挥,没有条件,只要有一个通路可以到达目地,那么就可以创造出这个通路来实现相似的功能。。