您的位置:首页 > 其它

关于bitmapData,滤镜等一些性能测试

2015-03-31 12:07 295 查看
注:> 指性能更好

1.地图滚动 之 纯copyPixes 和 BitmapData.scroll + copyPixes

结论: copyPixes > scroll + copyPixes 耗时差距1/15 - 1/20 相差不大

2.地图滚动 之 BitmapData alpha 对性能影响

结论:无alpha > 有alpha 差距 30% 以上 机器越差 性能差距越大

注1:将无alpha的位图 放置于sprite 上 对sprite 操作相当于渲染有无alpha的位图

3.unlock 测试

unlock(Rectangle) 解锁区域 比 unlock 全部耗时 稍少

bitmapData.unlock() 即使位图没有任何更新也会渲染全部

4.displayObject.filters = [] 即使没有使用任何滤镜 任何变化 此代码也会渲染对象

顾 需要 .filters = null 不会渲染

5.关于bitmap.visible = false

位图设置不可见以后不会渲染 即使置换bitmapData也不会

6.关于 ColorTransform 滤镜 置换的测试

类似于

private var _ct:ColorTransform = new ColorTransform();

dis.transform.colorTransform = _ct

每帧设置Transfor 或滤镜 即使为同一对象 也会进行再渲染

7.关于bitmap + 滤镜 移动 消耗测试

对bitmap 一开始 加滤镜 每帧移动 则消耗 只有移动消耗 无滤镜消耗

如果每帧都置换bitmapData 则消耗 有 滤镜消耗

8.关于scrollRect测试

如果对对象使用滤镜 再每帧使用scrollRect 则每帧都有滤镜消耗

如果只移动x y 则没有滤镜消耗

9.关于 removeChild addChild + 滤镜测试

对象一开始使用滤镜 不停 removeChild addChild 则消耗有滤镜消耗



10.TextField即使没有被addChild 或 visible = false 文字改变也会因为更新文本布局消耗少量时间

约8字符 0.2ms 文字较多并由滤镜的情况 可以达到 1ms

11.关于 TextField cacheAsBitmap

文本在加了滤镜以后自动 cacheAsBitmap 以位图方式渲染,即使TextField 移动也依旧为位图 性能消耗很小

如果TextField 未加滤镜 且cacheAsBitmap = false 则文字移动消耗较大性能

持续更新
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: