3、如何选择缓存优化3.1 内存与CPU的考量bitmap模式与内存增加
在上例中我们也可以看到,当使用bitmap位图缓存模式后,在CurMem内存数值上有所增加,由之前的17.22M增加到了18.27M,因为缓存位图时消耗了部分内存,但只要UI的宽高不是很大,增加的内存也不会太大。频繁刷新的CPU消耗
最需要注意的是UI是否会频繁的刷新,如果很频繁,CPU的损耗会很大,因为缓存位图时子对象一旦发生改变,那么引擎会自动重新缓存位图,缓存位图的过程会消耗CPU。
那么选择使用cacheAs的normal还是bitmap模式,或者不使用cacheAs,我们需要对内存的增加与CPU消耗作为重点考量因素。3.2 测试是否频繁重绘
LayaAir引擎提供的DebugPanel调试工具可以帮助大家查看游戏重绘区,在代码中增加
DebugPanel.init();
方法 ,编译运行项目后,浏览器中会出现调试窗口,如图4所示。
(图4)
我们勾选“
显示当前cache重绘
”选项或“
显示所有重绘区域
”。如果UI进行重绘了,重绘区域会显示出绿色框线,绿色框的左上角显示了重绘次数与重绘时间,性能统计工具的Sprite、DrawCall等也会发生改变。
实际上这种频繁刷新的不建议用