摘要: 脏矩形技术学习 很久以来由于工作上的繁忙没有写新东西了~hoho~ 本文基于2D表现的游戏,在当今3D大行其道的时代,说2D是否显得格格不入?这个问题我不作讨论,因为本人从事的一直都是2D游戏的开发,所以如果你认为讨论2D技术是一个过时的东西就此打住。 废话不多说,下面进入正题。 优化一直是我在程序中追求的东西之一,想想让自己的游戏在一个古董机器能流畅的运行或者说在当今的机器上,CPU占用率和内存占用率都很低的情况。(毕竟我非常讨厌一个游戏独占了我所有的CPU资源)。 如果从图形接口上作优化,常用的就是使用3D加速和CPU的特殊指令(虽然说DirectDraw能够使用2D硬件加速,但大部分机器 阅读全文
posted @ 2013-02-01 18:40 ☆A希亿 阅读(734) 评论(0) 推荐(0) 编辑
摘要: 矢量图,是靠 cpu运算出来的。而位图记录的颜色信息都保存在了内存中。把矢量图缓存成位图,以减轻cpu的运算压力。cacheAsBitmap 属性 cacheAsBitmap:Boolean[读写] 语言版本:ActionScript 3.0 运行时版本:AIR 1.0, Flash Player 9 如果设置为 true,则 Flash Player 将缓存显示对象的内部位图表示形式。此缓存可以提高包含复杂矢量内容的显示对象的性能。 具有已缓存位图的显示对象的所有矢量数据都将被绘制到位图而不是主显示。 然后,将位图作为贴紧到最接近像素边界的未拉伸、未旋转的像素复制到主显示。 像素按一对一与父 阅读全文
posted @ 2013-02-01 13:43 ☆A希亿 阅读(1250) 评论(0) 推荐(0) 编辑
摘要: 请尽可能使用对象池。另一个重要优化称为对象池,涉及到不断重复使用对象。在初始化应用程序期间创建一定数量的对象并将其存储在一个池中,例如 Array 或 Vector 对象。对一个对象完成操作后,停用该对象以免它占用 CPU 资源,然后删除所有相互引用。然而,不要将引用设置为null,这将使它符合垃圾回收条件。只需将该对象放回到池中,在需要新对象时可以对其进行检索。重用对象可减少实例化对象的需求,而实例化对象成本很高。还可以减少垃圾回收器运行的机会,从而提高应用程序运行速度。以下代码演示对象池技术:package { import flash.display.Sprite; ... 阅读全文
posted @ 2013-02-01 11:30 ☆A希亿 阅读(371) 评论(0) 推荐(0) 编辑