后台加载线程的优先级。
可用于控制异步加载数据所需的时间以及在后台加载时对游戏的性能影响。
加载对象(Resources.LoadAsync、AssetBundle.LoadAssetAsync、AssetBundle.LoadAllAssetAsync)、场景 (SceneManager.LoadSceneAsync) 的异步加载函数在单独的后台加载线程中执行数据读取和反序列化,并在主线程中执行对象集成。
“集成”取决于对象类型和纹理,网格意味着将数据上传到 GPU,音频剪辑可准备数据以进行播放。
为了避免帧率不稳,我们根据 backgroundLoadingPriority 值来限制主线程的集成时间:
- ThreadPriority.Low - 2ms
- ThreadPriority.BelowNormal - 4ms
- ThreadPriority.Normal - 10ms
- ThreadPriority.High - 50ms\
这是主线程的单个帧内所有异步操作可耗费的最长时间。
后台加载线程直接使用 backgroundLoadingPriority。
using UnityEngine;
public class ExampleScript : MonoBehaviour { void Example1() { // Load as much data as possible, as a result frame rate will drop. // Good for fast loading when showing progress bars.
Application.backgroundLoadingPriority = ThreadPriority.High; }
void Example2() { // Load data very slowly and try not to affect performance of the game. // Good for loading in the background while the game is playing.
Application.backgroundLoadingPriority = ThreadPriority.Low; } }
另请参阅:ThreadPriority 枚举、AsyncOperation.priority。
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.