1:异步加载场景依旧出现卡顿 :使用异步方式来加载场景,加载过程中的动画和场景还是会出现卡顿?
调用异步加载场景,并不代表主线程不会进行任何计算,由于有些计算必须在主线程进行,所以造成了主线程卡顿,这些计算包括:A:在资源异步加载完成后会有一个处理资源的初始化操作,如Texture.AwakeFromLoad和Shader.Parse, 该初始化操作会造成不同程度的卡顿。B:异步加载场景完成后,还会涉及到GameObject 的实例化操作,当需要实例化的物件数量很大时,也会有一定的卡顿。
解决:对于异步加载场景的优化,建议不要将所有的资源都放到场景中,而是将不会立即使用的资源做成AssetBundle,在使用时对资源做动态加载,不使用时及时卸载,这样即可以优化场景的加载速度,也可以优化内存占用。
tips:旋转相机
float x = Input.GetAxis("Mouse X");
float y = Input.GetAxis("Mouse Y");
this.transform.Rotate(y, 0, 0, Space.Self);
this.transform.Rotate(0, x, 0, Space.World);
网友评论