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

来源:互联网 发布:java发展史 编辑:程序博客网 时间:2024/05/21 09:59

注:> 指性能更好

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 则文字移动消耗较大性能


持续更新


0 0
原创粉丝点击