- 浏览: 1087787 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (695)
- 心情日记 (14)
- AS开发工具 (12)
- 文章转载 (99)
- AIR (5)
- 问题总结 (46)
- SWF格式 (7)
- 测试总结 (10)
- 外文资料 (9)
- 算法技术 (33)
- AS3常用开源库 (43)
- 源码范例 (102)
- FLEX (72)
- FLASH 优化 (33)
- 游戏开发 (49)
- 开发技术 (11)
- 工作应用 (34)
- AS3收集 (140)
- WebBase (0)
- 开发构想 (4)
- 设计模式 (2)
- 框架和框架范例 (19)
- RED5 (3)
- java开发 (3)
- JAVA (1)
- FLASH-3D (23)
- 3D (6)
- 书籍 (10)
- 业界信息资料 (3)
- C# (1)
- JavaScript (12)
- HTML5 (6)
- Flixel (1)
- D5Power RPG网页游戏引擎 (0)
- ColorMatrixFilter - 获得相应颜色的色调 函数 (0)
- Starling (0)
最新评论
-
老顽童203:
字体
水果忍者鼠标跟随特效制作[转载] -
hairball00:
[转] 放出超多的Flash组件源代码 -
he74552775:
flash AS3 RegExp简单功能用法(转) -
hanshuai1232000:
第四点,有利也有弊,等你做了大型的aprg,你就知道了
[转]位图数据内存优化 -
yangfantao:
太感谢
[转] 放出超多的Flash组件源代码
http://uh.9ria.com/space-109929-do-blog-id-7583.html 这节内容其实是AS版数据结构与算法,在AS中性能瓶颈在主要渲染,所以大部分开发人把优化精力放在渲染从而忽略在数据层的优化。不同的数据组织(数据结构)直接影响你的数据操作效率,在大多量语言中都提供丰富的对象容器,比如java中的Set,Map,Array,Queue等等,其中封装了大量的针对于某种数据结构的操作方法,从而大大提高了数据操作效率和开发效率,在as3中内置的线性结构只有Array一种,大家也别无选择。在数据量不是很大的时候数组和其它数据结构的差异体现的不是很明显,但是如果你对大量数据进行删除和插入,这时候你的可能需要考虑其它的数据结构,比如:链表。 我们来了解一个不同的数据结构有什么不同的特性,如果你大学学的数据结构没有遗忘的话你可以不用看这一段文字。任何一种存储结构都有他的优点和缺点.下面我们来具体的特性:
数据结构 优点 缺点 数组 随机存储快 查找和删除慢 有序数组 相对无序查找快 删除和插入慢 栈 后进先出方式操作很快 其它操作慢 队列 先进先出方式操作很快 其它操作慢 链表 删除和插入快 查找慢 二叉树 删除和插入,查找都很快 如果非平衡就很慢 堆 对最大数据项删除和插入很快 其它很慢
AS3没有内置这些数据结构,但是我们可以选择第三方库,最著名的就是国外一个人写的polygonal,但是polygonal存在一些严重问题,我的有一篇日志详细说明(http://uh.9ria.com/space-109929-do-blog-id-7310.html),我们采用另一款数据结构库ASDS做demo(这里下载http://code.google.com/p/dsforas/)。 我来举一个简单的游戏实例来说明游戏中数据组织的重要性,假如我们在斗地主游戏中服务器给我们发牌或出牌我们必须保证手中的牌都是有须的,如3,4,5,6,........;我们一般的做法只就是将所有的牌存在一个数据中,然后将向数组中进行插入数据。 public function insert(index:uint,o:*):Void{ var size:int=_array.length; if(index>size) return; for(var i:int=size;i>index;i--){ _array[i]=_array[i-1]; } _array[index]=o; } 在数组中每做一次插入是将插入位置以后的数据向后移动腾出空间后再写入指定数据,在移动数据的过程中消耗了大量时间。
假如我们采用链表的存储方式,由于链表(如果不知道什么是链表可以去百度是查一下,我这里不重复)的结构特性所以插入效率非常高,具体的我看图吧. 以上只是理论,我们来做一个效率测试吧. package { import asds.list.LinkedList; import flash.display.Sprite; public class Demo extends Sprite{ private var _array:Array=[] private var _linked:LinkedList=new LinkedList(10000); public function Demo(){ for(var i:int=0;i<10000;i++){ linked(); array() } } private function linked():void{ _linked.addAtFirst(0); } private function array():void{ insert(0,0); } public function insert(index:uint,o:*):void{ var size:int=_array.length; if(index>size) return; for(var i:int=size;i>index;i--){ _array[i]=_array[i-1]; } _array[index]=o; } } } 以上是一个插入测试,分别对数组和对链表进行1w次插入0到0位置,在profile中可以看到调用array()和linked()消耗总时间分别为24980毫秒和102毫秒,做这种操作linked快24倍(大家可以自行测试,不同的电脑硬/软件环境测试的结果可能不一样)。 以上对数据结构所讲的非常浅,如果大家要深入的学习数据结构,请买一本书好好研究一翻,这篇文章的目的是呼吁大家重视数据结构基础的学习。在我对我面试的一些人和身边的同事中了解得知大部分人对这些基础知识学习和使用经验非常少.如果要把握工程的整体性能,就应该把握好每个环节,并不是在某些方面做的非常突出,而在某些方面又做的不好,从而造成性能瓶颈。
发表评论
-
[心得] for和for...in...遍历数组的效率,与tonyemotion版完全不同
2011-08-22 21:46 0首先tonyemotion版地址:http://bbs.9ri ... -
[转]TLF 文字布局框架的内存问题
2011-08-09 00:34 0http://bbs.airia.cn/home.php? ... -
[转]flash/actionscript3 性能优化汇总
2011-07-27 01:38 0http://www.iamcoding.com/?p=173 ... -
[转]swf / actionscript3 执行顺序
2011-07-27 01:36 0http://www.iamcoding.com/?p=198 ... -
[转]flash重绘机制总结
2011-07-27 01:35 0重绘,是flash性能的一 ... -
文字如何缩放?
2011-07-26 23:20 1260做个文件打印的东东,需要预览,就是把保存的Sprite类缩小再 ... -
AS3的一些优化计算方法
2011-07-06 12:56 0http://www.cnitblog.com/flashli ... -
[转] 关取绝对值的效率问题
2011-05-26 23:47 1525由一个项目用到很多的绝对值,我简单测试了一下,我想知道Math ... -
[转]Flash终极瘦身术--flash减k
2011-05-25 16:40 1268... -
[新手常见问题] Flash代码优化(整理)
2011-05-18 00:12 0看到代码优化就给复制发上来了,发了才发现文章太旧了,部分过时了 ... -
[转] 蛋疼的adobe,他让我蛋疼了一个下午。buttonMode的问题。。。
2011-05-16 21:05 0在为公司整理架构的时候写button组建。。。发现了一个蛋疼问 ... -
Flash的运行机制:异步单线程
2011-05-11 00:34 1954http://bbs.9ria.com/thread-4862 ... -
[心得] AS3游戏中可视对象上限及位图相关的内存消耗实测
2011-04-29 22:44 0http://bbs.9ria.com/viewthread. ... -
使用弱引用
2011-04-28 19:07 0//true表示使用弱引用 var di ... -
[转] 弱引用。
2011-04-27 01:18 0http://bbs.9ria.com/viewthread. ... -
重新关注AS垃圾回收问题
2011-04-12 00:47 0http://www.shch8.com/blog/post/ ... -
[转]Flash 平台应用性能优化官方文档
2011-04-08 19:54 01. 关于存储 使用适当 ... -
[转]位图数据内存优化
2011-03-31 15:55 2812最近协助同事对Flash相册项目做了程序优化,觉得每个优化步骤 ... -
[转]AS3中Timer,setTimeout,setInterval对gc的对比
2011-03-28 17:08 0http://hongweimail.blog.163.com ... -
[转]自制中文字库嵌入——单色图形面积压缩/加密法
2011-03-23 19:59 1994自制中文字库嵌入—— ...
相关推荐
8. **调试与测试**:开发过程中,使用Flash的调试器和ActionScript编译器来确保代码无误,并进行性能优化。 9. **源文件分析**:压缩包中的“codesc.net”可能是源代码文件或相关资源,如果能查看这些文件,可以...
尽管它与Flash密切相关,但Shockwave通常支持更复杂的功能和更高的性能。 6. **开发Flash播放器应用**:使用这些.NET程序集,开发者可以创建自定义的Flash播放环境,比如一个桌面应用或者Web控件,能够完全控制...
Flash是由Adobe公司开发的一款广泛应用于创建动画、交互式内容和游戏的平台,而ActionScript(AS)则是Flash的灵魂,它是一种面向对象的脚本语言,让开发者能够赋予Flash项目动态行为和功能。 首先,让我们关注...
Flex 4.5 提供了一些关键特性和最佳实践来帮助开发者构建高性能的移动应用。 - **持久化机制**:在移动应用中保存用户数据非常重要。Flex 4.5 支持多种持久化策略,包括本地存储和数据库访问。 - **屏幕适配**:...
【AS3游戏开发基础】 ActionScript 3.0(AS3)是Adobe Flash平台上用于创建交互式内容、游戏和应用程序的主要编程语言。AS3相比于早期版本有着显著的改进,包括性能提升、类型系统强化和更现代的编程模型,使得游戏...
1. **ActionScript3基础**:这是所有Flash程序员的基础,包括变量、数据类型、操作符、流程控制(如条件语句和循环)、函数的定义和调用等。 2. **面向对象编程**:ActionScript3是完全面向对象的语言,理解类、...
在本“Flash游戏编程基础教程6-10”中,我们将深入探讨Flash平台上的游戏开发技术,特别是使用ActionScript这一强大的编程语言。ActionScript是Adobe Flash Professional和Flash Player中的核心,用于创建交互式内容...
13. **游戏开发基础**:通过简单的游戏实例,学习游戏循环、碰撞检测、计分系统等基本游戏编程概念。 14. **粒子系统**:利用ParticleEmitter类创建动态的粒子效果,如烟雾、火花等,提升视觉表现力。 15. **物理...
Stage3D是ActionScript 3.0的一个部分,它提供了一个直接与GPU(图形处理单元)交互的接口,允许开发者创建高性能的实时图形应用,如游戏。Stage3D提供了类似于OpenGL和DirectX这样的底层图形API,但特别针对Flash ...
总结,Flash AS3 相册的制作涵盖了图形设计、编程、数据处理等多个方面,是学习Flash开发和AS3语法的绝佳实践项目。通过不断探索和实践,可以创造出独具特色的互动相册,为网页增添更多生动和趣味性。
1. ActionScript 3基础:AS3是Flash开发的主要脚本语言,它的语法、数据类型、变量、函数以及面向对象编程的概念是学习的基础。 2. Flash图形和动画:了解如何使用AS3绘制图形、制作动画,以及如何控制时间轴和帧率...
高性能计算和高效的存储管理是关键,它们能够快速分析生产过程中产生的海量数据,帮助企业实现精细化管理和预测性决策。例如,通过引入人工智能(AI)技术,企业可以实现智能化的质量控制和检测,提高产品的良品率,...
使用ActionScript 3.0编写的应用程序具有更高的性能和更严格的面向对象编程结构。 首先,我们来看看ActionScript 3.0的核心知识点。ActionScript 3.0是一种强类型、面向对象的脚本语言,它的语法与ECMAScript...
例如,IBM的FlashSystem系列提供了高性能的全闪存存储,而IBM Storwize和Cloud Object Storage则为企业提供了不同层次的云存储解决方案。 企业可以通过私有云实现应用的现代化和敏捷开发,利用Docker和Kubernetes等...
NetApp的FAS系列存储系统因其高性能、高可用性和易于管理的特点,成为新浪IT架构升级的重要选择。 1.3 NetApp技术应用:NetApp的Data ONTAP操作系统提供了统一的存储管理,支持块和文件存储,能有效整合多种工作...
AS3是Flash Professional和Flex Builder等开发工具中的主要编程语言,它提供了面向对象的编程能力,具有更高的性能和更严谨的语法。AS3中的一切都是一个对象,包括舞台(Stage)和显示列表。 2. **舞台(Stage)...
AS3是开发互动内容、游戏和富互联网应用(RIA)的强大工具,其语法严谨,性能优秀,支持面向对象编程。 在AS3中,我们首先会遇到基本的语法结构,如变量声明、数据类型(包括Number、String、Boolean、Object等)、...
Java是一种广泛使用的面向对象的编程语言,以其跨平台、高性能和丰富的类库而著名。对于初学者来说,理解和掌握Java的基础知识是至关重要的。本教程“java新手上路flash教程”旨在通过生动的Flash动画形式,帮助初学...
在IT领域,Flash是一款历史悠久且曾经非常流行的交互式多媒体开发工具,主要用于创建动画、图形、交互式内容以及网络应用程序。本资源"Flash 3D图片展示"是基于Flash 9.0版本的一个项目,它展示了如何利用Flash的...
它与CSS(Cascading Style Sheets)和JavaScript一起,构成了现代网页开发的三大核心技术。HTML可以包含文本、图像、链接等元素,并通过CSS进行样式定义,JavaScript则负责添加动态功能。 “Flash载入HTML”的技术...