美文网首页Unity开发
Unity加载设置:Application.background

Unity加载设置:Application.background

作者: 不文不武的禾文 | 来源:发表于2020-03-18 22:34 被阅读0次

最近有个朋友做加载优化,偶然听到他提起Application.backgroundLoadingPriority ,就顺便看了一下!

Application.backgroundLoadingPriority:

这是Application类的一个个静态属性,可以控制后台加载线程的优先级,从而控制异步加载资源所需的时间,以及后台加载时对游戏性能的影响。

适用API:

加载对象(Resources.LoadAsyncAssetBundle.LoadAssetAsync,AssetBundle.LoadAllAssetAsync),场景(Application.LoadLevelAsync,Application.LoadLevelAdditiveAsync)的异步加载函数在单独的后台加载线程上进行数据读取和反现实化,并在主线程上进行对象集成。

根据backgroundLoadingPriority 值限制了主线程上的集成时间:
- ThreadPriority.Low - 2ms;
- ThreadPriority.BelowNormal - 4ms;
- ThreadPriority.Normal - 10ms;
- ThreadPriority.High - 50ms.

这是异步操作可以在主线程的单帧花费最长时间。

单帧花费时间越多,可加载的数据越多,因此帧率将有所下降,较为影响游戏性能,但可减少加载资源的时间,能更快的进入游戏!

反之,单帧花费时间越少,可加载的数据越少,对游戏的游戏性能影响较小,可在游戏进行时有很好的后台加载。

using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour {
    void Example() {
        Application.backgroundLoadingPriority = ThreadPriority.High;
    }
}
image.gif

参考资料:Unity官方文档 Application.backgroundLoadingPriority

原文链接

相关文章

网友评论

    本文标题:Unity加载设置:Application.background

    本文链接:https://www.haomeiwen.com/subject/zwshyhtx.html