自2018年LayaAir2.0 引擎版本诞生起,基于小游戏产业对3D引擎功能的刚需,引领Web-3D引擎技术的我们,始终保持着大版本的更新。
随着LayaAir3.0引擎与3D-IDE的研发启动,开发者会发现,引擎的大版本更新的节奏已经放缓。其实,放缓大版本,并不仅是因为3.0的研发启动。更多是由于常用的功能已经成熟完善,我们需要将更多的精力放到引擎的稳定与优化上。所以,本次版本,我们针对引擎的优化工作做了大量工作。
3D引擎性能优化
性能极致一直是LayaAir的核心目标,对性能优化的作用也丝毫不逊色于功能新增, 甚至在基础功能得到满足后, 引擎底层的性能将是大大的加分项。在本次的2.12.2版本里,最最出彩的部分,应该就在这里了,大家一定要认真阅读哦~
01
优化矩阵更新,降低CPU压力
在之前的引擎版本中,当我们要拿到某一对象的世界矩阵时,需要根据矩阵的更新标记,从自身的local矩阵开始,一层一层的更新矩阵直到scene节点。如果在层级中某一层的local矩阵为单位矩阵时,这一层的更新并无效果。
我们基于此,本次版本做了每个节点的local矩阵是否为单位矩阵的缓存,如果是单位矩阵,我们将省去这一层的更新,对于一些层级比较深的游戏,会有比较明显的效果提升,有效降低CPU压力。
02
增加动画降帧函数,避免性能浪费</