作者cjcat2266 (CJ Cat)
看板Flash
标题Re: [情报] AS3 多执行绪
时间Mon Dec 7 17:53:14 2009
今天总算有机会尝试AS3的非同步运算(Asynchronous Computation)了~
http://cjcat.blogspot.com/2009/12/asynchronous-computation.html
我学弟修了一门"Social Networks"的课
他打算用AS3载入一个有80000个node的graph的XML资料
解析之後用自己的class来把这个graph建构出来
结果他遭遇到了Flash Player "一个frame占用15秒即死当" 的特性
然後我也忘记这个特性怎麽规避
不过就算能够让Flash Player过了15秒还继续执行
一个frame占用超过15秒绝对不是好事
因为开工作管理员一看,就会发现CPU占用100%
於是我想起了Trevor McCauley写的AS3非同步运算教学
就来试着用这个方法来解决学弟的问题
简单来说,每个frame我只分配给他16毫秒(约相当於60fps)
当时间到了,回圈就自动跳出,结束这个frame,并且记录现在的进度
下一个frame再继续运算
这样的话,就不会让Flash Player的一个frame死当,也不会占用CPU资源太多
有兴趣的人可以参考一下:)
--
CJ Cat = Croa'J Cat = Cockroach Cat = 西街凯特 = 蜚蠊猫 = 蟑螂猫
Blog
http://cjcat.blogspot.com
Gallery
http://cjcat2266.deviantart.com
ptt2 Board CJWorkshop - 阿多比闪光(Adobe Flash)研讨区
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.45.161.60
1F:推 kuwood:虽然还要一段时间才可能碰到这个...推推推XD 12/07 19:14
2F:推 Angelliya:推荐这篇 :] 12/07 19:19
3F:推 etrexetrex:超强 12/07 20:15
4F:推 wljimkk:os? 排班? 先来先做?? 12/08 02:57
5F:→ wljimkk:没想到系统程式的概念还可以用到FLASH上... 12/08 02:58
6F:推 metalalive:推McCauley , 不过我应该是我懒,还是绝得那有点麻烦:p 12/10 22:45
7F:→ cjcat2266:除了这招,我也想不出有什麽方法可以降CPU消耗量了... 12/10 23:28
8F:→ GGPlay:先用ByteArray压缩储存XML可以优化一下吗 12/13 13:46
9F:→ cjcat2266:那会需要Flex SDK的[Embed] tag 12/13 16:12
10F:→ cjcat2266:不过还是得透过XML() method将String转成XML 12/13 16:13
11F:→ GGPlay:不过还有一种思路,这是在外国Flash的blog看来的,提供下当 12/14 13:37
12F:→ GGPlay:当作思考,当然是麻烦点,但是可以节省比较多流量,就是把 12/14 13:38
13F:→ GGPlay:XML存进ByteArray,压缩後再写入local,另外再做一个编辑器 12/14 13:40
14F:→ GGPlay:可以读取二位的xml然後也提供储存到本地的方法。详情:blog 12/14 13:41
17F:→ GGPlay:希望对你们的project有帮助^^ 12/14 13:50
18F:推 klit1987:推 12/24 06:30