Version: 5.3 (switch to 5.4b)
言語English
  • C#
  • JS

スクリプト言語

好きな言語を選択してください。選択した言語でスクリプトコードが表示されます。

Application.backgroundLoadingPriority

フィードバック

ありがとうございます

この度はドキュメントの品質向上のためにご意見・ご要望をお寄せいただき、誠にありがとうございます。頂いた内容をドキュメントチームで確認し、必要に応じて修正を致します。

閉じる

送信に失敗しました

なんらかのエラーが発生したため送信が出来ませんでした。しばらく経ってから<a>もう一度送信</a>してください。ドキュメントの品質向上のために時間を割いて頂き誠にありがとうございます。

閉じる

キャンセル

マニュアルに切り替える
public static var backgroundLoadingPriority: ThreadPriority;
public static ThreadPriority backgroundLoadingPriority;

説明

バックグラウンドのスレッドの優先順位を設定します。

バックグラウンドでロードしている間、「非同期的にデータをロードするのにかかる時間」か「ゲームへのパフォーマンス的影響」のどちらを犠牲にするかを制御します。

オブジェクトを非同期でロードする関数(Resources.LoadAsyncAssetBundle.LoadAssetAsync、AssetBundle.LoadAllAssetAsync)、シーンをロードする(Application.LoadLevelAsync、Application.LoadLevelAdditiveAsync) は、別スレッド(バックグラウンド ローディング スレッド)でデータの読み込みデシリアライズを行い、メインスレッドにオブジェクトをインテグレートします。 「インテグレーション」はオブジェクト型やテクスチャー向けに依存し、メッシュは GPU 側にデータをアップロードし、オーディオクリップは再生用データを準備することを意味します。

To avoid hiccups we limit integration time on a main thread depending on backgroundLoadingPriority value:
- ThreadPriority.Low - 2ms;
- ThreadPriority.BelowNormal - 4ms;
- ThreadPriority.Normal - 10ms;
- ThreadPriority.High - 50ms.
これは、すべての非同期式の動作がメインスレッド上の単一フレーム内で費やすことができる最大時間です。

バックグラウンド ローディング スレッドは、直接、backgroundLoadingPriority を使用します。

	// 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;

// 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;
using UnityEngine;
using System.Collections;

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

関連項目: ThreadPriority 列挙体、AsyncOperation.priority