我正在编写我的第一个flash as3游戏引擎,并且有一个函数调用让我担心性能。
在我渲染其他精灵之前,每个帧都使用fillRect函数用黑色填充我的“渲染位图”。
然后只是为了好玩,我跳过了fillRect函数只是为了看看我会获得多少性能,而且没有调用fillRect我的Alcon FPS计数器最大值为112fps,当我调用它时,我得到90左右的一些文本和精灵
所以我的问题是,有没有办法优化或更快的方式用颜色填充屏幕?
干杯!
答案 0 :(得分:1)
我很确定fillRect是重置BitmapData对象的最快方法。我不确定alcon fps计数器是如何工作的,但是填充rect应该花费不到一毫秒,除非你的位图很大或你的系统很旧。
(我假设您正在做某种位图blitting,这就是为什么你需要每帧擦除位图?)
答案 1 :(得分:0)
是否有某种原因你不能在你的画布(或者你正在绘制的任何东西)后面放置一个永久的黑色物体,然后在进行精灵绘制之前做this.graphics.clear()
?
这就是我的建议。让在其上绘制精灵的组件是透明的,每次都重置它。