`
tinggo
  • 浏览: 45002 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

2012-3-15

    博客分类:
  • RIA
阅读更多
这几天一直在Starling引擎的基础上完善游戏逻辑部分,但是当把所有资源铺在stage3D上后发现这帧率不像是一个拥有硬件加速所应该有的样子。电脑帧率只有20帧,更别说iPad2上的了。一般而言iPad2和PC(4核3.2GHZ 4G)相比,帧率一般要少一半。
于是便进入痛苦的代码优化时间。花了整整一个下午,寻找并且优化了两个地方。
其一就是对于addChild和removeChild这两个函数的频繁调用。我的频繁是每一帧都在大量的调用,大量指的是一个MovieClip下的所有显示对象(这里的MovieClip早已不是ActionScript3所提供的2DMovieClip,而是继承自Starling的Sprite自制的MovieClip,使其拥有3D加速功能)。频繁的调用addChild和removeChild会很影响性能。我把这部分的代码优化后,帧率从20帧提高到了30帧。但是还不够,如果PC上运行是30帧iPad2仍然性能很低。在接下来的几个小时里我发现几个赋值语句的执行时间特别长。我将它们注释之后发现帧率突然稳定在60帧。这让我很奇怪。经过多次实验发现ActionScript3对于XML的操作效率是比较低的。比如XML.attribute(),我后来把XML全部进行预处理,就是在loading阶段便把XML所描述的数据结构使用Object来替代。让缓慢的操作全部轰到loading阶段并且只执行一次。
经过这两段代码的优化后发现PC帧率达到58fps,iPad2帧率达到26帧。基本满足游戏的需要。
另外iPad1的性能是iPad2的一半。适应Air3.2在iPad1上稍微做复杂点的游戏很容易出现内存爆掉的情况。

总体感觉ActionScript其实比C++这种语言更需要深厚的基本功,否则制作对性能要求高的东西,在优化阶段会很摸不到头脑。
分享到:
评论

相关推荐

    软件工程实用教程(2版)-第3章-习题与参考答案-2012-3-15.pdf

    《软件工程实用教程(第2版)-第3章-习题与参考答案-2012-3-15.pdf》这一章节主要涵盖了软件需求分析的核心概念和方法。需求分析是软件开发过程中的关键环节,其主要任务是确定软件系统需要完成的功能,即“做什么”,...

    BC1.2 plus errata 2012-3-15.pdf

    《USB Battery Charging 1.2 规范及2012年3月15日修订版解析》 USB Battery Charging (BC1.2) 是USB Implementers Forum (USB-IF)下设的BC小组制定的一项关键协议,其目标是统一和优化电池充电的标准。这个协议建立...

    2012-2013中国数字出版产业年度报告

    - **数字报纸(不含手机报):** 收入15.9亿元。 - **博客:** 收入40亿元。 - **在线音乐:** 收入18.2亿元。 - **网络动漫:** 收入10.36亿元。 - **手机出版(含手机彩铃、铃音、手机游戏等):** 收入486.5亿元...

    php_手册2012-05-31_zh

    3. **流程控制**:包括条件语句(if、else、switch)、循环结构(for、while、do-while、foreach),以及跳转语句(break、continue)。 4. **函数和类**:PHP支持自定义函数,可以定义全局函数和类方法。面向对象...

    ntfs-3g_ntfsprogs-2012.1.15.tar.gz

    这个软件包的名字"ntfs-3g_ntfsprogs-2012.1.15.tar.gz"暗示了我们正在处理的是2012年1月15日版本的NTFS-3G和ntfsprogs的源代码。 安装和配置NTFS-3G的过程中,需要特别注意的一点是,为了正确处理中文字符,我们...

    IEEE802.15.4g-2012

    标题 "IEEE802.15.4g-2012" 指的是一个特定的IEEE(国际电气和电子工程师协会)标准,该标准是IEEE 802.15.4标准的一个修订版,日期为2012年。这个修订版针对的是低速无线个人区域网络(LR-WPANs),主要是为了满足...

    ISO-IEC 14443-3-2011.pdf

    ISO-IEC 14443-3-2011.PDF是2011-04-15公布的,是14443-3第2版。截止2014.05.27, ISO又公布了几个14443-3更新。 ISO/IEC 14443-3:2011/Amd 1:2011, Electromagnetic disturbance handling and single-size unique ...

    php+java开发部署环境配置2012-11-15

    本文将详细解析"php+java开发部署环境配置2012-11-15"这个主题,包括核心概念、步骤以及可能遇到的问题。 首先,我们要明白PHP和Java是两种不同的编程语言,它们各自有着独立的运行环境。PHP常用于服务器端脚本,...

    SwfTools2012-10-15-1307

    这个2012年10月15日发布的版本号为1307的SwfTools,包含了多种实用工具,使得用户能够方便地在不同格式之间进行文档转换,尤其适用于创建类似百度文库的在线预览功能。 1. **PDF2SWF**:这个工具允许用户将PDF文档...

    几个重要的c程序源码.rar

    2012-06-11 15:37 3,956 移通短信接口Web(vs2008 asp.net c#源码).rar 2012-06-11 15:47 441,600 第五章_能力风暴智能机器人编程实例.pdf 2012-06-11 15:16 386,555 纯VB编写的水果机游戏源码.rar 2012-06-11 15:35 ...

    傲游浏览器v3.3.6.2000 [2012-3-22]

    3.3.6.1000 2012-03-15 本次更新解决了下列问题: [主框架] * 某些情况下收藏栏向右箭头的下拉菜单冗余绘制 * 侧边栏图标拖动时出现空白占位符 * 某些情况下侧边栏的"查看更多应用"的按钮无效 * 添加收藏时目录过多...

    日期间隔计算器

    输入开始日期、结束日期,就会显示两个日期之间相差的年、月、日、周、时、分,比如2012-1-26与2012-3-15之间相隔0年,2个月,50天等;同时会显示相应公历对应的阴历、节假日、节气等信息。 每次打开工具,开始日期...

    《C语言程序设计》2011-2012-2B_2012-6-2.doc

    15. `b *= a+1` 将 `b` 的值更新为 `b * (a+1)`,即 `6 * 6`,结果是 `36`。 16. `(s=c1==c2)||(t=c3>c4)` 中,`(c1==c2)` 为 `false`,`(c3>c4)` 为 `true`,因此 `s` 被赋值为 `1`,而 `t` 被赋值为 `1`。 17. `...

    福建省宁德市2012-2013学年高一化学下学期期末考试试题(无答案)新人教版

    15. 化学物质性质: - 纤维素、淀粉都是高分子化合物。 - 浓硝酸能使皮肤变黄,是由于蛋白质发生了颜色反应。 - 蛋白质主要由C、H、O、N等元素组成,不是只有C、H、O。 - 油脂在碱性条件下水解生成甘油和肥皂。 ...

    数据-2012-2019年中国老年抚养比.rar

    3. 劳动年龄人口:15岁至64岁的人口数量,是计算老年抚养比的基础。 4. 老年人口:65岁及以上的老年人口数量。 5. 相关统计数据:可能还包括人口总数、出生率、死亡率等人口学指标。 6. 地区划分:数据可能按省份...

    2012-9-15赢时代北京产品经理大会1

    1. 产品经理大会:文档提到的“2012-9-15赢时代北京产品经理大会”指出了这是一次针对产品经理的专业会议。产品经理是负责指导产品从概念到市场的全周期的关键角色。会议通常涉及产品策略制定、市场趋势分析、用户...

    2012-2-23-99984.pdf.zip

    15. **Java 8及以后的更新**:包括Lambda表达式、Stream API、Optional类等新特性,增强了Java的功能和表达力。 由于原始的描述和标签没有提供具体细节,以上只是对Java编程语言的一般性概述。如果要深入学习或理解...

    WindowsXP SP3传真组件

    2012-02-16 09:17 3,426 FXSPERF.DL_ 2012-02-16 09:50 932 FXSPERF.IN_ 2012-02-16 09:18 122,411 FXSRES.DL_ 2012-02-16 09:50 19,477 FXSROUTE.DL_ 2012-02-16 09:50 10,582 FXSSEND.EX_ 2012-02-16 09:18 37,188...

    若干源程序资料12.rar

    2012-06-11 21:07 765,000 AS3游戏编程大学.pdf 2012-06-11 21:40 750,563 ATL开发指南源码.rar 2012-06-11 21:05 186,863 BIOS练习工具加BIOS完全手册.rar 2012-06-11 21:03 340,134 C++ Primer Plus.第五版.习题...

Global site tag (gtag.js) - Google Analytics