unity3d性能优化之将GameObject标记为静态

首先,每一个GameObject都可以标记成静态的或非静态的

默认情况下是不勾选static的(static:静态)

图片.png

那么标记为静态的又有什么用呢?

我们知道在游戏开发,尤其是手机游戏,在节省资源,优化性能方面是很重要的,游戏的大小和流畅度是必须考虑的。

而标记为static后,可以优化效率,使游戏更加流畅。

既然说到static勾选可以提高游戏效率,那么我们所有物体都勾选static不就更节约了吗?

当然不是

所谓静态就是静止的,如果要改变了它的位置,就不是静态的了,静态物体在脚本加载的时候就开始渲染,不随着update 每帧更新,如果要移动物体,就必然要重新刷新,就是动态的了 ,即使你把移动的物体勾选了static,draw calls 也并不会减少,并且效率和原先的一样没有得到优化。

所以通常一直静止的游戏物体,才会勾选static,比如有些游戏场景是不动的,而游戏场景又很占资源,这个时候就可以勾选static了。

通过代码控制

    gameObject.isStatic = false;  

不过这段代码要在游戏物体实例化之前运行才能得到优化,否则不会得到优化。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值