開発中のiOSゲームでスムーズなユーザーエクスペリエンスを作成するには、非同期で実行する必要のあるテクスチャとサウンドエフェクトがプリロードされています。
ゲームプレイ中にこれらのゲームリソースをロードするために、NSOperationQueueとNSThreadのどちらかを決定しようとしています。
NSOperationQueueは明らかに勝者のようであり、多くの利点がありますが、この「バックグラウンド」リソース読み込みタスクを効果的に優先的に制御できることを懸念しています。フレームレートに影響します。
NSOperationQueueには「優先度」の概念があるようですが、NSThreadの「優先度」の概念とは異なって見えます。私が間違っている場合は訂正してください。ただし、NSThreadの優先度はシステムで実行されている他のスレッドに関連しており、NSOperationの優先度は他のキューに入れられたタスクに関連するそのタスクの優先度です。
私が知りたいのは…。
デバイスで現在実行されている他のスレッドと比較して、特定のNSOperationQueueタスクの優先度を(相対的な優先度と他のキューに入れられたタスクとではなく)消費できるサイクル数に関連して制御する方法はありますか?
NSOperationQueueのタスク内で、現在のスレッドの優先度を変更しても安全ですか?(NSThreadの+ setPriorityを使用)