Unity加载设置:Application.backgroundLoadingPriority

最近有个朋友做加载优化,偶然听到他提起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

原文链接

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 翻译自官方文档: https://unity3d.com/cn/learn/tutorials/topics/be...
    su9257_海澜阅读 8,902评论 0 0
  • 这一章来说说AssetBundles,介绍下它的基础系统,还有一些和AssetBundles进行交互的核心API。...
    莫铭阅读 8,009评论 6 10
  • 首先附上原文链接:https://unity3d.com/cn/learn/tutorials/topics/be...
    Bonging阅读 4,332评论 0 0
  • 这部分主要讨论了AssetBundle的如下知识: AssetBundle的基础知识 使用AssetBundle的...
    Wenchao阅读 5,672评论 0 5
  • 翻译:莫铭原文地址:AssetBundle usage patterns 本系列中的上一篇文章覆盖了AssetBu...
    莫铭阅读 10,838评论 1 12

友情链接更多精彩内容