(57)【要約】  本出願は、端末デバイスのオペレーティングシステムに適用されるリソーススケジューリング方法、およびその方法が適用される端末デバイスを提供する。方法によれば、リソーススケジューリングがフレーム描画スレッドの粒度に調整され、リソーススケジューリング方式が決定されているときにフレーム描画スレッドの負荷特性、例えば、リソース要件情報または実行情報が考慮される。フレーム描画スレッドの実行速度がユーザエクスペリエンスに直接関係するので、フレーム描画スレッドの負荷特性を使用することによってターゲットリソーススケジューリング方式を決定すると、より細かい粒度のリソーススケジューリングを実装することができ、それにより、リソーススケジューリングがより具体的になり、かつリソーススケジューリング効果がより良好になる。
2021517697.tif 000002
【特許請求の範囲】
【請求項１】
リソーススケジューリング方法であって、前記方法は、端末デバイスに適用され、
フレーム描画スレッドの負荷特性を決定するステップであって、前記フレーム描画スレッドは、画像フレームを描画するために使用される、ステップと、
前記フレーム描画スレッドの前記負荷特性に基づいてターゲットリソーススケジューリング方式を決定するステップと、
前記ターゲットリソーススケジューリング方式で前記フレーム描画スレッドについてのリソースをスケジューリングするステップと
を含む、方法。
【請求項２】
前記フレーム描画スレッドの前記負荷特性は、前記フレーム描画スレッドのリソース要件特徴を示すために使用される、請求項1に記載の方法。
【請求項３】
前記フレーム描画スレッドの前記負荷特性は、前記フレーム描画スレッドの命令あたりの平均サイクル数、分岐命令の数、およびキャッシュミス率のうちの少なくとも1つを含む、請求項1または2に記載の方法。
【請求項４】
前記フレーム描画スレッドの前記負荷特性は、第1の時間間隔における前記フレーム描画スレッドの命令あたりの平均サイクル数、分岐命令の数、およびキャッシュミス率のうちの少なくとも1つに基づいて決定され、前記第1の時間間隔は、前記フレーム描画スレッドの実行の開始と前記描画スレッドの前記実行の終了との間の期間である、請求項1または2に記載の方法。
【請求項５】
前記フレーム描画スレッドの前記負荷特性に基づいてターゲットリソーススケジューリング方式を決定する前記ステップは、
前記フレーム描画スレッドの前記負荷特性に基づいて前記フレーム描画スレッドの予測負荷値を決定するステップと、
前記フレーム描画スレッドの前記負荷特性、前記フレーム描画スレッドの前記予測負荷値、および事前設定されたターゲットフレームレートに基づいて前記ターゲットリソーススケジューリング方式を決定するステップと
を含む、請求項1から4のいずれか一項に記載の方法。
【請求項６】
前記フレーム描画スレッドの前記負荷特性、前記フレーム描画スレッドの前記予測負荷値、および事前設定されたターゲットフレームレートに基づいて前記ターゲットリソーススケジューリング方式を決定する前記ステップは、
前記フレーム描画スレッドの前記負荷特性、前記フレーム描画スレッドの前記予測負荷値、および前記事前設定されたターゲットフレームレートに基づいて、前記フレーム描画スレッドについてのリソースをスケジューリングする少なくとも1つのリソーススケジューリング方式を決定するステップと、
前記少なくとも1つのリソーススケジューリング方式の中で最も低い消費電力のリソーススケジューリング方式を前記ターゲットリソーススケジューリング方式として決定するステップと
を含む、請求項5に記載の方法。
【請求項７】
前記フレーム描画スレッドの前記負荷特性に基づいてターゲットリソーススケジューリング方式を決定する前記ステップは、
前記フレーム描画スレッドの前記負荷特性に基づいて前記フレーム描画スレッドの予測負荷値を決定するステップと、
前記フレーム描画スレッドの前記負荷特性、前記フレーム描画スレッドの前記予測負荷値、および第1のマッピング関係情報に基づいて前記ターゲットリソーススケジューリング方式を決定するステップであって、前記第1のマッピング関係情報は、複数の負荷情報および前記複数の負荷情報の各々に対応するリソーススケジューリング方式を含み、前記複数の負荷情報の各々は、1つの負荷特性および1つの負荷値を含む、ステップと
を含む、請求項1から4のいずれか一項に記載の方法。
【請求項８】
前記フレーム描画スレッドの前記負荷特性に基づいて前記フレーム描画スレッドの予測負荷値を決定する前記ステップは、
前記フレーム描画スレッドの前記負荷特性および第2のマッピング関係情報に基づいて前記フレーム描画スレッドの前記予測負荷値を決定するステップであって、前記第2のマッピング関係情報は、複数の負荷特性および前記複数の負荷特性の各々に対応する負荷値を含む、ステップ
を含む、請求項5から7のいずれか一項に記載の方法。
【請求項９】
前記フレーム描画スレッドの前記負荷特性および第2のマッピング関係情報に基づいて前記フレーム描画スレッドの前記予測負荷値を決定する前記ステップは、
前記第2のマッピング関係情報における前記複数の負荷特性が基準負荷特性を含むとき、前記基準負荷特性に対応する負荷値を前記フレーム描画スレッドの前記予測負荷値として決定するステップであって、前記基準負荷特性と前記フレーム描画スレッドの前記負荷特性との間の類似度は、類似度閾値以上である、ステップ
を含む、請求項8に記載の方法。
【請求項１０】
前記フレーム描画スレッドの前記負荷特性および第2のマッピング関係情報に基づいて前記フレーム描画スレッドの前記予測負荷値を決定するステップは、
前記第2のマッピング関係情報における前記複数の負荷特性が基準負荷特性を含まないとき、前記フレーム描画スレッドを使用することによって描画された前記画像フレームに先行するフレームの負荷値を、前記フレーム描画スレッドの前記予測負荷値として決定するステップであって、前記基準負荷特性と前記フレーム描画スレッドの前記負荷特性との間の類似度は、類似度閾値以上である、ステップ
を含む、請求項8または9に記載の方法。
【請求項１１】
前記フレーム描画スレッドの前記負荷特性に基づいてターゲットリソーススケジューリング方式を決定する前記ステップは、
前記フレーム描画スレッドの前記負荷特性および第3のマッピング関係情報に基づいて前記ターゲットリソーススケジューリング方式を決定するステップであって、前記第3のマッピング関係情報は、複数の負荷特性および前記複数の負荷特性の各々に対応するリソーススケジューリング方式を含む、ステップ
を含む、請求項1から4のいずれか一項に記載の方法。
【請求項１２】
前記フレーム描画スレッドの前記負荷特性および第3のマッピング関係情報に基づいて前記ターゲットリソーススケジューリング方式を決定する前記ステップは、
前記第3のマッピング関係情報における前記複数の負荷特性が基準負荷特性を含むとき、前記基準負荷特性に対応するリソーススケジューリング方式を前記ターゲットリソーススケジューリング方式として決定するステップであって、前記基準負荷特性と前記フレーム描画スレッドの前記負荷特性との間の類似度は、類似度閾値以上である、ステップ
を含む、請求項11に記載の方法。
【請求項１３】
前記フレーム描画スレッドの前記負荷特性および第3のマッピング関係情報に基づいて前記ターゲットリソーススケジューリング方式を決定するステップは、
前記第3のマッピング関係情報における前記複数の負荷特性が基準負荷特性を含まないとき、前記フレーム描画スレッドを使用することによって描画された前記画像フレームに先行するフレームのフレーム描画スレッドのターゲットリソーススケジューリング方式を、前記ターゲットリソーススケジューリング方式として決定するステップであって、前記基準負荷特性と前記フレーム描画スレッドの前記負荷特性との間の類似度は、類似度閾値以上である、ステップ
を含む、請求項11または12に記載の方法。
【請求項１４】
前記方法は、
前記フレーム描画スレッドの関連スレッドを決定するステップであって、前記関連スレッドは、前記フレーム描画スレッドをスリープさせることが可能なスレッドである、ステップと、
前記関連スレッドの実行を加速するように前記関連スレッドについてのリソースをスケジューリングするステップと
をさらに含む、請求項1から13のいずれか一項に記載の方法。
【請求項１５】
前記フレーム描画スレッドの実行は、所定の時間内に完了されず、前記方法は、
前記フレーム描画スレッドの前記実行を加速するように前記フレーム描画スレッドについての追加のリソースをスケジューリングするステップであって、前記所定の時間は、リソースが前記ターゲットリソーススケジューリング方式で前記フレーム描画スレッドにスケジューリングされるときに前記フレーム描画スレッドの前記実行を完了するために必要な時間である、ステップ
をさらに含む、請求項1から14のいずれか一項に記載の方法。
【請求項１６】
前記追加のリソースのサイズと第1の差との間に正の相関関係があり、前記第1の差は、前記追加のリソースをスケジューリングする時点と事前設定された時間の終了時点との間の差である、請求項15に記載の方法。
【請求項１７】
リソーススケジューリング方法であって、前記方法は、端末デバイスに適用され、
フレーム描画スレッドの負荷特性を決定するステップであって、前記フレーム描画スレッドは、画像フレームを描画するために使用される、ステップと、
前記フレーム描画スレッドの前記負荷特性および前記フレーム描画スレッドに対応するアプリケーションシナリオに基づいて前記フレーム描画スレッドのターゲット予測負荷値を決定するステップと、
前記フレーム描画スレッドの前記負荷特性、前記フレーム描画スレッドの前記ターゲット予測負荷値、および事前設定されたターゲットフレームレートに基づいてターゲットリソーススケジューリング方式を決定するステップと、
前記ターゲットリソーススケジューリング方式で前記フレーム描画スレッドについてのリソースをスケジューリングするステップと
を含む、方法。
【請求項１８】
前記フレーム描画スレッドの前記負荷特性および前記フレーム描画スレッドに対応するアプリケーションシナリオに基づいて前記フレーム描画スレッドのターゲット予測負荷値を決定する前記ステップは、
前記フレーム描画スレッドの前記負荷特性に基づいて前記フレーム描画スレッドの第1の予測負荷値を決定するステップと、
前記フレーム描画スレッドに対応する前記アプリケーションシナリオおよび第4のマッピング関係情報に基づいて第2の予測負荷値を決定するステップであって、前記第4のマッピング関係情報は、複数のアプリケーションシナリオおよび前記複数のアプリケーションシナリオの各々に対応する負荷値を含む、ステップと、
前記第1の予測負荷値および前記第2の予測負荷値に基づいて前記ターゲット予測負荷値を決定するステップと
を含む、請求項17に記載の方法。
【請求項１９】
前記フレーム描画スレッドの前記負荷特性は、前記フレーム描画スレッドのリソース要件特徴を示すために使用される、請求項17または18に記載の方法。
【請求項２０】
前記フレーム描画スレッドの前記負荷特性は、前記フレーム描画スレッドの命令あたりの平均サイクル数、分岐命令の数、およびキャッシュミス率のうちの少なくとも1つを含む、請求項17から19のいずれか一項に記載の方法。
【請求項２１】
前記フレーム描画スレッドの前記負荷特性は、第1の時間間隔における前記フレーム描画スレッドの命令あたりの平均サイクル数、分岐命令の数、およびキャッシュミス率のうちの少なくとも1つに基づいて決定される、請求項17から19のいずれか一項に記載の方法。
【請求項２２】
前記方法は、
前記フレーム描画スレッドの関連スレッドを決定するステップであって、前記関連スレッドは、前記フレーム描画スレッドをスリープさせることが可能なスレッドである、ステップと、
前記関連スレッドの実行を加速するように前記関連スレッドについてのリソースをスケジューリングするステップと
をさらに含む、請求項17から21のいずれか一項に記載の方法。
【請求項２３】
前記フレーム描画スレッドの実行は、所定の時間内に完了されず、前記方法は、
前記フレーム描画スレッドの前記実行を加速するように前記フレーム描画スレッドについての追加のリソースをスケジューリングするステップであって、前記所定の時間は、リソースが前記ターゲットリソーススケジューリング方式で前記フレーム描画スレッドにスケジューリングされるときに前記フレーム描画スレッドの前記実行を完了するために必要な時間である、ステップ
をさらに含む、請求項17から22のいずれか一項に記載の方法。
【請求項２４】
前記追加のリソースのサイズと第1の差との間に正の相関関係があり、前記第1の差は、前記追加のリソースをスケジューリングする時点と事前設定された時間の終了時点との間の差である、請求項23に記載の方法。
【請求項２５】
フレーム描画スレッドの負荷特性を決定し、前記フレーム描画スレッドは、画像フレームを描画するために使用される、ように構成された処理モジュールであって、
前記処理モジュールは、前記フレーム描画スレッドの前記負荷特性に基づいてターゲットリソーススケジューリング方式を決定するようにさらに構成される、処理モジュールと、
前記ターゲットリソーススケジューリング方式で前記フレーム描画スレッドについてのリソースをスケジューリングするように構成されたスケジューリングモジュールと
を備える、端末デバイス。
【請求項２６】
前記フレーム描画スレッドの前記負荷特性は、前記フレーム描画スレッドのリソース要件特徴を示すために使用される、請求項25に記載の端末デバイス。
【請求項２７】
前記フレーム描画スレッドの前記負荷特性は、前記フレーム描画スレッドの命令あたりの平均サイクル数、分岐命令の数、およびキャッシュミス率のうちの少なくとも1つを含む、請求項25または26に記載の端末デバイス。
【請求項２８】
前記フレーム描画スレッドの前記負荷特性は、第1の時間間隔における前記フレーム描画スレッドの命令あたりの平均サイクル数、分岐命令の数、およびキャッシュミス率のうちの少なくとも1つに基づいて決定され、前記第1の時間間隔は、前記フレーム描画スレッドの実行の開始と前記描画スレッドの前記実行の終了との間の期間である、請求項25または26に記載の端末デバイス。
【請求項２９】
前記処理モジュールは、
前記フレーム描画スレッドの前記負荷特性に基づいて前記フレーム描画スレッドの予測負荷値を決定し、
前記フレーム描画スレッドの前記負荷特性、前記フレーム描画スレッドの前記予測負荷値、および事前設定されたターゲットフレームレートに基づいて前記ターゲットリソーススケジューリング方式を決定する
ように構成される、請求項25から28のいずれか一項に記載の端末デバイス。
【請求項３０】
前記処理モジュールは、
前記フレーム描画スレッドの前記負荷特性、前記フレーム描画スレッドの前記予測負荷値、および前記事前設定されたターゲットフレームレートに基づいて、前記フレーム描画スレッドについてのリソースをスケジューリングする少なくとも1つのリソーススケジューリング方式を決定し、
前記少なくとも1つのリソーススケジューリング方式の中で最も低い消費電力のリソーススケジューリング方式を前記ターゲットリソーススケジューリング方式として決定する
ように構成される、請求項29に記載の端末デバイス。
【請求項３１】
前記処理モジュールは、
前記フレーム描画スレッドの前記負荷特性に基づいて前記フレーム描画スレッドの予測負荷値を決定し、
前記フレーム描画スレッドの前記負荷特性、前記フレーム描画スレッドの前記予測負荷値、および第1のマッピング関係情報に基づいて前記ターゲットリソーススケジューリング方式を決定し、前記第1のマッピング関係情報は、複数の負荷情報および前記複数の負荷情報の各々に対応するリソーススケジューリング方式を含み、前記複数の負荷情報の各々は、1つの負荷特性および1つの負荷値を含む、
ように構成される、請求項25から28のいずれか一項に記載の端末デバイス。
【請求項３２】
前記処理モジュールは、
前記フレーム描画スレッドの前記負荷特性および第2のマッピング関係情報に基づいて前記フレーム描画スレッドの前記予測負荷値を決定し、前記第2のマッピング関係情報は、複数の負荷特性および前記複数の負荷特性の各々に対応する負荷値を含む、
ように構成される、請求項29から31のいずれか一項に記載の端末デバイス。
【請求項３３】
前記処理モジュールは、
前記第2のマッピング関係情報における前記複数の負荷特性が基準負荷特性を含むとき、前記基準負荷特性に対応する負荷値を前記フレーム描画スレッドの前記予測負荷値として決定し、前記基準負荷特性と前記フレーム描画スレッドの前記負荷特性との間の類似度は、類似度閾値以上である、
ように構成される、請求項32に記載の端末デバイス。
【請求項３４】
前記処理モジュールは、
前記第2のマッピング関係情報における前記複数の負荷特性が基準負荷特性を含まないとき、前記フレーム描画スレッドを使用することによって描画された前記画像フレームに先行するフレームの負荷値を、前記フレーム描画スレッドの前記予測負荷値として決定し、前記基準負荷特性と前記フレーム描画スレッドの前記負荷特性との間の類似度は、類似度閾値以上である、
ように構成される、請求項32または33に記載の端末デバイス。
【請求項３５】
前記処理モジュールは、
前記フレーム描画スレッドの前記負荷特性および第3のマッピング関係情報に基づいて前記ターゲットリソーススケジューリング方式を決定し、前記第3のマッピング関係情報は、複数の負荷特性および前記複数の負荷特性の各々に対応するリソーススケジューリング方式を含む、
ように構成される、請求項25から28のいずれか一項に記載の端末デバイス。
【請求項３６】
前記処理モジュールは、
前記第3のマッピング関係情報における前記複数の負荷特性が基準負荷特性を含むとき、前記基準負荷特性に対応するリソーススケジューリング方式を前記ターゲットリソーススケジューリング方式として決定し、前記基準負荷特性と前記フレーム描画スレッドの前記負荷特性との間の類似度は、類似度閾値以上である、
ように構成される、請求項35に記載の端末デバイス。
【請求項３７】
前記処理モジュールは、
前記第3のマッピング関係情報における前記複数の負荷特性が基準負荷特性を含まないとき、前記フレーム描画スレッドを使用することによって描画された前記画像フレームに先行するフレームのフレーム描画スレッドのターゲットリソーススケジューリング方式を、前記ターゲットリソーススケジューリング方式として決定し、前記基準負荷特性と前記フレーム描画スレッドの前記負荷特性との間の類似度は、類似度閾値以上である、
ように構成される、請求項35または36に記載の端末デバイス。
【請求項３８】
前記処理モジュールは、
前記フレーム描画スレッドの関連スレッドを決定し、前記関連スレッドは、前記フレーム描画スレッドをスリープさせることが可能なスレッドである、
ようにさらに構成され、
前記スケジューリングモジュールは、
前記関連スレッドの実行を加速するように前記関連スレッドについてのリソースをスケジューリングする
ようにさらに構成される、請求項25から37のいずれか一項に記載の端末デバイス。
【請求項３９】
前記フレーム描画スレッドの実行は、所定の時間内に完了されず、前記スケジューリングモジュールは、
前記フレーム描画スレッドの前記実行を加速するように前記フレーム描画スレッドについての追加のリソースをスケジューリングし、前記所定の時間は、リソースが前記ターゲットリソーススケジューリング方式で前記フレーム描画スレッドにスケジューリングされるときに前記フレーム描画スレッドの前記実行を完了するために必要な時間である、
ようにさらに構成される、請求項25から38のいずれか一項に記載の端末デバイス。
【請求項４０】
前記追加のリソースのサイズと第1の差との間に正の相関関係があり、前記第1の差は、前記追加のリソースをスケジューリングする時点と事前設定された時間の終了時点との間の差である、請求項39に記載の端末デバイス。
【請求項４１】
フレーム描画スレッドの負荷特性を決定し、前記フレーム描画スレッドは、画像フレームを描画するために使用される、ように構成された処理モジュールであって、
前記処理モジュールは、前記フレーム描画スレッドの前記負荷特性および前記フレーム描画スレッドに対応するアプリケーションシナリオに基づいて前記フレーム描画スレッドのターゲット予測負荷値を決定するようにさらに構成され、
前記処理モジュールは、前記フレーム描画スレッドの前記負荷特性、前記フレーム描画スレッドの前記ターゲット予測負荷値、および事前設定されたターゲットフレームレートに基づいてターゲットリソーススケジューリング方式を決定するようにさらに構成される、処理モジュールと、
前記ターゲットリソーススケジューリング方式で前記フレーム描画スレッドについてのリソースをスケジューリングするように構成されたスケジューリングモジュールと
を備える、端末デバイス。
【請求項４２】
前記処理モジュールは、
前記フレーム描画スレッドの前記負荷特性に基づいて前記フレーム描画スレッドの第1の予測負荷値を決定し、
前記フレーム描画スレッドに対応する前記アプリケーションシナリオおよび第4のマッピング関係情報に基づいて第2の予測負荷値を決定し、前記第4のマッピング関係情報は、複数のアプリケーションシナリオおよび前記複数のアプリケーションシナリオの各々に対応する負荷値を含み、
前記第1の予測負荷値および前記第2の予測負荷値に基づいて前記ターゲット予測負荷値を決定する
ように構成される、請求項41に記載の端末デバイス。
【請求項４３】
前記フレーム描画スレッドの前記負荷特性は、前記フレーム描画スレッドのリソース要件特徴を示すために使用される、請求項41または42に記載の端末デバイス。
【請求項４４】
前記フレーム描画スレッドの前記負荷特性は、前記フレーム描画スレッドの命令あたりの平均サイクル数、分岐命令の数、およびキャッシュミス率のうちの少なくとも1つを含む、請求項41から43のいずれか一項に記載の端末デバイス。
【請求項４５】
前記フレーム描画スレッドの前記負荷特性は、第1の時間間隔における前記フレーム描画スレッドの命令あたりの平均サイクル数、分岐命令の数、およびキャッシュミス率のうちの少なくとも1つに基づいて決定される、請求項41から43のいずれか一項に記載の端末デバイス。
【請求項４６】
前記処理モジュールは、
前記フレーム描画スレッドの関連スレッドを決定し、前記関連スレッドは、前記フレーム描画スレッドをスリープさせることが可能なスレッドである、
ようにさらに構成され、
前記スケジューリングモジュールは、
前記関連スレッドの実行を加速するように前記関連スレッドについてのリソースをスケジューリングする
ようにさらに構成される、請求項41から45のいずれか一項に記載の端末デバイス。
【請求項４７】
前記フレーム描画スレッドの実行は、所定の時間内に完了されず、前記スケジューリングモジュールは、
前記フレーム描画スレッドの前記実行を加速するように前記フレーム描画スレッドについての追加のリソースをスケジューリングし、前記所定の時間は、リソースが前記ターゲットリソーススケジューリング方式で前記フレーム描画スレッドにスケジューリングされるときに前記フレーム描画スレッドの前記実行を完了するために必要な時間である、
ようにさらに構成される、請求項41から46のいずれか一項に記載の端末デバイス。
【請求項４８】
前記追加のリソースのサイズと第1の差との間に正の相関関係があり、前記第1の差は、前記追加のリソースをスケジューリングする時点と事前設定された時間の終了時点との間の差である、請求項47に記載の端末デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、2018年10月11日に中国特許庁に出願した「RESOURCE SCHEDULING METHOD AND TERMINAL DEVICE」という名称の中国特許出願第201811184979.7号の優先権を主張し、その全体が参照により本明細書に組み込まれる。
本出願は、端末デバイスの分野に関し、より具体的には、リソーススケジューリング方法および端末デバイスに関する。
【背景技術】
【０００２】
端末デバイスの性能が向上すると、端末デバイスの消費電力も増加する。しかし、電池容量は非常にゆっくりと増加しており、端末デバイスの性能向上に追いつくことができない。したがって、端末デバイスの性能を保証し、ユーザエクスペリエンスをさらに満たすために、端末デバイスによって現在実行されているタスクについて、リソースが現在のタスクの負荷ステータスに基づいてスケジューリングされる必要がある。
【０００３】
従来の解決策では、通常、履歴期間中に端末デバイスによって現在実行されているタスクの負荷ステータスが収集され、リソースが収集された負荷ステータスに基づいて現在実行されているタスクにスケジューリングされる。例えば、現在実行されているタスクの負荷が比較的大きいときには、中央処理装置（CPU）の動作周波数が高くなる場合があり、または現在実行されているタスクの負荷が比較的小さいときには、CPUの動作周波数が低くなる場合がある。しかし、従来の解決策では、リソースは、以前の期間中の負荷ステータスに基づいてスケジューリングされる。したがって、リソーススケジューリングは、低い精度を有し、タイムリーに実施されない。
【発明の概要】
【課題を解決するための手段】
【０００４】
本出願は、より正確にリソースをスケジューリングするためのリソーススケジューリング方法および端末デバイスを提供する。
【０００５】
第1の態様によれば、リソーススケジューリング方法が提供され、方法は、端末デバイスに適用され、方法は、フレーム描画スレッドの負荷特性を決定するステップであって、フレーム描画スレッドは、画像フレームを描画するために使用される、ステップと、フレーム描画スレッドの負荷特性に基づいてターゲットリソーススケジューリング方式を決定するステップと、ターゲットリソーススケジューリング方式でフレーム描画スレッドについてのリソースをスケジューリングするステップとを含む。
【０００６】
端末デバイスは、モバイル端末（例えば、スマートフォン）、コンピュータ、携帯情報端末、ウェアラブルデバイス、車載デバイス、モノのインターネットデバイスなどであってもよい。あるいは、端末デバイスは、画像を表示することができる別のデバイスであってもよい。
【０００７】
端末デバイスは、様々なオペレーティングシステムを実行するデバイスであり得る。例えば、端末デバイスは、Android（登録商標）システムを実行するデバイス、iOS（登録商標）システムを実行するデバイス、またはWindows（登録商標）システムを実行するデバイスであってもよい。
【０００８】
リソースがターゲットリソーススケジューリング方式でフレーム描画スレッドにスケジューリングされているとき、コンピューティングリソースがフレーム描画スレッドにスケジューリングされてもよく（例えば、CPU内のコアがフレーム描画スレッドを実行するようにスケジューリングされる）、ストレージリソースがフレーム描画スレッドにスケジューリングされてもよく（例えば、いくつかのストレージユニットがフレーム描画スレッドの実行中のプロセスでデータを格納するようにスケジューリングされる）、またはコンピューティングリソースとストレージリソースの両方がフレーム描画スレッドにスケジューリングされてもよい。
【０００９】
フレーム描画スレッドは、画像フレームを描画するためのすべてまたは一部のスレッドであり得る。
【００１０】
フレーム描画スレッドの負荷特性が決定される前に、フレーム描画スレッドが決定されてもよいことを理解されたい。
【００１１】
任意選択で、フレーム描画スレッドを決定するステップは、フレーム描画スレッドとして、画像フレームを描画するプロセスでキーフレーム描画機能を呼び出すためのスレッドを決定するステップを含む。
【００１２】
キーフレーム描画機能は、画像フレームを描画するプロセスにおける一部のキー機能であり得、キーフレーム描画機能は、事前設定されてもよい。具体的には、キーフレーム描画機能は、端末デバイスによって使用されるオペレーティングシステムのタイプに基づいて決定されてもよく、異なるタイプのオペレーティングシステムに対応するキーフレーム描画機能は、異なっていてもよい。例えば、iOSシステムに対応するキーフレーム描画機能は、Androidシステムに対応するキーフレーム描画機能とは異なる。
【００１３】
本出願では、フレーム描画スレッドの実行速度がユーザエクスペリエンスに直接関係するため、フレーム描画スレッドの負荷特性を使用することによってターゲットリソーススケジューリング方式を決定し、さらに、ターゲットリソーススケジューリング方式でフレーム描画スレッドについてのリソースを直接スケジューリングすると、より細かい粒度のリソーススケジューリングを実装することができるため、リソーススケジューリングがより具体的になり、リソーススケジューリング効果がより良好になる。
【００１４】
第1の態様を参照すると、第1の態様のいくつかの実施態様では、フレーム描画スレッドの負荷特性は、フレーム描画スレッドのリソース要件特徴を示すために使用される。
【００１５】
具体的には、フレーム描画スレッドのリソース要件特徴は、フレーム描画スレッドの負荷が計算集約型であるかリソース集約型であるかを示すことができ、それにより対応するターゲットリソーススケジューリング方式がその後決定される。
【００１６】
例えば、フレーム描画スレッドの負荷が計算集約型の負荷であるとき、リソースがフレーム描画スレッドにスケジューリングされているときにコンピューティングリソースが主にスケジューリングされてもよく、またはフレーム描画スレッドの負荷がリソース集約型の負荷であるとき、リソースがフレーム描画スレッドにスケジューリングされているときにストレージリソースが主にスケジューリングされてもよい。
【００１７】
フレーム描画スレッドのリソース要件特徴が、フレーム描画スレッドの負荷が計算集約型かつリソース集約型であることを示すとき、リソースがフレーム描画スレッドにスケジューリングされているときにコンピューティングリソースとストレージリソースの両方がスケジューリングされてもよい。
【００１８】
第1の態様を参照すると、第1の態様のいくつかの実施態様では、フレーム描画スレッドの負荷特性は、フレーム描画スレッドの命令あたりの平均サイクル数、分岐命令の数、およびキャッシュミス率のうちの少なくとも1つを含む。
【００１９】
本出願では、フレーム描画スレッドの命令あたりの平均サイクル数、分岐命令の数、およびキャッシュミス率などのパラメータの1つまたは複数が収集されると、フレーム描画スレッドの負荷特性は直接取得することができ、それによりフレーム描画スレッドの負荷特性を取得する複雑さが軽減される。
【００２０】
フレーム描画スレッドの命令あたりの平均サイクル数、分岐命令の数、およびキャッシュミス率などのパラメータの1つまたは複数を直接使用して、フレーム描画スレッドの負荷特性を示すことができ、またはフレーム描画スレッドの命令あたりの平均サイクル数、分岐命令の数、およびキャッシュミス率などのパラメータの1つまたは複数を処理した後に取得されたパラメータを使用して、フレーム描画スレッドの負荷特性を示すことができることを理解されたい。
【００２１】
第1の態様を参照すると、第1の態様のいくつかの実施態様では、フレーム描画スレッドの負荷特性は、第1の時間間隔（または第1の期間と呼ばれる）におけるフレーム描画スレッドの命令あたりの平均サイクル数、分岐命令の数、およびキャッシュミス率のうちの少なくとも1つに基づいて決定され、第1の時間間隔は、フレーム描画スレッドの実行の開始と描画スレッドの実行の終了との間の期間である。
【００２２】
第1の時間間隔におけるフレーム描画スレッドの命令あたりの平均サイクル数、分岐命令の数、およびキャッシュミス率は、第1の時間間隔におけるフレーム描画スレッドの性能指標データと呼ばれることがある。フレーム描画スレッドの負荷特性が決定されているとき、第1の時間間隔におけるフレーム描画スレッドの性能指標データのいくつかのパラメータがフレーム描画スレッドの負荷特性として直接決定されてもよいし、または処理もしくは操作が第1の時間間隔におけるフレーム描画スレッドの性能指標データに対して実施されてもよく（例えば、除算演算が性能指標データの2つのパラメータに対して実施されるか、またはハッシュ演算が性能指標データのいくつかのパラメータに対して実施される）、処理または操作後に取得されたデータは、フレーム描画スレッドの負荷特性として決定される。
【００２３】
任意選択で、フレーム描画スレッドの負荷特性を決定するステップは、第1の時間間隔におけるフレーム描画スレッドの性能指標データを記録するステップであって、第1の時間間隔は、フレーム描画スレッドの実行の開始と描画スレッドの実行の終了との間の期間であり、第1の時間間隔におけるフレーム描画スレッドの性能指標データは、第1の時間間隔におけるフレーム描画スレッドの命令あたりの平均サイクル数、分岐命令の数、キャッシュミス率、およびプログラムカウンタのうちの少なくとも1つを含む、ステップと、第1の時間間隔におけるフレーム描画スレッドの性能指標データに基づいてフレーム描画スレッドの負荷特性を決定するステップとを含む。
【００２４】
任意選択で、第1の時間間隔の長さは、収集され得る性能指標データに基づいて決定される。
【００２５】
具体的には、第1の時間間隔は、十分な性能指標データを収集するために必要な時間に設定され得る。加えて、第1の時間間隔が設定されているときに初めて比率閾値が設定されてもよく、画像フレームのフレーム描画時間に対する第1の時間間隔の比率は、比率閾値を超えることはできない。
【００２６】
第1の態様を参照すると、第1の態様のいくつかの実施態様では、フレーム描画スレッドの負荷特性に基づいてターゲットリソーススケジューリング方式を決定するステップは、フレーム描画スレッドの負荷特性に基づいてフレーム描画スレッドの予測負荷値を決定するステップと、フレーム描画スレッドの負荷特性、フレーム描画スレッドの予測負荷値、および事前設定されたターゲットフレームレートに基づいてターゲットリソーススケジューリング方式を決定するステップとを含む。
【００２７】
第1の態様を参照すると、第1の態様のいくつかの実施態様では、フレーム描画スレッドの負荷特性、フレーム描画スレッドの予測負荷値、および事前設定されたターゲットフレームレートに基づいてターゲットリソーススケジューリング方式を決定するステップは、フレーム描画スレッドの負荷特性、フレーム描画スレッドの予測負荷値、および事前設定されたターゲットフレームレートに基づいて、フレーム描画スレッドについてのリソースをスケジューリングする少なくとも1つのリソーススケジューリング方式を決定するステップと、少なくとも1つのリソーススケジューリング方式の中で最も低い消費電力に対応するリソーススケジューリング方式をターゲットリソーススケジューリング方式として決定するステップとを含む。
【００２８】
本出願では、複数の利用可能なリソーススケジューリング方式の中で最も低い消費電力に対応するリソーススケジューリング方式は、ターゲットリソーススケジューリング方式として決定され、それによりフレーム描画スレッドのリソーススケジューリング要件が満たされながら消費電力を可能な限り削減することができるため、性能と消費電力との間のバランスを実現する。
【００２９】
第1の態様を参照すると、第1の態様のいくつかの実施態様では、フレーム描画スレッドの負荷特性に基づいてターゲットリソーススケジューリング方式を決定するステップは、フレーム描画スレッドの負荷特性に基づいてフレーム描画スレッドの予測負荷値を決定するステップと、フレーム描画スレッドの負荷特性、フレーム描画スレッドの予測負荷値、および第1のマッピング関係情報に基づいてターゲットリソーススケジューリング方式を決定するステップであって、第1のマッピング関係情報は、複数の負荷情報および複数の負荷情報の各々に対応するリソーススケジューリング方式を含み、複数の負荷情報の各々は、1つの負荷特性および1つの負荷値を含む、ステップとを含む。
【００３０】
任意選択で、第1のマッピング関係情報は、端末デバイスによって記録された履歴情報に基づいて決定され、履歴情報は、フレーム描画スレッドを使用することによって描画された画像フレームに先行する画像フレームの負荷特性、負荷値、および対応するリソーススケジューリング方式を含む。
【００３１】
第1のマッピング関係情報は、表の形式であってもよく、または負荷特性、負荷値、および対応するリソーススケジューリング方式を記録するための任意の他の形式の情報であってもよい。
【００３２】
本出願では、フレーム描画スレッドの負荷特性および予測負荷値ならびに第1のマッピング関係情報に基づいてターゲットリソーススケジューリング方式を決定することにより、直接計算によるターゲットリソーススケジューリング方式の決定と比較して、ターゲットリソーススケジューリング方式を決定する複雑さを軽減することができる。
【００３３】
任意選択で、方法は、第1のマッピング関係情報を更新するために、フレーム描画スレッドの負荷特性、フレーム描画スレッドの予測負荷値、およびターゲットリソーススケジューリング方式を記録するステップをさらに含む。
【００３４】
第1のマッピング関係情報は、第1のマッピング関係情報を更新することによってより多くのタイプの負荷情報を含むことができ、それによりリソーススケジューリング方式は、第1のマッピング関係情報に基づいてその後決定される。
【００３５】
第1の態様を参照すると、第1の態様のいくつかの実施態様では、フレーム描画スレッドの負荷特性に基づいてフレーム描画スレッドの予測負荷値を決定するステップは、フレーム描画スレッドの負荷特性および第2のマッピング関係情報に基づいてフレーム描画スレッドの予測負荷値を決定するステップであって、第2のマッピング関係情報は、複数の負荷特性および複数の負荷特性の各々に対応する負荷値を含む、ステップを含む。
【００３６】
第1の態様を参照すると、第1の態様のいくつかの実施態様では、フレーム描画スレッドの負荷特性および第2のマッピング関係情報に基づいてフレーム描画スレッドの予測負荷値を決定するステップは、第2のマッピング関係情報における複数の負荷特性が基準負荷特性を含むとき、基準負荷特性に対応する負荷値をフレーム描画スレッドの予測負荷値として決定するステップであって、基準負荷特性とフレーム描画スレッドの負荷特性との間の類似度は、類似度閾値以上である、ステップを含む。
【００３７】
第1の態様を参照すると、第1の態様のいくつかの実施態様では、フレーム描画スレッドの負荷特性および第2のマッピング関係情報に基づいてフレーム描画スレッドの予測負荷値を決定するステップは、第2のマッピング関係情報における複数の負荷特性が基準負荷特性を含まないとき、フレーム描画スレッドを使用することによって描画された画像フレームに先行するフレームの負荷値を、フレーム描画スレッドの予測負荷値として決定するステップであって、基準負荷特性とフレーム描画スレッドの負荷特性との間の類似度は、類似度閾値以上である、ステップを含む。
【００３８】
任意選択で、第2のマッピング関係情報は、端末デバイスによって記録された履歴情報に基づいて決定され、履歴情報は、フレーム描画スレッドを使用することによって描画された画像フレームの負荷特性および対応する負荷値を含んでもよい。
【００３９】
第2のマッピング関係情報は、表の形式であってもよく、または負荷特性および対応する負荷値を記録するための任意の他の形式の情報であってもよい。
【００４０】
本出願では、フレーム描画スレッドの予測負荷値は、フレーム描画スレッドの負荷特性および第2のマッピング関係を使用することによって比較的便利に決定することができ、これは、フレーム描画スレッドの負荷特性に基づいてフレーム描画スレッドの負荷値を分析または計算することによってフレーム描画スレッドの予測負荷値を直接決定するよりも簡単である。
【００４１】
任意選択で、方法は、第2のマッピング関係情報を更新するために、フレーム描画スレッドの負荷特性およびフレーム描画スレッドの予測負荷値を記録するステップをさらに含む。
【００４２】
第2のマッピング関係情報は、第2のマッピング関係情報を更新することによってより多くのタイプの負荷特性を含むことができ、それによりフレーム描画スレッドの予測負荷値は、第2のマッピング関係情報に基づいてその後決定される。
【００４３】
第1の態様を参照すると、第1の態様のいくつかの実施態様では、フレーム描画スレッドの負荷特性に基づいてターゲットリソーススケジューリング方式を決定するステップは、フレーム描画スレッドの負荷特性および第3のマッピング関係情報に基づいてターゲットリソーススケジューリング方式を決定するステップであって、第3のマッピング関係情報は、複数の負荷特性および複数の負荷特性の各々に対応するリソーススケジューリング方式を含む、ステップを含む。
【００４４】
第1の態様を参照すると、第1の態様のいくつかの実施態様では、フレーム描画スレッドの負荷特性および第3のマッピング関係情報に基づいてターゲットリソーススケジューリング方式を決定するステップは、第3のマッピング関係情報における複数の負荷特性が基準負荷特性を含むとき、基準負荷特性に対応するリソーススケジューリング方式をターゲットリソーススケジューリング方式として決定するステップであって、基準負荷特性とフレーム描画スレッドの負荷特性との間の類似度は、類似度閾値以上である、ステップを含む。
【００４５】
第1の態様を参照すると、第1の態様のいくつかの実施態様では、フレーム描画スレッドの負荷特性および第3のマッピング関係情報に基づいてターゲットリソーススケジューリング方式を決定するステップは、第3のマッピング関係情報における複数の負荷特性が基準負荷特性を含まないとき、フレーム描画スレッドを使用することによって描画された画像フレームに先行するフレームのフレーム描画スレッドのターゲットリソーススケジューリング方式を、ターゲットリソーススケジューリング方式として決定するステップであって、基準負荷特性とフレーム描画スレッドの負荷特性との間の類似度は、類似度閾値以上である、ステップを含む。
【００４６】
任意選択で、第3のマッピング関係情報は、端末デバイスによって記録された履歴情報に基づいて決定され、履歴情報は、フレーム描画スレッドを使用することによって描画された画像フレームに先行する画像フレームの負荷特性および対応するリソーススケジューリング方式を含む。
【００４７】
第3のマッピング関係情報は、表の形式であってもよく、または負荷特性および対応するリソーススケジューリング方式を記録するための任意の他の形式の情報であってもよい。
【００４８】
本出願では、ターゲットリソーススケジューリング方式は、フレーム描画スレッドの負荷特性および負荷特性とリソーススケジューリング方式との間のマッピング関係に関する情報を使用することによって直接決定され、それによりフレーム描画スレッドの予測負荷値を決定するプロセスは省略することができ、ターゲットリソーススケジューリング方式を決定する複雑さがさらに軽減され得る。
【００４９】
任意選択で、方法は、第3のマッピング関係情報を更新するために、フレーム描画スレッドの負荷特性およびターゲットリソーススケジューリング方式を記録するステップをさらに含む。
【００５０】
第3のマッピング関係情報は、第3のマッピング関係情報を更新することによってより多くのタイプの負荷特性を含むことができ、それによりフレーム描画スレッドに対応するリソーススケジューリング方式は、第3のマッピング関係情報に基づいてその後決定される。
【００５１】
第1の態様を参照すると、第1の態様のいくつかの実施態様では、方法は、フレーム描画スレッドの関連スレッドを決定するステップであって、関連スレッドは、フレーム描画スレッドをスリープさせることが可能なスレッドである、ステップと、関連スレッドの実行を加速するように関連スレッドについてのリソースをスケジューリングするステップとをさらに含む。
【００５２】
フレーム描画スレッドをスリープさせることは、フレーム描画スレッドを断続的にスリープさせるか、または動作を停止させてもよい。
【００５３】
本出願では、リソースが関連スレッドにスケジューリングされるので、フレーム描画スレッドの実行速度を間接的に増加させることができ、ユーザエクスペリエンスが向上される。
【００５４】
第1の態様を参照すると、第1の態様のいくつかの実施態様では、フレーム描画スレッドの実行は、所定の時間内に完了されず、方法は、フレーム描画スレッドの実行を加速するようにフレーム描画スレッドについての追加のリソースをスケジューリングするステップであって、所定の時間は、リソースがターゲットリソーススケジューリング方式でフレーム描画スレッドにスケジューリングされるときにフレーム描画スレッドの実行を完了するために必要な時間である、ステップをさらに含む。
【００５５】
フレーム描画スレッドの実行が完了されると、フレーム描画スレッドに対応する画像フレームの描画が完了されることを理解されたい。フレーム描画スレッドの実行が所定の時間内に完了されない場合、それはより少ないリソースがターゲットリソーススケジューリング方式でフレーム描画スレッドにスケジューリングされ得ることを示す。この場合、追加のリソースがフレーム描画スレッドの実行を加速するようにフレーム描画スレッドにスケジューリングされる必要があり、それによってユーザエクスペリエンスを向上させる。
【００５６】
第1の態様を参照すると、第1の態様のいくつかの実施態様では、追加のリソースのサイズと第1の差との間に正の相関関係があり、第1の差は、追加のリソースをスケジューリングする時点と事前設定された時間の終了時点との間の差である。
【００５７】
第1の差が大きいほど、所定の時間がより早く経過する。より多くのリソースがフレーム描画スレッドにスケジューリングされるため、フレーム描画スレッドの実行は、可能な限り早く完了される。
【００５８】
フレーム描画スレッドの実行が完了されると、フレーム描画スレッドについての追加のリソースのスケジューリングが停止されることを理解されたい。
【００５９】
第2の態様によれば、リソーススケジューリング方法が提供され、方法は、端末デバイスに適用され、方法は、フレーム描画スレッドの負荷特性を決定するステップであって、フレーム描画スレッドは、画像フレームを描画するために使用される、ステップと、フレーム描画スレッドの負荷特性およびフレーム描画スレッドに対応するアプリケーションシナリオに基づいてフレーム描画スレッドのターゲット予測負荷値を決定するステップと、フレーム描画スレッドの負荷特性、フレーム描画スレッドのターゲット予測負荷値、および事前設定されたターゲットフレームレートに基づいてターゲットリソーススケジューリング方式を決定するステップと、ターゲットリソーススケジューリング方式でフレーム描画スレッドについてのリソースをスケジューリングするステップとを含む。
【００６０】
端末デバイスは、モバイル端末（例えば、スマートフォン）、コンピュータ、携帯情報端末、ウェアラブルデバイス、車載デバイス、モノのインターネットデバイスなどであってもよい。あるいは、端末デバイスは、画像を表示することができる別のデバイスであってもよい。
【００６１】
端末デバイスは、様々なオペレーティングシステムを実行するデバイスであり得る。例えば、端末デバイスは、Androidシステムを実行するデバイス、iOSシステムを実行するデバイス、またはWindowsシステムを実行するデバイスであってもよい。
【００６２】
フレーム描画スレッドに対応するアプリケーションシナリオは、フレーム描画スレッドが位置されるアプリケーションプログラムのタイプであってもよい。例えば、フレーム描画スレッドに対応するアプリケーションシナリオは、動画アプリケーションプログラム、ゲームアプリケーションプログラム、またはユーザとの対話が必要な別のアプリケーションプログラム（例えば、WeChat、Taobao、またはWeibo）であってもよい。
【００６３】
加えて、フレーム描画スレッドに対応するアプリケーションシナリオは、フレーム描画スレッドが位置されるアプリケーションプログラムのフェーズであってもよい。例えば、フレーム描画スレッドに対応するアプリケーションシナリオは、フレーム描画スレッドが位置されるアプリケーションプログラムの開始フェーズ、終了フェーズなどであってもよい。
【００６４】
あるいは、フレーム描画スレッドに対応するアプリケーションシナリオは、フレーム描画スレッドが位置されるアプリケーションプログラムが実行されるフェーズであってもよい。例えば、フレーム描画スレッドに対応するアプリケーションシナリオは、WeChatのインターフェース（チャットインターフェースまたは小さな動画が開かれるインターフェース）であってもよい。
【００６５】
フレーム描画スレッドの負荷特性が決定される前に、フレーム描画スレッドが決定されてもよいことを理解されたい。
【００６６】
任意選択で、フレーム描画スレッドを決定するステップは、フレーム描画スレッドとして、画像フレームを描画するプロセスでキーフレーム描画機能を呼び出すためのスレッドを決定するステップを含む。
【００６７】
キーフレーム描画機能は、画像フレームを描画するプロセスにおける一部のキー機能であり得、キーフレーム描画機能は、事前設定されてもよい。具体的には、キーフレーム描画機能は、端末デバイスによって使用されるオペレーティングシステムのタイプに基づいて決定されてもよく、異なるタイプのオペレーティングシステムは、異なるキーフレーム描画機能に対応してもよい。例えば、iOSシステムに対応するキーフレーム描画機能は、Androidシステムに対応するキーフレーム描画機能とは異なる。
【００６８】
本出願では、フレーム描画スレッドの予測負荷値は、フレーム描画スレッドの負荷特性およびフレーム描画スレッドに対応するアプリケーションシナリオに基づいてより適切に決定することができ、さらに、ターゲットリソーススケジューリング方式は、より細かい粒度のリソーススケジューリングを実装するために、より適切に決定することができるため、リソーススケジューリングがより具体的になり、リソーススケジューリング効果がより良好になる。
【００６９】
第2の態様を参照すると、第2の態様のいくつかの実施態様では、フレーム描画スレッドの負荷特性およびフレーム描画スレッドに対応するアプリケーションシナリオに基づいてフレーム描画スレッドのターゲット予測負荷値を決定するステップは、フレーム描画スレッドの負荷特性に基づいてフレーム描画スレッドの第1の予測負荷値を決定するステップと、フレーム描画スレッドに対応するアプリケーションシナリオおよび第4のマッピング関係情報に基づいてフレーム描画スレッドの第2の予測負荷値を決定するステップであって、第4のマッピング関係情報は、複数のアプリケーションシナリオおよび複数のアプリケーションシナリオの各々に対応する負荷値を含む、ステップと、第1の予測負荷値および第2の予測負荷値に基づいてターゲット予測負荷値を決定するステップとを含む。
【００７０】
本出願では、予測負荷値がフレーム描画スレッドの負荷特性およびアプリケーションシナリオに基づいてそれぞれ決定され、次に最終的なターゲット予測負荷値が取得された2つの予測負荷値に基づいて決定されるため、ターゲット負荷値がより良好に決定され得、ターゲットリソーススケジューリング方式がより良好に決定され得る。
【００７１】
任意選択で、第1の予測負荷値および第2の予測負荷値に基づいてターゲット予測負荷値を決定するステップは、第1の予測負荷値および第2の予測負荷値における最大負荷値をターゲット予測負荷値として決定するステップを含む。
【００７２】
任意選択で、第1の予測負荷値および第2の予測負荷値に基づいてターゲット予測負荷値を決定するステップは、第1の予測負荷値および第2の予測負荷値における最小負荷値をターゲット予測負荷値として決定するステップを含む。
【００７３】
任意選択で、第1の予測負荷値および第2の予測負荷値に基づいてターゲット予測負荷値を決定するステップは、式C＝A×C1＋B×C2に基づいてターゲット予測負荷値を決定するステップを含む。
【００７４】
C1は、第1の予測負荷値であり、C2は、第2の予測負荷値であり、Cは、ターゲット予測負荷値であり、Aは、第1の重み付け係数であり、Bは、第2の重み付け係数である。
【００７５】
アプリケーションシナリオが負荷値に対して比較的大きい影響を有するとき、Aは、比較的大きい値に設定されてもよく、またはアプリケーションシナリオが負荷値に対して比較的小さい影響を有するとき、Aは、比較的小さい値に設定されてもよい。
【００７６】
任意選択で、第1の予測負荷値および第2の予測負荷値に基づいてターゲット予測負荷値を決定するステップは、第1の予測負荷値および第2の予測負荷値の平均値をターゲット予測負荷値として決定するステップを含む。
【００７７】
任意選択で、フレーム描画スレッドの負荷特性およびフレーム描画スレッドに対応するアプリケーションシナリオに基づいてフレーム描画スレッドのターゲット予測負荷値を決定するステップは、フレーム描画スレッドに対応するアプリケーションシナリオが開始シナリオであるとき、フレーム描画スレッドに対応するアプリケーションシナリオおよび第4のマッピング関係情報に基づいてフレーム描画スレッドのターゲット予測負荷値を決定するステップであって、第4のマッピング関係情報は、複数のアプリケーションシナリオおよび複数のアプリケーションシナリオの各々に対応する負荷値を含む、ステップを含む。
【００７８】
フレーム描画スレッドに対応するシナリオが開始シナリオであるとき、開始シナリオに対応する負荷値が比較的大きいため、フレーム描画スレッドのターゲット予測負荷値は、フレーム描画スレッドのアプリケーションシナリオに基づいて直接決定されてもよい。
【００７９】
任意選択で、フレーム描画スレッドの負荷特性およびフレーム描画スレッドに対応するアプリケーションシナリオに基づいてフレーム描画スレッドのターゲット予測負荷値を決定するステップは、フレーム描画スレッドに対応するアプリケーションシナリオが開始シナリオ以外のシナリオであるとき、フレーム描画スレッドの負荷特性に基づいてターゲット予測負荷値を決定するステップを含む。
【００８０】
第2の態様を参照すると、第2の態様のいくつかの実施態様では、フレーム描画スレッドの負荷特性は、フレーム描画スレッドのリソース要件特徴を示すために使用される。
【００８１】
具体的には、フレーム描画スレッドのリソース要件特徴は、フレーム描画スレッドの負荷が計算集約型であるかリソース集約型であるかを示すことができ、それにより対応するターゲットリソーススケジューリング方式がその後決定される。
【００８２】
例えば、フレーム描画スレッドの負荷が計算集約型の負荷であるとき、リソースがフレーム描画スレッドにスケジューリングされているときにコンピューティングリソースが主にスケジューリングされてもよく、またはフレーム描画スレッドの負荷がリソース集約型の負荷であるとき、リソースがフレーム描画スレッドにスケジューリングされているときにストレージリソースが主にスケジューリングされてもよい。
【００８３】
フレーム描画スレッドのリソース要件特徴が、フレーム描画スレッドの負荷が計算集約型かつリソース集約型であることを示すとき、リソースがフレーム描画スレッドにスケジューリングされているときにコンピューティングリソースとストレージリソースの両方がスケジューリングされてもよい。
【００８４】
第2の態様を参照すると、第2の態様のいくつかの実施態様では、フレーム描画スレッドの負荷特性は、フレーム描画スレッドの命令あたりの平均サイクル数、分岐命令の数、およびキャッシュミス率のうちの少なくとも1つを含む。
【００８５】
本出願では、フレーム描画スレッドの命令あたりの平均サイクル数、分岐命令の数、およびキャッシュミス率などのパラメータの1つまたは複数が収集されると、フレーム描画スレッドの負荷特性は直接取得することができ、それによりフレーム描画スレッドの負荷特性を取得する複雑さが軽減される。
【００８６】
フレーム描画スレッドの命令あたりの平均サイクル数、分岐命令の数、およびキャッシュミス率などのパラメータの1つまたは複数を直接使用して、フレーム描画スレッドの負荷特性を示すことができることを理解されたい。フレーム描画スレッドのこれらのパラメータが取得されると、フレーム描画スレッドの負荷特性が取得される。
【００８７】
第2の態様を参照すると、第2の態様のいくつかの実施態様では、フレーム描画スレッドの負荷特性は、第1の時間間隔におけるフレーム描画スレッドの命令あたりの平均サイクル数、分岐命令の数、およびキャッシュミス率のうちの少なくとも1つに基づいて決定され、第1の時間間隔は、フレーム描画スレッドの実行の開始と描画スレッドの実行の終了との間の期間である。
【００８８】
第1の時間間隔におけるフレーム描画スレッドの命令あたりの平均サイクル数、分岐命令の数、およびキャッシュミス率は、第1の時間間隔におけるフレーム描画スレッドの性能指標データと呼ばれることがある。フレーム描画スレッドの負荷特性が決定されているとき、第1の時間間隔におけるフレーム描画スレッドの性能指標データのいくつかのパラメータがフレーム描画スレッドの負荷特性として直接決定されてもよいし、または処理もしくは操作が第1の時間間隔におけるフレーム描画スレッドの性能指標データに対して実施されてもよく（例えば、除算演算が性能指標データの2つのパラメータに対して実施されるか、またはハッシュ演算が性能指標データのいくつかのパラメータに対して実施される）、処理または操作後に取得されたデータは、フレーム描画スレッドの負荷特性として決定される。
【００８９】
第2の態様を参照すると、第2の態様のいくつかの実施態様では、フレーム描画スレッドの実行は、所定の時間内に完了されず、方法は、フレーム描画スレッドの実行を加速するようにフレーム描画スレッドについての追加のリソースをスケジューリングするステップであって、所定の時間は、リソースがターゲットリソーススケジューリング方式でフレーム描画スレッドにスケジューリングされるときにフレーム描画スレッドの実行を完了するために必要な時間である、ステップをさらに含む。
【００９０】
フレーム描画スレッドの描画が所定の時間内に完了されない場合、それはより少ないリソースがターゲットリソーススケジューリング方式でフレーム描画スレッドにスケジューリングされ得ることを示すことを理解されたい。この場合、追加のリソースがフレーム描画スレッドの実行を加速するようにフレーム描画スレッドにスケジューリングされる必要があり、それによってユーザエクスペリエンスを向上させる。
【００９１】
第2の態様を参照すると、第2の態様のいくつかの実施態様では、追加のリソースのサイズと第1の差との間に正の相関関係があり、第1の差は、追加のリソースをスケジューリングする時点と事前設定された時間の終了時点との間の差である。
【００９２】
第1の差が大きいほど、所定の時間がより早く経過する。より多くのリソースがフレーム描画スレッドにスケジューリングされるため、フレーム描画スレッドの実行は、可能な限り早く完了される。
【００９３】
第3の態様によれば、端末デバイスが提供され、端末デバイスは、第1の態様および第1の態様の実施態様のいずれか1つにおける方法を実施するように構成されたモジュールを含む。
【００９４】
第4の態様によれば、端末デバイスが提供され、端末デバイスは、第2の態様および第2の態様の実施態様のいずれか1つにおける方法を実施するように構成されたモジュールを含む。
【００９５】
第5の態様によれば、端末デバイスが提供され、端末デバイスは、メモリと、プロセッサとを含み、メモリは、プログラムを格納するように構成され、プロセッサは、プログラムを実行するように構成され、プログラムを実行すると、プロセッサは、第1の態様および第1の態様の実施態様のいずれか1つにおける方法を実施するように構成される。
【００９６】
第6の態様によれば、端末デバイスが提供され、端末デバイスは、メモリと、プロセッサとを含み、メモリは、プログラムを格納するように構成され、プロセッサは、プログラムを実行するように構成され、プログラムを実行すると、プロセッサは、第2の態様および第2の態様の実施態様のいずれか1つにおける方法を実施するように構成される。
【００９７】
第7の態様によれば、コンピュータ可読記憶媒体が提供され、コンピュータ可読記憶媒体は、プログラムコードを格納するように構成され、プログラムコードがコンピュータによって実行されると、コンピュータは、第1の態様および第1の態様の実施態様のいずれか1つにおける方法を実施するように構成される。
【００９８】
第8の態様によれば、コンピュータ可読記憶媒体が提供され、コンピュータ可読記憶媒体は、プログラムコードを格納するように構成され、プログラムコードがコンピュータによって実行されると、コンピュータは、第2の態様および第2の態様の実施態様のいずれか1つにおける方法を実施するように構成される。
【００９９】
任意選択で、第7の態様および第8の態様では、コンピュータ可読記憶媒体は、端末デバイスの内部に位置されてもよく、コンピュータ可読媒体に格納されたプログラムコードは、端末デバイスによって実行されてもよい。プログラムコードが端末デバイスによって実行されると、端末デバイスは、第1の態様および第1の態様の実施態様のいずれか1つにおける方法、または第2の態様および第2の態様の実施態様のいずれか1つにおける方法を実施することができる。
【０１００】
第9の態様によれば、チップが提供され、チップは、プロセッサを含み、プロセッサは、第1の態様および第1の態様の実施態様のいずれか1つにおける方法を実施するように構成される。
【０１０１】
第10の態様によれば、チップが提供され、チップは、プロセッサを含み、プロセッサは、第2の態様および第2の態様の実施態様のいずれか1つにおける方法を実施するように構成される。
【０１０２】
第11の態様によれば、コンピュータまたは端末デバイスが第1の態様および第1の態様の実施態様のいずれか1つにおける方法を実施することを可能にするために使用されるコンピュータプログラム（またはコンピュータプログラム製品と呼ばれる）が提供される。
【０１０３】
第12の態様によれば、コンピュータまたは端末デバイスが第2の態様および第2の態様の実施態様のいずれか1つにおける方法を実施することを可能にするために使用されるコンピュータプログラム（またはコンピュータプログラム製品と呼ばれる）が提供される。
【図面の簡単な説明】
【０１０４】
【図１】本出願の一実施形態による、リソーススケジューリング方法の概略フローチャートである。
【図２】フレーム描画スレッドを決定するプロセスの概略図である。
【図３】フレーム描画スレッドの性能指標データに基づいてフレーム描画スレッドの負荷特性を取得する概略フローチャートである。
【図４】本出願の一実施形態による、リソーススケジューリング方法の概略フローチャートである。
【図５】フレーム描画スレッドの負荷特性に基づいてフレーム描画スレッドの予測負荷値を決定する概略フローチャートである。
【図６】フレーム描画スレッドの負荷特性に基づいてフレーム描画スレッドについてのリソースをスケジューリングする概略フローチャートである。
【図７】関連スレッドを決定し、関連スレッドについてのリソースをスケジューリングする概略フローチャートである。
【図８】本出願の一実施形態による、リソーススケジューリング方法の概略フローチャートである。
【図９】本出願の一実施形態による、端末デバイスの概略ブロック図である。
【図１０】本出願の一実施形態による、端末デバイスの概略ブロック図である。
【図１１】本出願の一実施形態による、端末デバイスの概略構造図である。
【発明を実施するための形態】
【０１０５】
以下は、添付の図面を参照して、本出願の技術的解決策を説明する。
【０１０６】
従来の解決策では、端末デバイスは、現在のタスクの負荷ステータスに基づいて対応するリソーススケジューリング方式を主に決定し、次にリソーススケジューリング方式でリソースをスケジューリングする。このように、スケジューリングを実施する方法は、現在のタスクの負荷ステータスに基づいて主に決定される。ユーザエクスペリエンスは、このスケジューリング方式では認識されない。対応するタスクの実行はスケジューリングプロセスで完了することができるが、ユーザエクスペリエンスは必ずしも比較的良いとは限らない。
【０１０７】
端末デバイスの場合、ユーザエクスペリエンスの良し悪しは、画像フレームの表示速度に明らかに関係する。画像フレームの表示速度が比較的遅いと、ユーザはフレームがフリーズしているように感じ、ユーザエクスペリエンスが悪い一方、画像フレームの表示速度が比較的速いと、ユーザは画像が比較的滑らかであると感じ、ユーザエクスペリエンスが比較的良い。例えば、ユーザは、ゲームをプレイしている。画像フレームの表示速度が比較的速い場合、ユーザは、ゲームが非常に滑らかであると感じる。逆の場合、ユーザは、ゲームでフレームフリーズが発生しているように感じる。
【０１０８】
分析により、画像フレームの表示速度とフレーム描画スレッドの実行との間に明らかな対応関係があることがわかった。フレーム描画スレッドが比較的速く実行されると、画像フレームは比較的速く表示され、またはフレーム描画スレッドが比較的ゆっくりと実行されると、画像フレームは比較的ゆっくりと表示される。したがって、細かいリソーススケジューリングの場合、リソースがフレーム描画スレッドに対して直接スケジューリングされ得るため、リソースがより適切にスケジューリングされる。
【０１０９】
以下は、図1を参照して、本出願の実施形態におけるリソーススケジューリング方法を詳細に説明する。本出願でスケジューリングされるリソースは、コンピューティングリソース（例えば、CPU）またはストレージリソース（例えば、ストレージスペース）であり得ることを理解されたい。
【０１１０】
図1は、本出願の一実施形態による、リソーススケジューリング方法の概略フローチャートである。図1に示す方法は、端末デバイスによって実施され得る。ここでの端末デバイスは、モバイル端末（例えば、スマートフォン）、コンピュータ、携帯情報端末、ウェアラブルデバイス、車載デバイス、モノのインターネットデバイスなどであってもよい。
【０１１１】
図1に示す方法は、ステップ101〜ステップ103を含む。以下は、ステップを詳細に説明する。
【０１１２】
101．フレーム描画スレッドの負荷特性を決定する、フレーム描画スレッドは、画像フレームを描画するために使用される。
【０１１３】
画像フレームは、画像のフレームと呼ばれることもある。簡潔にするために、画像フレームおよび画像のフレームは、本明細書では画像フレームとまとめて呼ばれる。
【０１１４】
フレーム描画スレッドの実行速度は、ユーザエクスペリエンスに影響を及ぼす場合がある。例えば、フレーム描画スレッドの実行速度が比較的遅いと、画像フレームを描画するのに比較的長い時間を要し、ユーザは画像にフレームフリーズが発生しているように感じる場合があり、またはフレーム描画スレッドの実行速度が比較的速いと、画像フレームの描画が比較的短時間内で完了され得、ユーザは画像が比較的滑らかであると感じる。
【０１１５】
フレーム描画スレッドの負荷特性は、フレーム描画スレッドの一部の負荷特徴を反映し得る。例えば、フレーム描画スレッドの負荷特性は、フレーム描画スレッドが計算集約型（より多くのコンピューティングリソースを必要とする）であるかアクセス集約型（より多くのストレージリソースを必要とする）であるかを反映することができる。フレーム描画スレッドの負荷特性は、フレーム描画スレッドのレイテンシ特徴（低レイテンシまたは高レイテンシ）をさらに反映し得る。
【０１１６】
任意選択で、フレーム描画スレッドは、ステップ101の前に決定されてもよい。
【０１１７】
具体的には、画像フレームを描画するプロセスでキーフレーム描画機能を呼び出すためのスレッドがフレーム描画スレッドとして決定されてもよい。例えば、キーフレーム描画機能が呼び出されるとき、キーフレーム描画機能を呼び出すためのスレッドは、キーフレーム描画機能で決定され、キーフレーム描画機能を呼び出すためのスレッドは、フレーム描画スレッドである。
【０１１８】
キーフレーム描画機能は、画像フレームを描画するプロセスにおける一部のキー機能であり得、キーフレーム描画機能は、事前設定されてもよい。具体的には、キーフレーム描画機能は、端末デバイスによって使用されるオペレーティングシステムのタイプに基づいて決定されてもよく、異なるタイプのオペレーティングシステムに対応するキーフレーム描画機能は、異なっていてもよい。例えば、iOSシステムに対応するキーフレーム描画機能は、Androidシステムに対応するキーフレーム描画機能とは異なる。
【０１１９】
以下は、図2を参照して、Androidシステムにおいてフレーム描画スレッドを決定するプロセスを詳細に説明する。
【０１２０】
図2は、画像のフレームを描画するプロセスを示す。プロセスは、キャンバス作成、測定とレイアウト、ビュー作成、レンダリング、合成、スワップバッファ、および表示を含む。
【０１２１】
キャンバス作成から表示へのプロセスは、キーフレーム描画機能が呼び出された後に画像フレームを描画するための一連のステップと見なすことができる。各プロセスでは、キーフレーム描画機能は、対応するスレッドを使用することによって呼び出される（異なるステップまたはプロセスが同じスレッドまたは異なるスレッドによって実施され得る）。したがって、これらのプロセスで実行されるスレッドは、フレーム描画スレッドとして決定されてもよい。
【０１２２】
表示プロセスはハードウェア性能に主に関係し、リソーススケジューリングにほとんど関係しないため、図2のキャンバス作成からスワップバッファへのプロセスでキーフレーム描画機能を呼び出すためのスレッドは、フレーム描画スレッドとして決定されてもよいことを理解されたい。
【０１２３】
ステップ101において、フレーム描画スレッドの負荷特性は、フレーム描画スレッドの性能指標データを記録することによって決定されてもよい。
【０１２４】
任意選択で、フレーム描画スレッドの負荷特性は、フレーム描画スレッドのリソース要件特徴を示すために使用される。
【０１２５】
具体的には、フレーム描画スレッドのリソース要件特徴は、フレーム描画スレッドの負荷が計算集約型であるかリソース集約型であるかを示すことができ、それにより対応するターゲットリソーススケジューリング方式がその後決定される。
【０１２６】
任意選択で、フレーム描画スレッドの負荷特性は、フレーム描画スレッドのリソース要件特徴、フレーム描画スレッドのレイテンシ特徴、およびフレーム描画スレッドの実行特徴のうちの少なくとも1つを示すために使用されてもよい。
【０１２７】
フレーム描画スレッドの負荷特性は、フレーム描画スレッドの全体的な負荷特性を反映することができるため、リソースは、フレーム描画スレッドの負荷特性に基づいてその後スケジューリングされる。
【０１２８】
任意選択で、一実施形態では、フレーム描画スレッドの負荷特性は、第1の時間間隔におけるフレーム描画スレッドの命令あたりの平均サイクル数、分岐命令の数、およびキャッシュミス率のうちの少なくとも1つに基づいて決定され、第1の時間間隔は、フレーム描画スレッドの実行の開始と描画スレッドの実行の終了との間の期間である。
【０１２９】
命令あたりの平均サイクル数（cycles per instruction、CPI）は、各コンピュータ命令を実行するために必要なクロックサイクルを示す（これは、命令の平均サイクル数と呼ばれることもある）。CPIの平均数は、式X＝Y／Zに基づいて計算することができ、Yは、期間におけるクロックサイクルの数を示し、Zは、期間における命令の数を示し、Xは、CPIの平均数である。分岐命令の数は、分岐の数を示すために使用され（分岐はプログラムである）、分岐の数は、ジャンプ命令の数と見なすこともでき、1つのジャンプ命令は、1つの分岐を示す。
【０１３０】
フレーム描画スレッドの負荷特性が決定されているとき、期間におけるフレーム描画スレッドの性能指標データが最初に収集され得、次にフレーム描画スレッドの負荷特性が期間におけるフレーム描画スレッドの性能指標データに基づいて決定される。
【０１３１】
任意選択で、一実施形態では、フレーム描画スレッドの負荷特性を決定するステップは、第1の時間間隔におけるフレーム描画スレッドの命令あたりの平均サイクル数、分岐命令の数、およびキャッシュミス率のうちの少なくとも1つを記録するステップであって、第1の時間間隔は、フレーム描画スレッドの実行の開始と描画スレッドの実行の終了との間の期間である、ステップと、第1の時間間隔におけるフレーム描画スレッドの命令あたりの平均サイクル数、分岐命令の数、およびキャッシュミス率のうちの少なくとも1つに基づいてフレーム描画スレッドの負荷特性を決定するステップとを含む。
【０１３２】
第1の時間間隔の設定は、収集され得る性能指標データに基づいて決定され得、第1の時間間隔は、十分な性能指標データを収集するために必要な時間に設定され得る。加えて、第1の時間間隔が設定されているときに第1の時間間隔に対して比率閾値が設定されてもよく、画像フレームの描画時間に対する第1の時間間隔の比率は、比率閾値を超えることはできない（比率が比率スレッドを超えた後、画像フレームのフレーム描画スレッドの実行はすぐに完了され、この場合、画像フレームについてのリソースをスケジューリングする意味はない）。
【０１３３】
プログラムカウンタは、画像フレームに対して実行されている命令のアドレスを記録してもよく、第1の時間間隔におけるフレーム描画スレッドのプログラムカウンタは、第1の時間間隔における画像フレームに対して実行される命令のアドレスであり得る。
【０１３４】
任意選択で、フレーム描画スレッドの負荷特性が決定されているとき、第1の時間間隔におけるフレーム描画スレッドの性能指標データがフレーム描画スレッドの負荷特性として直接決定されてもよいし、または分析もしくは処理が第1の時間間隔におけるフレーム描画スレッドの性能指標データに対して最初に実施されてもよく、分析もしくは処理により取得されたデータもしくはパラメータ（処理により取得されたデータもしくはパラメータは、画像フレームの全体的な負荷特徴を反映するデータもしくはパラメータであり得る）は、フレーム描画スレッドの負荷特性として使用される。
【０１３５】
例えば、フレーム描画スレッドの2つのタイプの性能指標データが第1の時間間隔で収集されると、除算が2つのタイプの性能指標データに対して実施されてもよく（具体的には、除算処理が第1の時間間隔におけるフレーム描画スレッドの命令あたりの平均サイクル数、および第1の時間間隔におけるフレーム描画スレッドの分岐命令の数に対して実施されてもよい）、取得された値は、フレーム描画スレッドの負荷特性を示すために使用される。
【０１３６】
加えて、第1の時間間隔でいくつかの性能指標データが収集されると、ハッシュ演算が性能指標データに対して実施されてもよく（例えば、ハッシュ演算が、画像フレームに対して実行された命令であり、プログラムカウンタによって収集されるアドレスに対して実施されてもよい）、次に操作により取得された情報またはパラメータは、フレーム描画スレッドの負荷特性を示すために使用される。
【０１３７】
フレーム描画スレッドの性能指標データは第1の時間間隔で複数回収集される場合があり、次にフレーム描画スレッドの負荷特性が複数回収集された様々な性能指標データに基づいて包括的に決定されることで、フレーム描画スレッドの負荷特性はより正確に決定することができることを理解されたい。一般に、フレーム描画スレッドの性能指標データを収集する回数が多く、性能指標データを収集する周波数が高いほど、フレーム描画スレッドの決定された負荷特性の精度がより高く、オーバヘッドが比較的高いことを示す。したがって、実際の用途では、第1の時間間隔の長さおよび性能指標データを収集する周波数は、経験またはシミュレーション結果に基づいて決定することができる。
【０１３８】
以下は、表1を参照して、フレーム描画スレッドの性能指標データの具体的な表現形式を詳細に説明する。表1は、フレーム描画スレッド0およびフレーム描画スレッド1の収集された命令あたりの平均サイクル数、収集された分岐命令の数、収集されたキャッシュミス率、および収集されたプログラムカウンタの具体的な値を示す。フレーム描画スレッド0が、例として使用される。期間において収集されるフレーム描画スレッド0の命令あたりの平均サイクル数の具体的な値は、0.7、0.72、0.6、0.8などであり、期間において収集されるフレーム描画スレッド0の分岐命令の数は、98k、87k、102kなどであり、期間において収集されるフレーム描画スレッド0のキャッシュミス率は、0.008、0.002、0.01などであり、期間において収集されるフレーム描画スレッド0のプログラムカウンタは、0xe8dab47a、0xe8dac79bなどである。表1は、フレーム描画スレッドの負荷特性の具体的な表現形式のみを示すことを理解されたい（表1の様々なパラメータの値も具体的な例である）。実際、フレーム描画スレッドの負荷特性は、表1のパラメータのうちの少なくとも1つを含む場合があり、またはフレーム描画スレッドの性能を反映し得る別のパラメータを含む場合がある。
【０１３９】
【表１】
2021517697.tif 000003
【０１４０】
102．フレーム描画スレッドの負荷特性に基づいてターゲットリソーススケジューリング方式を決定する。
【０１４１】
103．ターゲットリソーススケジューリング方式でフレーム描画スレッドについてのリソースをスケジューリングする。
【０１４２】
計算集約型のフレーム描画スレッドの場合、ターゲットリソーススケジューリング方式が決定されているときにより多くのコンピューティングリソースをスケジューリングすると見なすことができる。メモリ集約型のフレーム描画スレッドの場合、ターゲットリソーススケジューリング方式が決定されているときにより多くのストレージリソースをスケジューリングすると見なすことができる。低レイテンシ要件のフレーム描画スレッドの場合、フレーム描画スレッドの実行を加速するために、ターゲットリソーススケジューリング方式が決定されているときにより多くのリソースがスケジューリングされ得る。高レイテンシ要件のフレーム描画スレッドの場合、ターゲットリソーススケジューリング方式が決定されているときに適切なリソースがスケジューリングされ得る（フレーム描画スレッドが高レイテンシサービスに属しているため、スレッドを実行するために過剰なリソースをスケジューリングする必要はない）。
【０１４３】
本出願では、フレーム描画スレッドが画像フレームを描画するためのスレッドであり、フレーム描画スレッドの実行速度がユーザエクスペリエンスに直接関係するため、フレーム描画スレッドの負荷特性を使用することによって決定されたターゲットリソーススケジューリング方式でフレーム描画スレッドについてのスケジューリングを実施すると、より細かい粒度のリソーススケジューリングを実装することができるため、リソーススケジューリングがより具体的になり、リソーススケジューリング効果がより良好になる。
【０１４４】
任意選択で、フレーム描画スレッドの負荷特性がフレーム描画スレッドの性能指標データに基づいて取得された後、履歴記録情報が負荷特性を含むかどうかが最初に決定されてもよい。履歴記録情報が負荷特性を含まない場合、フレーム描画スレッドの負荷値は取得され続け、フレーム描画スレッドの負荷特性および負荷値が記録される。履歴記録情報が負荷特性を含む場合、それはフレーム描画スレッドの負荷値が記録され得ることを示し、この場合、フレーム描画スレッドの負荷特性のみが記録される必要がある（フレーム描画スレッドの負荷特性が記録され、ターゲットリソーススケジューリング方式をその後決定することができる）。
【０１４５】
図3は、フレーム描画スレッドの性能指標データに基づいてフレーム描画スレッドの負荷特性を取得する概略フローチャートである。図3に示すプロセスは、ステップ201〜ステップ207を含む。以下は、ステップ201〜ステップ207を詳細に説明する。
【０１４６】
201．開始。
【０１４７】
ステップ201は、フレーム描画スレッドの性能指標データを収集することを開始することを示し、ステップ201の開始時間は、フレーム描画スレッドの実行が開始される時間であってもよい。
【０１４８】
202．フレーム描画スレッドの性能指標データを収集する。
【０１４９】
性能指標データは、期間（具体的には、前述の第1の時間間隔であり得る）におけるフレーム描画スレッドの命令あたりの平均サイクル数、分岐命令の数、キャッシュミス率、およびプログラムカウンタのうちの少なくとも1つであってもよい。
【０１５０】
203．画像フレームのフレーム特性境界に達しているかどうかを決定する。
【０１５１】
フレーム特性境界は、期間であり得る。フレーム描画スレッドの性能指標データは、期間において収集される。期間が経過した後、フレーム描画スレッドの性能指標データの収集が停止される。具体的には、フレーム特性境界は、前述の説明における第1の時間間隔であり得る。
【０１５２】
204．収集された性能指標データに基づいてフレーム描画スレッドの負荷特性を決定する。
【０１５３】
ステップ204でフレーム描画スレッドの負荷特性を決定する具体的な方式およびプロセスについては、前述の説明におけるステップ101〜ステップ103の関連する段落のフレーム描画スレッドの負荷特性を決定する具体的な方式およびプロセスを参照することができることを理解されたい。
【０１５４】
205．フレーム描画スレッドの負荷特性が記録された負荷特性であるかどうかを決定する。
【０１５５】
記録された負荷特性は、画像フレームに先行するフレームであり、端末デバイスによって記録される負荷特性であり得、記録された負荷特性は、異なる負荷特性のみを含み得ることを理解されたい。
【０１５６】
206．フレーム描画スレッドの負荷特性を記録する。
【０１５７】
フレーム描画スレッドの負荷特性は、ステップ206で主に記録され、ターゲットリソーススケジューリング方式をその後決定する。
【０１５８】
207．フレーム描画スレッドの負荷特性および負荷値を記録する。
【０１５９】
ステップ207において、フレーム描画スレッドの予測負荷値は、フレーム描画スレッドの負荷特性に基づいて決定されてもよく（詳細については、本明細書のフレーム描画スレッドの負荷特性に基づいてフレーム描画スレッドの予測負荷値を決定する関連内容を参照されたい）、フレーム描画スレッドの予測負荷値は、フレーム描画スレッドの負荷値として使用され、次にフレーム描画スレッドの負荷特性および負荷値が記録されることで、その後負荷値が負荷特性と負荷値との間の記録された対応関係に基づいて直接決定される。
【０１６０】
本出願では、ターゲットリソーススケジューリング方式がフレーム描画スレッドの負荷特性に基づいて決定されているとき、リソーススケジューリング方式は、フレーム描画スレッドの負荷の具体的な特性に基づいて決定され得る。例えば、フレーム描画スレッドの実行速度を増加させてユーザエクスペリエンスを向上させるために、より多くのリソースがフレーム描画スレッドにスケジューリングされてもよい。
【０１６１】
ステップ103において、ターゲットリソーススケジューリング方式は、複数の具体的な方式でフレーム描画スレッドの負荷特性に基づいて決定される。具体的には、フレーム描画スレッドの予測負荷値は、フレーム描画スレッドの負荷特性に基づいて最初に決定され得、次にターゲットリソーススケジューリング方式は、フレーム描画スレッドの負荷特性、フレーム描画スレッドの予測負荷値、および事前設定されたターゲットフレームレートに基づいて計算により決定され、またはターゲットリソーススケジューリング方式は、フレーム描画スレッドの負荷特性、フレーム描画スレッドの予測負荷値、および事前設定された対応関係（ここでの対応関係は、負荷特性、負荷値、およびリソーススケジューリング方式の間の対応関係を含む）に基づいて決定され得、またはターゲットリソーススケジューリング方式は、フレーム描画スレッドの負荷特性および事前設定された対応関係（ここでの対応関係は、負荷特性とリソーススケジューリング方式との間の対応関係を含む）に基づいて直接決定され得る。
【０１６２】
任意選択で、一実施形態では、フレーム描画スレッドの負荷特性に基づいてターゲットリソーススケジューリング方式を決定するステップは、フレーム描画スレッドの負荷特性に基づいてフレーム描画スレッドの予測負荷値を決定するステップと、フレーム描画スレッドの負荷特性、フレーム描画スレッドの予測負荷値、および事前設定されたターゲットフレームレートに基づいてターゲットリソーススケジューリング方式を決定するステップとを含む。
【０１６３】
さらに、ターゲットリソーススケジューリング方式がフレーム描画スレッドの負荷特性、フレーム描画スレッドの予測負荷値、および事前設定されたターゲットフレームレートに基づいて決定されているとき、複数の利用可能なリソーススケジューリング方式がフレーム描画スレッドの負荷特性、フレーム描画スレッドの予測負荷値、および事前設定されたターゲットフレームレートに基づいて最初に決定され得、次に複数の利用可能なリソーススケジューリング方式の中で最も低い消費電力に対応するリソーススケジューリング方式は、ターゲットリソーススケジューリング方式として決定される。
【０１６４】
本出願では、複数の利用可能なリソーススケジューリング方式の中で最も低い消費電力に対応するリソーススケジューリング方式は、ターゲットリソーススケジューリング方式として決定され、それにより画像フレームのフレーム描画スレッドのリソーススケジューリング要件が満たされながら消費電力を可能な限り削減することができるため、性能と消費電力との間のバランスを実現する。
【０１６５】
図4は、本出願の一実施形態による、リソーススケジューリング方法の概略フローチャートである。図4に示す方法は、フレーム描画スレッドの負荷特性に基づいてターゲットリソーススケジューリング方式を決定するプロセスを主に示すことを理解されたい。図4に示す方法は、ステップ301〜ステップ304を含む。以下は、ステップ301〜ステップ304を詳細に説明する。
【０１６６】
301．フレーム描画スレッドの負荷特性に基づいてフレーム描画スレッドの予測負荷値を決定する。
【０１６７】
302．フレーム描画スレッドの負荷特性に基づいてフレーム描画スレッドのリソーススケジューリング方式のターゲットタイプを決定する。
【０１６８】
ステップ301とステップ302との間には順番がないことを理解されたい。ステップ301およびステップ302は、同時にまたは順番に実施されてもよい（ステップ301はステップ302の前に実行されるか、またはステップ302はステップ301の前に実行される）。
【０１６９】
異なるタイプの負荷の場合、必要なリソーススケジューリング方式も異なる。ステップ202において、フレーム描画スレッドの負荷特性に一致するリソーススケジューリング方式のタイプが、フレーム描画スレッドの負荷特性に基づいて決定される。
【０１７０】
例えば、フレーム描画スレッドの負荷が計算集約型であるとき、フレーム描画スレッドに一致するリソーススケジューリング方式のタイプは、コンピューティングリソースを主にスケジューリングすることであり、またはフレーム描画スレッドの負荷がメモリ集約型であるとき、フレーム描画スレッドに一致するリソーススケジューリング方式のタイプは、ストレージリソースを主にスケジューリングすることである。
【０１７１】
303．フレーム描画スレッドの予測負荷値およびターゲットフレームレートに基づいてターゲットタイプのリソーススケジューリング方式から少なくとも1つのリソーススケジューリング方式を決定する。
【０１７２】
例えば、ターゲットタイプがコンピューティングリソースをスケジューリングしているとき、少なくとも1つのリソーススケジューリング方式がステップ303においてコンピューティングリソースをスケジューリングするタイプから決定される必要がある。
【０１７３】
304．少なくとも1つのリソーススケジューリング方式の中で最も低い消費電力に対応するリソーススケジューリング方式をターゲットリソーススケジューリング方式として決定する。
【０１７４】
ステップ304において、少なくとも1つのリソーススケジューリング方式の中で最も低い消費電力に対応するリソーススケジューリング方式は、エネルギー効率表またはエネルギー効率曲線に基づいて決定され得、次に最も低い消費電力のリソーススケジューリング方式がターゲットリソーススケジューリング方式として決定される。
【０１７５】
エネルギー効率表の具体的な表現形式は、表2に示され得る。表2において、性能値は、プロセッサの処理能力を示すために使用され得、より大きな性能値は、プロセッサのより良好な性能およびより高い処理速度を示す。
【０１７６】
CPU内の最大コアが100％の負荷で最も高い周波数においてプログラムを実行するときに100 Mのプログラム命令が一定の期間に実行されると仮定すると、最も高い周波数での最大コアの性能値は、1024として定義することができる。しかし、CPU内の最小コアを使用して同じ時間内に100％の負荷で最も低い周波数において同じプログラムを実行し、最小コアが期間において10 Mの命令しか実行しない場合、CPU内の最小コアが最も低い周波数で実行されるときの対応する性能値は、102.4であると見なすことができる。つまり、CPU内の最小コアが最も低い周波数で実行されるとき、CPU内の最小コアの性能値は、最大コアが最も高い周波数で実行されるときのCPU内の最大コアの性能値の1／10である。
【０１７７】
表2に示すように、第1のリソーススケジューリング方式の性能は、107であり、周波数は、533であり、リソーススケジューリング方式に対応する消費電力は、32である。3つのリソーススケジューリング方式：リソーススケジューリング方式1、リソーススケジューリング方式2、およびリソーススケジューリング方式3は、ステップ203で決定され、3つのリソーススケジューリング方式の具体的な情報は、以下の通りであると仮定される：
【０１７８】
リソーススケジューリング方式1は、小さなコア、306の性能、1042の周波数、および119の消費電力に対応する。
【０１７９】
リソーススケジューリング方式2は、小さなコア、388の性能、1804の周波数、および242の消費電力に対応する。
【０１８０】
リソーススケジューリング方式3は、大きなコア、373の性能、903の周波数、および191の消費電力に対応する。
【０１８１】
3つのリソーススケジューリング方式のうち、リソーススケジューリング方式1に対応する消費電力が最も低く、リソーススケジューリング方式1は、ターゲットリソーススケジューリング方式として決定することができる。
【０１８２】
【表２】
2021517697.tif 000004
【０１８３】
ターゲットリソーススケジューリング方式が決定されているとき、ターゲットリソーススケジューリング方式を決定するプロセスを簡略化し、ターゲットリソーススケジューリング方式を決定する複雑さを軽減するために、ターゲットリソーススケジューリング方式は、画像フレームのフレーム描画スレッドの負荷情報（負荷情報は負荷特性および負荷値を含み得る）および負荷情報とリソーススケジューリング方式との間のマッピング関係に関する情報に基づいて直接決定され得ることを理解されたい。
【０１８４】
任意選択で、一実施形態では、フレーム描画スレッドの負荷特性に基づいてターゲットリソーススケジューリング方式を決定するステップは、フレーム描画スレッドの負荷特性に基づいてフレーム描画スレッドの予測負荷値を決定するステップと、フレーム描画スレッドの負荷特性、フレーム描画スレッドの予測負荷値、および第1のマッピング関係情報に基づいてターゲットリソーススケジューリング方式を決定するステップであって、第1のマッピング関係情報は、複数の負荷情報および複数の負荷情報の各々に対応するリソーススケジューリング方式を含み、複数の負荷情報の各々は、1つの負荷特性および1つの負荷値を含む、ステップとを含む。
【０１８５】
具体的には、フレーム描画スレッドの負荷特性、フレーム描画スレッドの予測負荷値、および第1のマッピング関係情報に基づいてターゲットリソーススケジューリング方式を決定するステップは、第1のマッピング関係情報におけるフレーム描画スレッドの負荷特性およびフレーム描画スレッドの予測負荷値に対応するリソーススケジューリング方式をターゲットリソーススケジューリング方式として決定するステップを含む。
【０１８６】
ターゲットリソーススケジューリング方式を決定するプロセスでは、フレーム描画スレッドの負荷特性に一致する第1の負荷特性およびフレーム描画スレッドの予測負荷値に一致する第1の負荷値は、第1のマッピング関係情報から決定することができ、次に第1の負荷特性および第1の負荷値に対応するリソーススケジューリング方式は、第1のマッピング関係情報に基づいてターゲットリソーススケジューリング方式として決定される。
【０１８７】
第1の負荷特性が第1のマッピング関係情報から決定されているとき、第1のマッピング関係に含まれる複数の負荷特性にあり、フレーム描画スレッドの負荷特性との類似度が類似度閾値以上である負荷特性は、第1の負荷特性として決定され得る。同様に、第1の負荷値が第1のマッピング関係情報から決定されているとき、第1のマッピング関係に含まれる複数の負荷値にあり、フレーム描画スレッドの予測負荷値との類似度が類似度閾値以上である負荷値は、第1の負荷値として決定され得る。
【０１８８】
任意選択で、第1のマッピング関係は、端末デバイスによって記録された履歴情報に基づいて決定されてもよく、履歴情報は、画像フレームに先行する画像フレームの負荷特性、負荷値、および対応するリソーススケジューリング方式を含む。
【０１８９】
第1のマッピング関係情報は、表の形式であってもよく、または負荷特性、負荷値、および対応するリソーススケジューリング方式を記録するための任意の他の形式の情報であってもよい。
【０１９０】
例えば、第1のマッピング関係情報の具体的な表現形式は、表3に示され得る。
【０１９１】
【表３】
2021517697.tif 000005
【０１９２】
表3において、負荷特性に含まれる具体的なパラメータは、表1の命令あたりの平均サイクル数、分岐命令の数、キャッシュミス率、およびプログラムカウンタのうちの少なくとも1つであり得、リソーススケジューリング方式に含まれる具体的なパラメータは、プロセッサタイプ、性能、および周波数などのパラメータのいずれか1つであり得、負荷値は、スレッド実行周波数および時間に基づいて決定され得る。負荷値は、フレーム描画スレッドによって実行される必要があるタスクの数を示し得る。負荷値が大きいほど、フレーム描画スレッドによって実行される必要があるプログラム命令の数がより多いことを示す。
【０１９３】
表3に示すように、フレーム描画スレッドの負荷特性が表3の負荷特性1に一致し、フレーム描画スレッドの負荷値が表3の負荷値1に一致するとき、負荷特性1および負荷値1に対応するリソーススケジューリング方式1は、表3に従ってターゲットリソーススケジューリング方式として決定することができる。
【０１９４】
本出願では、フレーム描画スレッドの負荷特性および予測負荷値ならびに第1のマッピング関係情報に基づいてターゲットリソーススケジューリング方式を決定することにより、直接計算によるターゲットリソーススケジューリング方式の決定と比較して、ターゲットリソーススケジューリング方式を決定する複雑さを軽減することができる。
【０１９５】
本出願では、フレーム描画スレッドの予測負荷値が決定されているとき、フレーム描画スレッドの予測負荷値は、フレーム描画スレッドの負荷特性および負荷特性と負荷値との間のマッピング関係に基づいて決定することができる。
【０１９６】
任意選択で、一実施形態では、フレーム描画スレッドの負荷特性に基づいてフレーム描画スレッドの予測負荷値を決定するステップは、フレーム描画スレッドの負荷特性に対応する負荷値をフレーム描画スレッドの負荷特性および第2のマッピング関係情報に基づいてフレーム描画スレッドの予測負荷値として決定するステップであって、第2のマッピング関係情報は、複数の負荷特性および複数の負荷特性の各々に対応する負荷値を含む、ステップを含む。
【０１９７】
第2のマッピング関係情報は、端末デバイスによって記録された履歴情報に基づいて決定されてもよく、履歴情報は、画像フレームに先行する画像フレームの負荷特性および対応する負荷値を含む。
【０１９８】
第2のマッピング関係情報は、表の形式であってもよく、または負荷特性および対応する負荷値を記録するための任意の他の形式の情報であってもよい。
【０１９９】
フレーム描画スレッドの予測負荷値は、フレーム描画スレッドの負荷特性および第2のマッピング関係を使用することによって比較的便利に決定することができ、これは、フレーム描画スレッドの負荷特性に基づいてフレーム描画スレッドの負荷値を分析または計算することによってフレーム描画スレッドの予測負荷値を直接決定するよりも簡単である。
【０２００】
第2のマッピング関係の具体的な形式は、表4に示され得、IDは、フレーム番号を示し、各フレームは、1つのフレーム特性に対応し、各フレーム特性は、1つの負荷値に対応する。画像フレームに先行するフレームのフレーム特性および負荷は、表4に記録され得る。したがって、表4は、端末デバイスによって記録された少なくともいくつかの履歴情報（フレームならびにフレームに対応するフレーム特性および負荷を含む）から生成され得る。
【０２０１】
【表４】
2021517697.tif 000006
【０２０２】
表4のフレーム特性は、単に例として分岐命令の数およびキャッシュミス率を使用することによって説明されていることを理解されたい。実際、フレーム特性は、フレーム特徴を反映し得る別のパラメータを使用することによって示される場合がある。
【０２０３】
フレーム描画スレッドの予測負荷値は、以下の2つの場合におけるフレーム描画スレッドの負荷特性および第2のマッピング関係情報に基づいて具体的に決定することができる。
【０２０４】
（1）第2のマッピング関係情報における複数の負荷特性が、フレーム描画スレッドの負荷特性との類似度が事前設定された類似度に達する基準負荷特性を含むとき、基準負荷特性に対応する負荷値は、フレーム描画スレッドの予測負荷値として決定される。
【０２０５】
（2）複数の負荷特性が基準負荷特性を含まないとき、画像フレームに先行するフレームの負荷値は、フレーム描画スレッドの予測負荷値として決定される。
【０２０６】
フレーム描画スレッドの負荷特性との類似度が事前設定された類似度に達するということは、フレーム描画スレッドの負荷特性との類似度が類似度閾値以上であることを意味し得る。
【０２０７】
基準負荷特性は、1つの負荷特性であってもよく（第2のマッピング関係情報は、フレーム描画スレッドの負荷特性との類似度が類似度閾値以上である1つの負荷特性のみを含む）、または複数の負荷特性であってもよい（第2のマッピング関係情報は、フレーム描画スレッドの負荷特性との類似度が類似度閾値以上である複数の負荷特性を含む）ことを理解されたい。基準負荷特性が1つの負荷特性であるとき、基準負荷特性に対応する負荷値は、フレーム描画スレッドの予測負荷値として直接決定されてもよい。基準負荷特性が複数の負荷特性であるとき、負荷特性のいずれか1つに対応する負荷値は、フレーム描画スレッドの予測負荷値として決定されてもよいし、またはフレーム描画スレッドの負荷特性との類似度が最も高い負荷特性に対応する負荷値は、ターゲットリソーススケジューリング方式として決定されてもよい。
【０２０８】
画像フレームに先行するフレームは、画像フレームの前に表示される画像フレームであってもよく、さらに、画像フレームに先行するフレームは、画像フレームの前に表示され、画像フレームに隣接する画像フレームであってもよいことを理解されたい。
【０２０９】
隣接するフレームのフレーム描画スレッドの負荷値は、通常、大きく異ならない。したがって、複数の負荷特性が、現在のフレーム描画スレッドの負荷特性との類似度が要件を満たす基準負荷特性を含まないとき、画像フレームに先行するフレームの負荷値は、フレーム描画スレッドの予測負荷値として直接決定されてもよい。ターゲットリソーススケジューリング方式を決定する複雑さまたは計算量をさらに軽減するために、ターゲットスケジューリング方式は、画像フレームのフレーム描画スレッドの負荷特性および負荷特性とリソーススケジューリング方式との間のマッピング関係に基づいて直接決定することができる。
【０２１０】
図5は、フレーム描画スレッドの負荷特性に基づいてフレーム描画スレッドの予測負荷値を決定する概略フローチャートである。図5に示すプロセスは、ステップ401〜ステップ406を含む。以下は、ステップを詳細に説明する。
【０２１１】
401．フレーム描画スレッドの負荷特性を記録する。
【０２１２】
402．フレーム描画スレッドを使用することによって描画された画像フレームに先行するフレームの負荷特性を取得する。
【０２１３】
具体的には、ステップ402において、画像フレームに先行するフレームの負荷特性は、記録された負荷特性から取得され得る。
【０２１４】
403．画像フレームに先行するフレームの負荷特性に対するフレーム描画スレッドの負荷特性の変化が事前設定された制限を超えるかどうかを決定する。
【０２１５】
ステップ403において、画像フレームに先行するフレームの負荷特性に対するフレーム描画スレッドの負荷特性の変化が事前設定された制限を超えるとき、それは画像フレームに先行するフレームの負荷特性とフレーム描画スレッドの負荷特性との間の差が比較的大きいことを示し、この場合、以前に記録された履歴データは、フレーム描画スレッドの負荷特性に一致する基準負荷特性に対して検索される必要があり、すなわち、ステップ404は実施される必要があることを理解されたい。画像フレームに先行するフレームの負荷特性に対するフレーム描画スレッドの負荷特性の変化が事前設定された制限を超えないとき、それは画像フレームに先行するフレームの負荷特性とフレーム描画スレッドの負荷特性との間の類似度が比較的高いことを示し、この場合、画像フレームに先行するフレームの負荷特性は、フレーム描画スレッドの負荷特性に一致する基準負荷特性として直接決定されてもよく、すなわち、ステップ406が実施される。
【０２１６】
404．記録された履歴データがフレーム描画スレッドの負荷特性に一致する基準負荷特徴を含むかどうかを決定する。
【０２１７】
ステップ404において、基準負荷特性は、フレーム描画スレッドの負荷特性との類似度が類似度閾値以上である負荷特性とすることができる。
【０２１８】
405．画像フレームに先行するフレームの負荷特性に対応する負荷値をフレーム描画スレッドの予測負荷値として決定する。
【０２１９】
406．基準負荷特性に対応する負荷値をフレーム描画スレッドの予測負荷値として決定する。
【０２２０】
任意選択で、一実施形態では、フレーム描画スレッドの負荷特性に基づいてターゲットリソーススケジューリング方式を決定するステップは、フレーム描画スレッドの負荷特性に対応するリソーススケジューリング方式をフレーム描画スレッドの負荷特性および第3のマッピング関係情報に基づいてターゲットリソーススケジューリング方式として決定するステップであって、第3のマッピング関係情報は、複数の負荷特性および複数の負荷特性の各々に対応するリソーススケジューリング方式を含む、ステップを含む。
【０２２１】
第3のマッピング関係情報は、端末デバイスによって記録された履歴情報に基づいて決定されてもよい（履歴情報は、画像フレームの前に表示されるフレームの負荷特性および対応するリソーススケジューリング方式を含む）。
【０２２２】
第3のマッピング関係情報は、表の形式であってもよく、または負荷特性および対応するリソーススケジューリング方式を記録するための任意の他の形式の情報であってもよい。
【０２２３】
本出願では、ターゲットリソーススケジューリング方式は、フレーム描画スレッドの負荷特性および負荷特性とリソーススケジューリング方式との間のマッピング関係に関する情報を使用することによって直接決定され、それにより画像フレームのフレーム描画スレッドに基づいて画像フレームの予測負荷値を決定するプロセスは省略することができ、ターゲットリソーススケジューリング方式を決定する複雑さがさらに軽減され得る。
【０２２４】
ターゲットリソーススケジューリング方式がフレーム描画スレッドの負荷特性および第3のマッピング関係情報に基づいて決定されているとき、フレーム描画スレッドの負荷特性と比較的同様である負荷特性は、第3のマッピング関係情報から選択することができ、次に同様の負荷特性に対応するリソーススケジューリング方式は、ターゲットリソーススケジューリング方式として決定される。
【０２２５】
具体的には、フレーム描画スレッドの負荷特性および第3のマッピング関係情報に基づいてターゲットリソーススケジューリング方式を決定するステップは、第3のマッピング関係情報における複数の負荷特性が基準負荷特性を含むとき、基準負荷特性に対応するリソーススケジューリング方式をターゲットリソーススケジューリング方式として決定するステップであって、基準負荷特性とフレーム描画スレッドの負荷特性との間の類似度は、類似度閾値以上である、ステップ、または第3のマッピング関係情報における複数の負荷特性が基準負荷特性を含まないとき、画像フレームに先行するフレームのフレーム描画スレッドのターゲットリソーススケジューリング方式をターゲットリソーススケジューリング方式として決定するステップを含む。
【０２２６】
基準負荷特性は、1つの負荷特性であってもよく（第3のマッピング関係情報は、フレーム描画スレッドの負荷特性との類似度が類似度閾値以上である1つの負荷特性のみを含む）、または複数の負荷特性であってもよい（第3のマッピング関係情報は、フレーム描画スレッドの負荷特性との類似度が類似度閾値以上である複数の負荷特性を含む）ことを理解されたい。基準負荷特性が1つの負荷特性であるとき、基準負荷特性に対応するリソーススケジューリング方式は、ターゲットリソーススケジューリング方式として直接決定されてもよい。基準負荷特性が複数の負荷特性であるとき、負荷特性のいずれか1つに対応するリソーススケジューリング方式は、ターゲットリソーススケジューリング方式として決定されてもよく、または負荷特性にあり、フレーム描画スレッドの負荷特性との類似度が最も高い負荷特性に対応するリソーススケジューリング方式は、ターゲットリソーススケジューリング方式として決定されてもよい。
【０２２７】
例えば、第3のマッピング関係は、表5に示され得る。表5は、異なる負荷特性と、これらの異なる負荷特性で記録されたリソーススケジューリング方式を記録している。フレーム描画スレッドの負荷特性と表5の負荷特性1との間の類似度が類似度閾値以上であるとき、負荷特性1に対応するリソーススケジューリング方式1は、ターゲットリソーススケジューリング方式として決定することができる。
【０２２８】
【表５】
2021517697.tif 000007
【０２２９】
図6は、フレーム描画スレッドの負荷特性に基づいてフレーム描画スレッドについてのリソースをスケジューリングする概略フローチャートである。図6に示すプロセスは、ステップ501〜ステップ508を含む。以下は、ステップ501〜ステップ508を詳細に説明する。
【０２３０】
501．フレーム描画スレッドの負荷特性を決定する。
【０２３１】
502．フレーム描画スレッドの負荷特性に基づいて、フレーム描画スレッドの負荷がアクセス集約型の負荷であるか計算集約型の負荷であるかを決定する。
【０２３２】
ステップ503は、フレーム描画スレッドの負荷が計算集約型の負荷である場合に実施され、ステップ504は、フレーム描画スレッドの負荷がアクセス集約型の負荷である場合に実施される。
【０２３３】
503．フレーム描画スレッドの実行速度が遅いとき、CPU内の小さなコアをスケジューリングすることによってフレーム描画スレッドを実行する、またはフレーム描画スレッドの実行速度が速いとき、CPU内の大きなコアを使用することによってフレーム描画スレッドを実行する。
【０２３４】
504．フレーム描画スレッドの実行速度が速いとき、CPU内の大きなコアを使用することによってフレーム描画スレッドを実行し、DDR周波数を増加させる、またはフレーム描画スレッドの実行速度が遅いとき、CPU内の小さなコアを使用することによってフレーム描画スレッドを実行し、DDR周波数を増加させる。
【０２３５】
505．フレーム描画スレッドが高レイテンシタスクに属するか低レイテンシタスクに属するかを決定する。
【０２３６】
506．パッキング（packing）ポリシーを実行し、コア間バランシング（balance）を実施する。
【０２３７】
パッキングポリシーは、現在のタスクが実行のために複数の異なるCPUに割り当てられることであり得、コア間バランシングを実施することは、現在のタスクが実行のためにCPU内の複数のコアに割り当てられることであり得る。
【０２３８】
507．拡散（spreading）ポリシーを実行し、コア間バランシングの実施をスキップする。
【０２３９】
拡散ポリシーは、現在のタスクが実行のために1つのCPUに割り当てられることであり得、コア間バランシングの実施をスキップすることは、現在のタスクが実行のためにCPU内のコアに割り当てられることであり得る。
【０２４０】
508．エネルギー効率表に基づいてCPU内の適切なコアを選択し、フレーム描画スレッドを実行する。
【０２４１】
図6は、フレーム描画スレッドをスケジューリングするために、フレーム描画スレッドの負荷特性に基づいて対応するリソーススケジューリング方式を選択するプロセスを主に示すことを理解されたい。前述の説明において、ステップ501〜ステップ507は、フレーム描画スレッドに基づいてターゲットリソーススケジューリング方式を決定することに相当し、ステップ508は、ターゲットリソーススケジューリング方式でフレーム描画スレッドについてのリソースをスケジューリングすることに相当する。
【０２４２】
フレーム描画スレッドに一致するターゲットリソーススケジューリング方式を使用してフレーム描画スレッドについてのリソースをスケジューリングすることに加えて、フレーム描画スレッドの実行に影響を及ぼす可能性のある関連スレッドを見つけることができ、リソースが関連スレッドにスケジューリングされて関連スレッドの実行速度を増加させ、それによりフレーム描画スレッドの実行速度が増加される。
【０２４３】
任意選択で、一実施形態では、図1に示す方法は、フレーム描画スレッドの関連スレッドを決定するステップであって、関連スレッドは、フレーム描画スレッドをスリープさせることが可能なスレッドである、ステップと、関連スレッドの実行を加速するように関連スレッドについてのリソースをスケジューリングするステップとをさらに含む。
【０２４４】
フレーム描画スレッドをスリープさせることは、具体的には、フレーム描画スレッドを断続的にスリープさせてもよく、ここでのスリープは、動作を停止することを指す場合もある。関連スレッドは、フレーム描画スレッドをスリープさせ、さらにフレーム描画スレッドの実行速度を低下させることが可能なスレッドであることを理解されたい。フレーム描画スレッドの実行を加速することによって、フレーム描画スレッドの実行速度は、間接的に増加させることができる。
【０２４５】
本出願では、リソースが関連スレッドにスケジューリングされるので、フレーム描画スレッドの実行速度を間接的に増加させることができ、ユーザエクスペリエンスが向上される。
【０２４６】
具体的には、リソースが関連スレッドにスケジューリングされることにより、関連スレッドを可能な限り早く実行することができ、関連スレッドのブロッキング時間が短縮され、フレーム描画スレッドの実行速度が増加される。
【０２４７】
任意選択で、一実施形態では、フレーム描画スレッドに関係するスレッドは、候補スレッドとフレーム描画スレッドとの間の論理関係および／またはリソース相関関係に基づいて候補スレッドから決定される。
【０２４８】
図7は、関連スレッドを決定し、関連スレッドについてのリソースをスケジューリングする概略フローチャートである。図7に示すプロセスは、ステップ601〜ステップ607を含む。以下は、ステップを詳細に説明する。
【０２４９】
601．負荷ステータスに基づいて候補スレッドを認識する。
【０２５０】
具体的には、ステップ601において、比較的大きい負荷値を有するスレッドが、負荷値に基づく候補スレッドとして、端末デバイス上で現在実行されているスレッド内のフレーム描画スレッド以外のスレッドから選択され得る。例えば、ステップ601において、最大負荷値を有する10個のスレッドが、候補スレッドとして、他のスレッドから選択されてもよい。
【０２５１】
602．候補スレッドの実行時間およびスリープ時間（またはスリープ時間と呼ばれる）に基づいて候補スレッドとフレーム描画スレッドとの間の論理相関係数を決定する。
【０２５２】
具体的には、フレーム描画スレッドとフレーム描画スレッドとの間の論理相関が、候補スレッドおよびフレーム描画スレッドの実行時間とスリープ時間を比較することによって推定され得、論理相関係数が取得される。論理相関係数が大きいほど、候補スレッドとフレーム描画スレッドとの間の相関がより高いことを示すと見なすことができる。
【０２５３】
関連スレッドを決定することは、式に基づいて以下で詳細に説明される。
【０２５４】
例えば、候補スレッドとフレーム描画スレッドとの間の論理相関係数は、式（1）に基づいて決定されてもよい。
【数１】
2021517697.tif 000008
【０２５５】
式（1）では、Xは、フレーム描画スレッドの実行時間であり、Yは、候補スレッドの実行時間であり、Cov（X，Y）は、XとYの共分散を示し、Var［X］は、Xの分散を示し、Var［Y］は、Yの分散を示し、r（X，Y）は、候補スレッドとフレーム描画スレッドとの間の論理相関係数である。
【０２５６】
603．グローバルリソース要件に基づいて候補スレッドとフレーム描画スレッドとの間のリソース相関係数を決定する。
【０２５７】
具体的には、フレーム描画スレッドがスリープするとき、グローバルリソースの不足によりフレーム描画スレッドがスリープするかどうかが決定され得る。グローバルリソースの不足によりフレーム描画スレッドがスリープする場合、候補スレッドにあり、グローバルリソースが現在属するスレッド（グローバルリソースが割り当てられているスレッド）がさらに決定される。グローバルリソースが第1のスレッドに属すると仮定すると、第1のスレッドとフレーム描画スレッドとの間のリソース相関係数は、1であり、別のスレッドとフレーム描画スレッドとの間のリソース相関係数は、0である。
【０２５８】
1および0が、本明細書ではリソース相関係数の例として使用されることを理解されたい。実際、リソース相関係数は、別のスレッドとフレーム描画スレッドとの間の依存度に基づいて0〜1の間の任意の値とすることができる。
【０２５９】
604．候補スレッドとフレーム描画スレッドとの間の論理相関係数が事前設定された閾値を超えるかどうかを決定する。
【０２６０】
候補スレッドとフレーム描画スレッドとの間の論理相関係数が事前設定された閾値を超えるとき（例えば、事前設定された閾値が0.8または0.9であり得る）、候補スレッドとフレーム描画スレッドとの間に比較的高い相関があると見なすことができ、候補スレッドは、フレーム描画スレッドの関連スレッドと見なすことができる。次に、ステップ606およびステップ607が実施される必要がある。
【０２６１】
605．候補スレッドとフレーム描画スレッドとの間のリソース相関係数が事前設定された閾値を超えるかどうかを決定する。
【０２６２】
候補スレッドとフレーム描画スレッドとの間のリソース相関係数が事前設定された閾値を超えるとき、候補スレッドは、フレーム描画スレッドの関連スレッドと見なすことができる。次に、ステップ606およびステップ607が実施される必要がある。
【０２６３】
ステップ605およびステップ603における事前設定された閾値は、異なる閾値であってもよく、経験、シミュレーション実験などに基づいて具体的に設定されてもよい。
【０２６４】
本出願では、論理相関係数が事前設定された閾値を超え、リソース相関係数が事前設定された閾値を超えるとき、ステップ606およびステップ607を実施することができることを理解されたい。
【０２６５】
606．候補スレッドをフレーム描画スレッドの関連スレッドグループに追加する。
【０２６６】
607．関連スレッドグループについてのリソースをスケジューリングし、関連スレッドグループ内のスレッドの実行を加速する。
【０２６７】
加えて、ステップ603における論理相関係数が事前設定された閾値を超えないとき、候補スレッドに関する情報を記録することができ、それにより関連スレッドがその後決定されているときに候補スレッドが除外されることで、関連スレッドを決定する速度を加速する。
【０２６８】
同様に、ステップ605におけるリソース相関係数が事前設定された閾値を超えないとき、候補スレッドに関する情報を同様に記録することができ、それにより関連スレッドがその後決定されているときに候補スレッドが除外される。
【０２６９】
ターゲットリソーススケジューリング方式は、画像フレームのフレーム描画スレッドの負荷特性、予測負荷値などに基づいて推定されるスケジューリング方式である。実際のスケジューリングでは、予測負荷値の不正確な予測のために、リソーススケジューリング速度が比較的遅くなる場合があり、画像フレームの描画を所定の時間内に完了することができない。
【０２７０】
したがって、端末デバイスが所定の時間内に画像フレームの描画を完了しなかった場合、追加のリソースがフレーム描画スレッドにスケジューリングされ、フレーム描画スレッドの実行速度を増加させることができる。
【０２７１】
任意選択で、一実施形態では、図1に示す方法は、フレーム描画スレッドの実行が所定の時間内に完了されないことをさらに含み、方法は、画像フレームの描画が完了されるまでフレーム描画スレッドについての追加のリソースをスケジューリングするステップであって、所定の時間は、リソースがターゲットリソーススケジューリング方式でフレーム描画スレッドにスケジューリングされるときにフレーム描画スレッドの実行を完了するために必要な時間である、ステップをさらに含む。
【０２７２】
フレーム描画スレッドの実行が完了されると、画像フレームの描画が完了されることを理解されたい。画像フレームの描画が所定の時間内に完了されない場合、それはより少ないリソースがターゲットリソーススケジューリング方式でフレーム描画スレッドにスケジューリングされ得ることを示す。この場合、追加のリソースがフレーム描画スレッドの実行を加速するようにフレーム描画スレッドにスケジューリングされる必要があり、それによってユーザエクスペリエンスを向上させる。
【０２７３】
任意選択で、追加のリソースのサイズと第1の差との間に正の相関関係があり、第1の差は、追加のリソースをスケジューリングする時点と事前設定された時間の終了時点との間の差である。
【０２７４】
第1の差が大きいほど、所定の時間がより早く経過する。より多くのリソースがフレーム描画スレッドにスケジューリングされるため、フレーム描画スレッドの実行は、可能な限り早く完了される。
【０２７５】
フレーム描画スレッドの実行が完了されると、フレーム描画スレッドについての追加のリソースのスケジューリングが停止されることを理解されたい。
【０２７６】
任意選択で、一実施形態では、図1に示す方法は、フレーム描画スレッドの負荷特性が典型的な負荷特性であるかどうかを決定するステップと、フレーム描画スレッドの負荷特性が典型的な負荷特性であるとき、フレーム描画スレッドの負荷特性およびフレーム描画スレッドの予測負荷値を格納するステップとをさらに含む。
【０２７７】
フレーム描画スレッドの負荷特性が典型的な負荷特性であるとき、フレーム描画スレッドの予測負荷値は、典型的な負荷特性に対応する負荷値であることを理解されたい。
【０２７８】
本出願では、典型的な負荷特性、および典型的な負荷特性に対応する負荷値が格納されるため、その後、予測負荷値が負荷特性に基づいて直接決定され、予測負荷値の複雑さを決定することができる。
【０２７９】
任意選択で、一実施形態では、フレーム描画スレッドの負荷特性が典型的な負荷特性であるかどうかを決定するステップは、記録された負荷特性が、フレーム描画スレッドの負荷特性との類似度が類似度閾値以上である負荷特性を含むかどうかを決定するステップと、記録された負荷特性が、フレーム描画スレッドの負荷特性との類似度が類似度閾値以上である負荷特性を含まない場合、フレーム描画スレッドの負荷特性が典型的な負荷特性であると決定するステップとを含む。
【０２８０】
記録された負荷特性が、フレーム描画スレッドの負荷特性との類似度が類似度閾値以上である負荷特性を含むとき、それは記録された負荷特性がフレーム描画スレッドの負荷特性と同様の負荷特性を含むことを示し、フレーム描画スレッドの負荷特性はさらに記録される必要がないことを理解されたい。
【０２８１】
図8は、本出願の一実施形態による、リソーススケジューリング方法の概略フローチャートである。図8に示す方法は、端末デバイスによって実施され得る。ここでの端末デバイスは、モバイル端末（例えば、スマートフォン）、コンピュータ、携帯情報端末、ウェアラブルデバイス、車載デバイス、モノのインターネットデバイスなどであってもよい。
【０２８２】
図8に示す方法は、ステップ701〜ステップ704を含む。以下は、ステップを詳細に説明する。
【０２８３】
701．フレーム描画スレッドの負荷特性を決定する、フレーム描画スレッドは、画像フレームを描画するために使用される。
【０２８４】
画像フレームのフレーム描画スレッドは、ステップ701の前に決定されてもよい。画像フレームは、端末デバイスによって現在表示されているフレームであってもよく、画像フレームは、具体的には、画像フレームなどであってもよい。フレーム描画スレッドは、画像フレームを描画するためのスレッドである。フレーム描画スレッドの実行速度は、画像フレームの表示速度に直接影響を及ぼし、ユーザエクスペリエンスにさらに影響を及ぼす。具体的には、フレーム描画スレッドの実行速度が比較的遅いと、画像フレームを表示するのに比較的長い時間を要し、ユーザは画像にフレームフリーズが発生しているように感じる場合があり、またはフレーム描画スレッドの実行速度が比較的速いと、画像フレームを表示するのにそれほど長い時間を必要とせず、ユーザは画像が比較的滑らかに表示されていると感じる。
【０２８５】
702．フレーム描画スレッドの負荷特性およびフレーム描画スレッドに対応するアプリケーションシナリオに基づいてフレーム描画スレッドのターゲット予測負荷値を決定する。
【０２８６】
フレーム描画スレッドに対応するアプリケーションシナリオは、フレーム描画スレッドが位置されるアプリケーションプログラムのタイプであってもよい。例えば、フレーム描画スレッドに対応するアプリケーションシナリオは、動画アプリケーションプログラム、ゲームアプリケーションプログラム、またはユーザとの対話が必要な別のアプリケーションプログラム（例えば、WeChat、Taobao、またはWeibo）であってもよい。
【０２８７】
加えて、フレーム描画スレッドに対応するアプリケーションシナリオは、フレーム描画スレッドが位置されるアプリケーションプログラムのフェーズであってもよい。例えば、フレーム描画スレッドに対応するアプリケーションシナリオは、フレーム描画スレッドが位置されるアプリケーションプログラムの開始フェーズ、終了フェーズなどであってもよい。
【０２８８】
あるいは、フレーム描画スレッドに対応するアプリケーションシナリオは、フレーム描画スレッドが位置されるアプリケーションプログラムが実行されるフェーズであってもよい。例えば、フレーム描画スレッドに対応するアプリケーションシナリオは、WeChatのインターフェース（チャットインターフェースまたは小さな動画が開かれるインターフェース）であってもよい。
【０２８９】
703．フレーム描画スレッドの負荷特性、フレーム描画スレッドのターゲット予測負荷値、および事前設定されたターゲットフレームレートに基づいてターゲットリソーススケジューリング方式を決定する。
【０２９０】
704．ターゲットリソーススケジューリング方式でフレーム描画スレッドについてのリソースをスケジューリングする。
【０２９１】
本出願では、フレーム描画スレッドの予測負荷値は、フレーム描画スレッドの負荷特性およびフレーム描画スレッドに対応するアプリケーションシナリオに基づいてより適切に決定することができ、さらに、ターゲットリソーススケジューリング方式は、より細かい粒度のリソーススケジューリングを実装するために、より適切に決定することができるため、リソーススケジューリングがより具体的になり、リソーススケジューリング効果がより良好になる。
【０２９２】
任意選択で、一実施形態では、フレーム描画スレッドの負荷特性およびフレーム描画スレッドに対応するアプリケーションシナリオに基づいてフレーム描画スレッドのターゲット予測負荷値を決定するステップは、フレーム描画スレッドの負荷特性に基づいてフレーム描画スレッドの第1の予測負荷値を決定するステップと、フレーム描画スレッドに対応するアプリケーションシナリオおよび第4のマッピング関係情報に基づいて第2の予測負荷値を決定するステップであって、第4のマッピング関係情報は、複数のアプリケーションシナリオおよび複数のアプリケーションシナリオの各々に対応する負荷値を含む、ステップと、第1の予測負荷値および第2の予測負荷値に基づいてターゲット予測負荷値を決定するステップとを含む。
【０２９３】
例えば、端末デバイスがアプリケーションを開始すると、アプリケーションがアプリケーション開始シナリオであることを認識することができ、次にアプリケーション開始シナリオに対応する負荷値は、第2の予測負荷値を取得するために、事前に割り当てられたガイドライン（GL）表（事前に割り当てられたGL表は、第4のマッピング関係情報を含むことができる）に基づいて決定される。GL表は、構成ファイルと同様であり、GL表は、異なるシナリオに対応する負荷値と、異なるシナリオに対応するリソーススケジューリング方式（大きなコアまたは小さなコアが選択されているかどうか、周波数の値など）とを含む。異なるアプリケーションシナリオに対応する負荷値またはリソーススケジューリング方式は、GL表に基づいて決定することができる。
【０２９４】
第1の予測負荷値および第2の予測負荷値が取得された後、ターゲット予測負荷値は、複数の方式で決定され得ることを理解されたい。以下は、いくつかの可能な方式を説明する。
【０２９５】
方式1：第1の予測負荷値と第2の予測負荷値における最大負荷値は、ターゲット予測負荷値として決定される。
【０２９６】
方式2：第1の予測負荷値と第2の予測負荷値における最小負荷値は、ターゲット予測負荷値として決定される。
【０２９７】
方式3：第1の予測負荷値と第2の予測負荷値の平均値は、ターゲット予測負荷値として決定される。
【０２９８】
加えて、重み付け加算が第1の予測負荷値および第2の予測負荷値に対して実施され得、第1の予測負荷値と第1の重み付け係数の積、および第2の予測負荷値と第2の重み付け係数の積の合計は、ターゲット予測負荷値として決定することができ、第1の重み付け係数および第2の重み付け係数は、事前設定された値であり得る。
【０２９９】
アプリケーションシナリオが負荷値に対して比較的大きい影響を有するとき、比較的大きい第1の重み付け係数が設定されてもよく、またはアプリケーションシナリオが負荷値に対して比較的小さい影響を有するとき、比較的小さい第1の重み付け係数が設定されてもよい。
【０３００】
任意選択で、フレーム描画スレッドの負荷特性およびフレーム描画スレッドに対応するアプリケーションシナリオに基づいてフレーム描画スレッドのターゲット予測負荷値を決定するステップは、フレーム描画スレッドに対応するアプリケーションシナリオが開始シナリオであるとき、フレーム描画スレッドに対応するアプリケーションシナリオおよび第4のマッピング関係情報に基づいてフレーム描画スレッドのターゲット予測負荷値を決定するステップであって、第4のマッピング関係情報は、複数のアプリケーションシナリオおよび複数のアプリケーションシナリオの各々に対応する負荷値を含む、ステップを含む。
【０３０１】
フレーム描画スレッドに対応するシナリオが開始シナリオであるとき、開始シナリオに対応する負荷値が比較的大きいため、フレーム描画スレッドのターゲット予測負荷値は、フレーム描画スレッドのアプリケーションシナリオに基づいて直接決定されてもよい。
【０３０２】
任意選択で、フレーム描画スレッドの負荷特性およびフレーム描画スレッドに対応するアプリケーションシナリオに基づいてフレーム描画スレッドのターゲット予測負荷値を決定するステップは、フレーム描画スレッドに対応するアプリケーションシナリオが開始シナリオ以外のシナリオであるとき、フレーム描画スレッドの負荷特性に基づいてターゲット予測負荷値を決定するステップを含む。
【０３０３】
任意選択で、一実施形態では、フレーム描画スレッドの負荷特性は、フレーム描画スレッドのリソース要件特徴を示すために使用される。
【０３０４】
具体的には、フレーム描画スレッドの負荷特性は、フレーム描画スレッドの負荷が計算集約型であるかリソース集約型であるかを示すことができ、それにより対応するターゲットリソーススケジューリング方式がその後決定される。
【０３０５】
例えば、フレーム描画スレッドの負荷が計算集約型の負荷であるとき、コンピューティングリソースがフレーム描画スレッドに主にスケジューリングされ、またはフレーム描画スレッドの負荷がリソース集約型の負荷であるとき、ストレージリソースがフレーム描画スレッドに主にスケジューリングされる。
【０３０６】
フレーム描画スレッドの負荷特性は、フレーム描画スレッドの負荷が計算集約型かつリソース集約型であることをさらに示す場合があり、この場合、コンピューティングリソースとストレージリソースの両方は、フレーム描画スレッドにスケジューリングされる必要があることを理解されたい。
【０３０７】
任意選択で、一実施形態では、フレーム描画スレッドの負荷特性は、フレーム描画スレッドの命令あたりの平均サイクル数、分岐命令の数、およびキャッシュミス率のうちの少なくとも1つを含む。
【０３０８】
本出願では、フレーム描画スレッドの命令あたりの平均サイクル数、分岐命令の数、およびキャッシュミス率などのパラメータの1つまたは複数が収集されると、フレーム描画スレッドの負荷特性は直接取得することができ、それによりフレーム描画スレッドの負荷特性を取得する複雑さが軽減される。
【０３０９】
フレーム描画スレッドの命令あたりの平均サイクル数、分岐命令の数、およびキャッシュミス率などのパラメータの1つまたは複数を直接使用して、フレーム描画スレッドの負荷特性を示すことができることを理解されたい。フレーム描画スレッドのこれらのパラメータが取得されると、フレーム描画スレッドの負荷特性が取得される。
【０３１０】
任意選択で、フレーム描画スレッドの負荷特性は、第1の時間間隔におけるフレーム描画スレッドの命令あたりの平均サイクル数、分岐命令の数、およびキャッシュミス率のうちの少なくとも1つに基づいて決定され、第1の時間間隔は、フレーム描画スレッドの実行の開始と描画スレッドの実行の終了との間の期間である。
【０３１１】
第1の時間間隔におけるフレーム描画スレッドの命令あたりの平均サイクル数、分岐命令の数、およびキャッシュミス率は、第1の時間間隔におけるフレーム描画スレッドの性能指標データと呼ばれることがある。フレーム描画スレッドの負荷特性が決定されているとき、第1の時間間隔におけるフレーム描画スレッドの性能指標データのいくつかのパラメータがフレーム描画スレッドの負荷特性として直接決定されてもよいし、または処理もしくは操作が第1の時間間隔におけるフレーム描画スレッドの性能指標データに対して実施されてもよく（例えば、除算が性能指標データの2つのパラメータに対して実施されるか、またはハッシュ演算が性能指標データのいくつかのパラメータに対して実施される）、処理または操作後に取得されたデータは、フレーム描画スレッドの負荷特性として決定される。
【０３１２】
任意選択で、フレーム描画スレッドの実行は、所定の時間内に完了されず、図7に示す方法は、画像フレームの描画が完了されるまでフレーム描画スレッドについての追加のリソースをスケジューリングするステップであって、所定の時間は、リソースがターゲットリソーススケジューリング方式でフレーム描画スレッドにスケジューリングされるときにフレーム描画スレッドの実行を完了するために必要な時間である、ステップをさらに含む。
【０３１３】
フレーム描画スレッドの実行が完了されると、画像フレームの描画が完了されることを理解されたい。画像フレームの描画が所定の時間内に完了されない場合、それはより少ないリソースがターゲットリソーススケジューリング方式でフレーム描画スレッドにスケジューリングされ得ることを示す。この場合、追加のリソースがフレーム描画スレッドの実行を加速するようにフレーム描画スレッドにスケジューリングされる必要があり、それによってユーザエクスペリエンスを向上させる。
【０３１４】
任意選択で、追加のリソースのサイズと第1の差との間に正の相関関係があり、第1の差は、追加のリソースをスケジューリングする時点と事前設定された時間の終了時点との間の差である。
【０３１５】
第1の差が大きいほど、所定の時間がより早く経過する。より多くのリソースがフレーム描画スレッドにスケジューリングされるため、フレーム描画スレッドの実行は、可能な限り早く完了される。
【０３１６】
前述の説明では、第1のマッピング関係情報、第2のマッピング関係情報、第3のマッピング関係情報、および第4のマッピング関係情報が発生する。マッピング関係情報の意味をよりよく理解するために、以下は、表6を参照して、マッピング関係情報の意味を説明する。
【０３１７】
【表６】
2021517697.tif 000009
【０３１８】
本出願では、様々なマッピング関係情報を事前に格納することができ、様々なマッピング情報は、端末デバイスによって記録された履歴情報に基づいて決定することができる（履歴情報は、負荷情報、負荷特性、アプリケーションシナリオ、負荷値、およびリソーススケジューリング方式の一部の間の対応関係を含み得る）。加えて、画像フレームの実行が完了された後、様々なマッピング関係情報は、画像フレームの負荷情報、負荷特性、予測負荷値、および対応するリソーススケジューリング方式などの情報に基づいてさらに更新され得、それによりフレーム描画スレッドに対応する予測負荷値、ターゲットリソーススケジューリング方式などは、様々なマッピング関係情報に基づいてその後決定される。
【０３１９】
上記は、図1〜図8を参照して、本出願の実施形態におけるリソーススケジューリング方式を詳細に説明している。以下は、図9〜図11を参照して、本出願の実施形態における端末デバイスを説明する。図9〜図11の端末デバイスは、本出願の実施形態におけるリソーススケジューリング方法のステップを実施することができることを理解されたい。繰り返しを避けるために、図9〜図11の端末デバイスが以下で説明されるとき、繰り返される説明は適宜省略される。
【０３２０】
図9は、本出願の一実施形態による、端末デバイスの概略ブロック図である。図9の端末デバイス1000は、処理モジュール1001と、スケジューリングモジュール1002とを含む。処理モジュール1001およびスケジューリングモジュール1002は、本出願の実施形態における図1〜図8のリソーススケジューリング方法のステップを実施することができる。
【０３２１】
具体的には、端末デバイス1000が図1に示す方法を実施するように構成されるとき、処理モジュール1001およびスケジューリングモジュール1002の具体的な機能は、以下の通りである：
【０３２２】
処理モジュール1001は、フレーム描画スレッドの負荷特性を決定し、フレーム描画スレッドは、画像フレームを描画するために使用され、フレーム描画スレッドの負荷特性に基づいてターゲットリソーススケジューリング方式を決定するように構成される。
【０３２３】
スケジューリングモジュール1002は、ターゲットリソーススケジューリング方式でフレーム描画スレッドについてのリソースをスケジューリングするように構成される。
【０３２４】
本出願では、フレーム描画スレッドが画像フレームを描画するためのスレッドであり、フレーム描画スレッドの実行速度がユーザエクスペリエンスに直接関係するため、フレーム描画スレッドの負荷特性を使用することによって決定されたターゲットリソーススケジューリング方式でフレーム描画スレッドについてのスケジューリングを実施すると、より細かい粒度のリソーススケジューリングを実装することができるため、リソーススケジューリングがより具体的になり、リソーススケジューリング効果がより良好になる。
【０３２５】
端末デバイス1000が図8に示す方法を実施するように構成されるとき、処理モジュール1001およびスケジューリングモジュール1002の具体的な機能は、以下の通りである：
【０３２６】
処理モジュール1001は、フレーム描画スレッドの負荷特性を決定し、フレーム描画スレッドは、画像フレームを描画するために使用され、フレーム描画スレッドの負荷特性およびフレーム描画スレッドに対応するアプリケーションシナリオに基づいてフレーム描画スレッドのターゲット予測負荷値を決定し、フレーム描画スレッドの負荷特性、フレーム描画スレッドのターゲット予測負荷値、および事前設定されたターゲットフレームレートに基づいてターゲットリソーススケジューリング方式を決定するように構成される。
【０３２７】
スケジューリングモジュール1002は、ターゲットリソーススケジューリング方式でフレーム描画スレッドについてのリソースをスケジューリングするように構成される。
【０３２８】
本出願では、フレーム描画スレッドの予測負荷値は、フレーム描画スレッドの負荷特性およびフレーム描画スレッドに対応するアプリケーションシナリオに基づいてより適切に決定することができ、さらに、ターゲットリソーススケジューリング方式は、より細かい粒度のリソーススケジューリングを実装するために、より適切に決定することができるため、リソーススケジューリングがより具体的になり、リソーススケジューリング効果がより良好になる。
【０３２９】
図10は、本出願の一実施形態による、端末デバイスの概略ブロック図である。図10の端末デバイス2000は、ハードウェア層2100、システム層2200、およびアプリケーション層2300に分割されてもよい。
【０３３０】
図10に示すように、ハードウェア層2100は、いくつかの物理モジュールまたはユニットを主に含み、ハードウェア層2100は、CPU、ダブルデータレート同期ダイナミックランダムアクセスメモリ（DDR）、およびグラフィック処理ユニット（GPU）を含み得る。CPUは、性能監視ユニット（PMU）をさらに含んでもよい。
【０３３１】
本出願の実施形態におけるリソーススケジューリング方法のステップは、CPUによって最終的に実行され得ることを理解されたい。
【０３３２】
図10に示すように、システム層2200は、シナリオ認識モジュール、ユーザエクスペリエンス量子化モジュール、QoSスケジューリングコントローラ、負荷予測モジュール、スケジューリングモジュール、エネルギー効率収集モジュール、性能監視モジュール、均一周波数変調モジュール、フレームレンダリングサブシステム、メディアサブシステム、グリッドサブシステム、およびメモリ管理サブシステムを含み得る。
【０３３３】
システム層2200におけるモジュールの具体的な機能は、以下の通りである：
【０３３４】
シナリオ認識モジュールは、ユーザによって現在使用されているシナリオを認識するように構成される（例えば、ユーザが動画を見ているか、または開いているウェブページを閲覧しているかどうかを認識することができる）。
【０３３５】
ユーザエクスペリエンス量子化モジュールは、リアルタイムでシステムフレームウィンドウ情報をキャプチャし、システムフレームウィンドウ情報をカーネルに提供するように構成され、フレームウィンドウ情報は、フレーム描画プロセスでCPUおよびGPUなどの構成要素を計算することによってフレーム描画操作に関係する開始時点および終了時点を主に指し、フレームウィンドウ情報は、ユーザによって認識され得る「フレームフリーズ」などのエクスペリエンスをカーネルによって認識され得る具体的なデータに変換するために、ユーザエクスペリエンスを量子化するために使用される。
【０３３６】
サービス品質（QoS）コントローラは、現在のシナリオに基づいて、認識された現在のシナリオの性能制約およびターゲットフレームレートを提供するように構成される。
【０３３７】
負荷予測モジュールは、フレーム描画スレッドの負荷を予測してフレーム描画スレッドの予測負荷値を取得するように構成され、予測負荷値は、フレーム描画スレッドの実行を完了するために必要なワークロードであり得、ワークロードは、CPU、GPU、またはDDRなどのハード構成要素によって具体的に完了される必要があるワークロードを含むが、これに限定されない。
【０３３８】
スケジューリングモジュールは、負荷予測モジュールによって予測された負荷およびカットオフ時間（フレーム描画スレッドの実行はカットオフ時間内に完了される必要がある）などの情報に基づいて、上位層のQoSモジュールによって提供される指標、リソース供給、およびフレーム描画スレッド（および関連スレッド）についてのスレッドスケジューリングを決定するように構成される。
【０３３９】
エネルギー効率収集モジュールは、リアルタイムで現在のシステム消費電力を収集し、最適なエネルギー消費比率で異なるリソーススケジューリング方式を決定するように構成される。
【０３４０】
性能監視モジュールは、ステータスに基づいてフレーム特性を示すために、コンピューティング構成要素の性能動作ステータスを収集するように構成される。
【０３４１】
周波数変調モジュールは、CPUの動作周波数を調整するように構成される。
【０３４２】
フレームレンダリングサブシステムは、表示されるフレームをレンダリングするように構成される。
【０３４３】
図10に示すように、アプリケーション層2300は、アプリケーション1、アプリケーション2、…、アプリケーションxなどを含み得る。アプリケーション1、アプリケーション2、…、およびアプリケーションxは、異なるアプリケーションプログラムエンティティを表す。例えば、アプリケーション1は、WeChatであってもよく、アプリケーション2は、Weiboであってもよい。
【０３４４】
本出願における画像フレームは、図10に示すアプリケーション層2300内のアプリケーションにおいて現在表示される画像フレームであり得ることを理解されたい。
【０３４５】
図9および図10に示す端末デバイスは、具体的には、モバイル端末（例えば、スマートフォン）、コンピュータ、携帯情報端末、ウェアラブルデバイス、車載デバイス、モノのインターネットデバイス、人工知能デバイスなどであってもよい。
【０３４６】
図11は、本出願の一実施形態による、端末デバイスの概略構造図である。
【０３４７】
図11の端末デバイスは、通信モジュール3010、センサ3020、ユーザ入力モジュール3030、出力モジュール3040、プロセッサ3050、音声／動画入力モジュール3060、メモリ3070、および電源3080を含む。以下は、モジュールを詳細に説明する。
【０３４８】
通信モジュール3010は、端末デバイスが別の端末デバイスと通信することを可能にし得る少なくとも1つのモジュールを含むことができる。例えば、通信モジュール3010は、有線ネットワークインターフェース、放送受信モジュール、モバイル通信モジュール、無線インターネットモジュール、ローカルエリア通信モジュール、ロケーション（またはポジショニング）情報モジュールなどの1つまたは複数を含んでもよい。
【０３４９】
センサ3020は、ユーザの一部の操作を感知することができ、センサ3020は、距離センサ、タッチセンサなどを含むことができる。センサ3020は、ユーザによる画面へのタッチまたは画面への接近などの操作を感知し得る。
【０３５０】
ユーザ入力モジュール3030は、入力されたデジタル情報もしくは文字情報、または接触タッチ操作／非接触ジェスチャを受け取り、システムのユーザ設定および機能制御などに関係する信号入力を受け取るように構成される。ユーザ入力モジュール3030は、タッチパネルおよび／または別の入力デバイスを含む。
【０３５１】
出力モジュール3040は、ユーザによって入力された情報、ユーザに提供された情報、システムの様々なメニューインターフェースなどを表示するように構成された、ディスプレイパネルを含む。任意選択で、ディスプレイパネルは、液晶ディスプレイ（LCD）、有機発光ダイオード（OLED）などの形式で構成されてもよい。いくつかの他の実施形態では、タッチパネルは、タッチディスプレイ画面を形成するために、ディスプレイパネルを覆ってもよい。加えて、出力モジュール3040は、音声出力モジュール、アラーム、触覚モジュールなどをさらに含んでもよい。
【０３５２】
音声／動画入力モジュール3060は、音声信号または動画信号を入力するように構成される。音声／動画入力モジュール3060は、カメラおよびマイクロフォンを含み得る。
【０３５３】
電源3080は、プロセッサ3050の制御下で外部電力および内部電力を受け取り、端末デバイスでモジュールを実行するために必要な電力を提供することができる。
【０３５４】
プロセッサ3050は、1つまたは複数のプロセッサを示し得る。例えば、プロセッサ3050は、1つまたは複数の中央処理装置、1つの中央処理装置および1つのグラフィック処理ユニット、または1つのアプリケーションプロセッサおよび1つのコプロセッサ（例えば、マイクロ制御ユニットまたはニューラルネットワークプロセッサ）を含み得る。プロセッサ3050が複数のプロセッサを含むとき、複数のプロセッサは、同じチップに統合されてもよく、または独立したチップであってもよい。1つのプロセッサは、1つまたは複数の物理コアを含むことができ、物理コアは、最小処理モジュールである。
【０３５５】
メモリ3070は、コンピュータプログラムを格納し、コンピュータプログラムは、オペレーティングシステムプログラム3071、アプリケーションプログラム3072などを含む。典型的なオペレーティングシステムは、デスクトップコンピュータまたはノートブックコンピュータで使用されるシステム、例えば、MicrosoftのWindowsまたはAppleのMac OSを含み、また、モバイル端末で使用されるシステム、例えば、Googleによって開発されたLinux（登録商標）ベースのAndroid（登録商標）システムを含む。本出願の実施形態におけるリソーススケジューリング方法がソフトウェアを介して実装されるとき、リソーススケジューリング方法は、アプリケーションプログラム3071を使用することによって具体的に実装されると見なすことができる。
【０３５６】
メモリ3070は、以下のタイプ：フラッシュ（flash）メモリ、ハードディスクタイプのメモリ、マイクロマルチメディアカードタイプのメモリ、カードタイプメモリ（例えば、SDまたはXDメモリ）、ランダムアクセスメモリ（RAM）、スタティックランダムアクセスメモリ（static RAM、SRAM）、読み取り専用メモリ（ROM）、電気的に消去可能なプログラム可能な読み取り専用メモリ（EEPROM）、プログラム可能な読み取り専用メモリ（programmable ROM、PROM）、磁気メモリ、磁気ディスク、または光ディスクの1つまたは複数であってもよい。いくつかの他の実施形態では、メモリ3070は、インターネット上のネットワーク記憶デバイスであってもよい。システムは、インターネット上のメモリ3070上で更新または読み取りなどの操作を実施することができる。
【０３５７】
プロセッサ3050は、メモリ3070からコンピュータプログラムを読み取り、次にコンピュータプログラムによって定義された方法を実施するように構成される。例えば、プロセッサ3050は、システムでオペレーティングシステムを実行し、オペレーティングシステムの様々な機能を実装するために、オペレーティングシステムプログラム3072を読み取るか、またはシステムでアプリケーションを実行するために、1つまたは複数のアプリケーションプログラム3071を読み取る。
【０３５８】
例えば、メモリ3070は、コンピュータプログラムを格納することができる（コンピュータプログラムは、本出願の実施形態におけるリソーススケジューリング方法に対応するプログラムである）。プロセッサ3050がコンピュータプログラムを実行するとき、プロセッサ3050は、本出願の実施形態におけるリソーススケジューリング方法を実施することができる。
【０３５９】
メモリ3070は、コンピュータプログラム以外のデータ3073をさらに格納する。例えば、メモリ3070は、本出願におけるリソーススケジューリング方法でのフレーム描画スレッドの負荷特性、フレーム描画スレッドの予測負荷値などを格納することができる。
【０３６０】
図11のモジュール間の接続関係は、一例に過ぎない。本出願のいずれかの実施形態で提供される方法はまた、別の接続方式を使用する端末デバイスにも適用することができる。例えば、すべてのモジュールは、バスを使用することによって接続される。
【０３６１】
当業者は、本明細書に開示された実施形態に記載の例と組み合わせて、ユニットおよびアルゴリズムステップが電子ハードウェアまたはコンピュータソフトウェアと電子ハードウェアの組み合わせによって実装され得ることを知っているかもしれない。機能がハードウェアまたはソフトウェアのどちらによって実施されるかは、特定の用途および技術的解決策の設計上の制約によって異なる。当業者は、各特定の用途について記載された機能を実装するために異なる方法を使用することができるが、その実施態様が本出願の範囲を超えることを考慮すべきではない。
【０３６２】
当業者であれば、便利で簡単な説明のために、前述のシステム、装置、およびユニットの詳細な動作プロセスについて、前述の方法の実施形態における対応するプロセスを参照することができ、詳細は本明細書では再度説明されないことを明確に理解するであろう。
【０３６３】
本出願において提供されるいくつかの実施形態では、開示されたシステム、装置、および方法は他の方式で実装されてもよいことを理解されたい。例えば、記載された装置の実施形態は、単なる例である。例えば、ユニット分割は、論理的機能分割にすぎず、実際の実施態様において他の分割であり得る。例えば、複数のユニットもしくは構成要素が、組み合わされて、もしくは統合されて別のシステムにされてもよく、またはいくつかの特徴が、無視されてもよく、もしくは実施されなくてもよい。加えて、表示される、もしくは説明される相互結合または直接結合もしくは通信接続は、いくつかのインターフェースを使用することによって実装されてもよい。装置またはユニットの間の間接結合もしくは通信接続は、電子形態、機械形態、または他の形態で実装されてもよい。
【０３６４】
別々の部分として記載されるユニットは、物理的に分離していてもいなくてもよく、ユニットとして表示される部分は、物理ユニットでもそうでなくてもよく、一箇所に位置されてもよく、または複数のネットワークユニットに分散させてもよい。実施形態の解決策の目的を達成するために、ユニットの一部またはすべてを実際の要件に基づいて選択することができる。
【０３６５】
加えて、本出願の実施形態における機能ユニットは、1つの処理ユニットに統合されてもよく、またはユニットの各々が物理的に単独で存在してもよく、または2つ以上のユニットが1つのユニットに統合されてもよい。
【０３６６】
機能がソフトウェア機能ユニットの形態で実装され、かつ独立した製品として販売される、もしくは使用されるとき、機能は、コンピュータ可読記憶媒体に格納され得る。そのような理解に基づいて、本出願の技術的解決策は、基本的に、または従来技術に寄与する部分が、または技術的解決策のいくつかが、ソフトウェア製品の形態で実装され得る。コンピュータソフトウェア製品は、記憶媒体に格納され、本出願の実施形態において説明される方法のステップのすべてまたは一部を実施するようコンピュータデバイス（パーソナルコンピュータ、サーバ、ネットワークデバイスなどであり得る）に命令するためのいくつかの命令を含む。記憶媒体は、USBフラッシュドライブ、リムーバブルハードディスク、読み取り専用メモリ（ROM）、ランダムアクセスメモリ（RAM）、磁気ディスク、または光ディスクなどのプログラムコードを格納することができる任意の媒体を含む。
【０３６７】
前述の説明は、本出願の特定の実施態様にすぎないが、本出願の保護範囲を限定することを意図するものではない。本出願において開示される技術的範囲内で当業者によって容易に考案される任意の変形または置換が、本出願の保護範囲に入るものとする。したがって、本出願の保護範囲は、特許請求の範囲の保護範囲の対象となるものとする。
【符号の説明】
【０３６８】
1000  端末デバイス
1001  処理モジュール
1002  スケジューリングモジュール
2000  端末デバイス
2100  ハードウェア層
2200  システム層
2300  アプリケーション層
3010  通信モジュール
3020  センサ
3030  ユーザ入力モジュール
3040  出力モジュール
3050  プロセッサ
3060  音声／動画入力モジュール
3070  メモリ
3071  アプリケーションプログラム
3072  オペレーティングシステムプログラム
3073  コンピュータプログラム以外のデータ
3080  電源
【図１】
2021517697.tif 000010
【図２】
2021517697.tif 000011
【図３】
2021517697.tif 000012
【図４】
2021517697.tif 000013
【図５】
2021517697.tif 000014
【図６】
2021517697.tif 000015
【図７】
2021517697.tif 000016
【図８】
2021517697.tif 000017
【図９】
2021517697.tif 000018
【図１０】
2021517697.tif 000019
【図１１】
2021517697.tif 000020
【手続補正書】
【提出日】令和2年9月29日(2020.9.29)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０００１
【補正方法】変更
【補正の内容】
【０００１】
本出願は、端末デバイスの分野に関し、より具体的には、リソーススケジューリング方法および端末デバイスに関する。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００２１
【補正方法】変更
【補正の内容】
【００２１】
第1の態様を参照すると、第1の態様のいくつかの実施態様では、フレーム描画スレッドの負荷特性は、第1の時間間隔（または第1の期間と呼ばれる）におけるフレーム描画スレッドの命令あたりの平均サイクル数、分岐命令の数、およびキャッシュミス率のうちの少なくとも1つに基づいて決定され、第1の時間間隔は、フレーム描画スレッドの実行の開始とフレーム描画スレッドの実行の終了との間の期間である。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００２３
【補正方法】変更
【補正の内容】
【００２３】
任意選択で、フレーム描画スレッドの負荷特性を決定するステップは、第1の時間間隔におけるフレーム描画スレッドの性能指標データを記録するステップであって、第1の時間間隔は、フレーム描画スレッドの実行の開始とフレーム描画スレッドの実行の終了との間の期間であり、第1の時間間隔におけるフレーム描画スレッドの性能指標データは、第1の時間間隔におけるフレーム描画スレッドの命令あたりの平均サイクル数、分岐命令の数、キャッシュミス率、およびプログラムカウンタのうちの少なくとも1つを含む、ステップと、第1の時間間隔におけるフレーム描画スレッドの性能指標データに基づいてフレーム描画スレッドの負荷特性を決定するステップとを含む。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００４５
【補正方法】変更
【補正の内容】
【００４５】
第1の態様を参照すると、第1の態様のいくつかの実施態様では、フレーム描画スレッドの負荷特性および第3のマッピング関係情報に基づいてターゲットリソーススケジューリング方式を決定するステップは、第3のマッピング関係情報における複数の負荷特性が基準負荷特性を含まないとき、フレーム描画スレッドを使用することによって描画された画像フレームに先行するフレームのフレーム描画スレッドのリソーススケジューリング方式を、ターゲットリソーススケジューリング方式として決定するステップであって、基準負荷特性とフレーム描画スレッドの負荷特性との間の類似度は、類似度閾値以上である、ステップを含む。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００８７
【補正方法】変更
【補正の内容】
【００８７】
第2の態様を参照すると、第2の態様のいくつかの実施態様では、フレーム描画スレッドの負荷特性は、第1の時間間隔におけるフレーム描画スレッドの命令あたりの平均サイクル数、分岐命令の数、およびキャッシュミス率のうちの少なくとも1つに基づいて決定され、第1の時間間隔は、フレーム描画スレッドの実行の開始とフレーム描画スレッドの実行の終了との間の期間である。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】０１２８
【補正方法】変更
【補正の内容】
【０１２８】
任意選択で、一実施形態では、フレーム描画スレッドの負荷特性は、第1の時間間隔におけるフレーム描画スレッドの命令あたりの平均サイクル数、分岐命令の数、およびキャッシュミス率のうちの少なくとも1つに基づいて決定され、第1の時間間隔は、フレーム描画スレッドの実行の開始とフレーム描画スレッドの実行の終了との間の期間である。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】０１２９
【補正方法】変更
【補正の内容】
【０１２９】
命令あたりの平均サイクル数（CPI）は、各コンピュータ命令を実行するために必要なクロックサイクルを示す（これは、命令の平均サイクル数と呼ばれることもある）。CPIの平均数は、式X＝Y／Zに基づいて計算することができ、Yは、期間におけるクロックサイクルの数を示し、Zは、期間における命令の数を示し、Xは、CPIの平均数である。分岐命令の数は、分岐の数を示すために使用され（分岐はプログラムである）、分岐の数は、ジャンプ命令の数と見なすこともでき、1つのジャンプ命令は、1つの分岐を示す。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】０１３１
【補正方法】変更
【補正の内容】
【０１３１】
任意選択で、一実施形態では、フレーム描画スレッドの負荷特性を決定するステップは、第1の時間間隔におけるフレーム描画スレッドの命令あたりの平均サイクル数、分岐命令の数、およびキャッシュミス率のうちの少なくとも1つを記録するステップであって、第1の時間間隔は、フレーム描画スレッドの実行の開始とフレーム描画スレッドの実行の終了との間の期間である、ステップと、第1の時間間隔におけるフレーム描画スレッドの命令あたりの平均サイクル数、分岐命令の数、およびキャッシュミス率のうちの少なくとも1つに基づいてフレーム描画スレッドの負荷特性を決定するステップとを含む。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】０１６１
【補正方法】変更
【補正の内容】
【０１６１】
ステップ102において、ターゲットリソーススケジューリング方式は、複数の具体的な方式でフレーム描画スレッドの負荷特性に基づいて決定される。具体的には、フレーム描画スレッドの予測負荷値は、フレーム描画スレッドの負荷特性に基づいて最初に決定され得、次にターゲットリソーススケジューリング方式は、フレーム描画スレッドの負荷特性、フレーム描画スレッドの予測負荷値、および事前設定されたターゲットフレームレートに基づいて計算により決定され、またはターゲットリソーススケジューリング方式は、フレーム描画スレッドの負荷特性、フレーム描画スレッドの予測負荷値、および事前設定された対応関係（ここでの対応関係は、負荷特性、負荷値、およびリソーススケジューリング方式の間の対応関係を含む）に基づいて決定され得、またはターゲットリソーススケジューリング方式は、フレーム描画スレッドの負荷特性および事前設定された対応関係（ここでの対応関係は、負荷特性とリソーススケジューリング方式との間の対応関係を含む）に基づいて直接決定され得る。
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】０１６９
【補正方法】変更
【補正の内容】
【０１６９】
異なるタイプの負荷の場合、必要なリソーススケジューリング方式も異なる。ステップ302において、フレーム描画スレッドの負荷特性に一致するリソーススケジューリング方式のタイプが、フレーム描画スレッドの負荷特性に基づいて決定される。
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】０１７７
【補正方法】変更
【補正の内容】
【０１７７】
表2に示すように、第1のリソーススケジューリング方式の性能は、107であり、周波数は、533であり、リソーススケジューリング方式に対応する消費電力は、32である。3つのリソーススケジューリング方式：リソーススケジューリング方式1、リソーススケジューリング方式2、およびリソーススケジューリング方式3は、ステップ303で決定され、3つのリソーススケジューリング方式の具体的な情報は、以下の通りであると仮定される：
【手続補正１２】
【補正対象書類名】明細書
【補正対象項目名】０２２５
【補正方法】変更
【補正の内容】
【０２２５】
具体的には、フレーム描画スレッドの負荷特性および第3のマッピング関係情報に基づいてターゲットリソーススケジューリング方式を決定するステップは、第3のマッピング関係情報における複数の負荷特性が基準負荷特性を含むとき、基準負荷特性に対応するリソーススケジューリング方式をターゲットリソーススケジューリング方式として決定するステップであって、基準負荷特性とフレーム描画スレッドの負荷特性との間の類似度は、類似度閾値以上である、ステップ、または第3のマッピング関係情報における複数の負荷特性が基準負荷特性を含まないとき、画像フレームに先行するフレームのフレーム描画スレッドのリソーススケジューリング方式をターゲットリソーススケジューリング方式として決定するステップを含む。
【手続補正１３】
【補正対象書類名】明細書
【補正対象項目名】０２３６
【補正方法】変更
【補正の内容】
【０２３６】
506．パッキング（packing）ポリシーを実行し、コア間バランシング（balancing）を実施する。
【手続補正１４】
【補正対象書類名】明細書
【補正対象項目名】０２５２
【補正方法】変更
【補正の内容】
【０２５２】
具体的には、候補スレッドとフレーム描画スレッドとの間の論理相関が、候補スレッドおよびフレーム描画スレッドの実行時間とスリープ時間を比較することによって推定され得、論理相関係数が取得される。論理相関係数が大きいほど、候補スレッドとフレーム描画スレッドとの間の相関がより高いことを示すと見なすことができる。
【手続補正１５】
【補正対象書類名】明細書
【補正対象項目名】０２６３
【補正方法】変更
【補正の内容】
【０２６３】
ステップ605およびステップ604における事前設定された閾値は、異なる閾値であってもよく、経験、シミュレーション実験などに基づいて具体的に設定されてもよい。
【手続補正１６】
【補正対象書類名】明細書
【補正対象項目名】０２７８
【補正方法】変更
【補正の内容】
【０２７８】
本出願では、典型的な負荷特性、および典型的な負荷特性に対応する負荷値が格納されるため、その後、予測負荷値が負荷特性に基づいて直接決定され、予測負荷値を決定することの複雑さを軽減することができる。
【手続補正１７】
【補正対象書類名】明細書
【補正対象項目名】０３１０
【補正方法】変更
【補正の内容】
【０３１０】
任意選択で、フレーム描画スレッドの負荷特性は、第1の時間間隔におけるフレーム描画スレッドの命令あたりの平均サイクル数、分岐命令の数、およびキャッシュミス率のうちの少なくとも1つに基づいて決定され、第1の時間間隔は、フレーム描画スレッドの実行の開始とフレーム描画スレッドの実行の終了との間の期間である。
【手続補正１８】
【補正対象書類名】明細書
【補正対象項目名】０３１２
【補正方法】変更
【補正の内容】
【０３１２】
任意選択で、フレーム描画スレッドの実行は、所定の時間内に完了されず、図8に示す方法は、画像フレームの描画が完了されるまでフレーム描画スレッドについての追加のリソースをスケジューリングするステップであって、所定の時間は、リソースがターゲットリソーススケジューリング方式でフレーム描画スレッドにスケジューリングされるときにフレーム描画スレッドの実行を完了するために必要な時間である、ステップをさらに含む。
【手続補正１９】
【補正対象書類名】明細書
【補正対象項目名】０３３０
【補正方法】変更
【補正の内容】
【０３３０】
図10に示すように、ハードウェア層2100は、いくつかの物理モジュールまたはユニットを主に含み、ハードウェア層2100は、CPU、ダブルデータレート同期ダイナミックランダムアクセスメモリ（DDR SDRAM）、およびグラフィック処理ユニット（GPU）を含み得る。CPUは、性能監視ユニット（PMU）をさらに含んでもよい。
【手続補正２０】
【補正対象書類名】明細書
【補正対象項目名】０３５５
【補正方法】変更
【補正の内容】
【０３５５】
メモリ3070は、コンピュータプログラムを格納し、コンピュータプログラムは、オペレーティングシステムプログラム3072、アプリケーションプログラム3071などを含む。典型的なオペレーティングシステムは、デスクトップコンピュータまたはノートブックコンピュータで使用されるシステム、例えば、MicrosoftのWindowsまたはAppleのMac OSを含み、また、モバイル端末で使用されるシステム、例えば、Googleによって開発されたLinux（登録商標）ベースのAndroid（登録商標）システムを含む。本出願の実施形態におけるリソーススケジューリング方法がソフトウェアを介して実装されるとき、リソーススケジューリング方法は、アプリケーションプログラム3071を使用することによって具体的に実装されると見なすことができる。
【手続補正２１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
リソーススケジューリング方法であって、前記方法は、端末デバイスに適用され、
フレーム描画スレッドの負荷特性を決定するステップであって、前記フレーム描画スレッドは、画像フレームを描画するために使用される、ステップと、
前記フレーム描画スレッドの前記負荷特性に基づいてターゲットリソーススケジューリング方式を決定するステップと、
前記ターゲットリソーススケジューリング方式で前記フレーム描画スレッドについてのリソースをスケジューリングするステップと
を含む、方法。
【請求項２】
前記フレーム描画スレッドの前記負荷特性は、前記フレーム描画スレッドのリソース要件特徴を示すために使用される、請求項1に記載の方法。
【請求項３】
前記フレーム描画スレッドの前記負荷特性は、前記フレーム描画スレッドの命令あたりの平均サイクル数、分岐命令の数、およびキャッシュミス率のうちの少なくとも1つを含む、請求項1または2に記載の方法。
【請求項４】
前記フレーム描画スレッドの前記負荷特性は、第1の時間間隔における前記フレーム描画スレッドの命令あたりの平均サイクル数、分岐命令の数、およびキャッシュミス率のうちの少なくとも1つに基づいて決定され、前記第1の時間間隔は、前記フレーム描画スレッドの実行の開始と前記フレーム描画スレッドの前記実行の終了との間の期間である、請求項1または2に記載の方法。
【請求項５】
前記フレーム描画スレッドの前記負荷特性に基づいてターゲットリソーススケジューリング方式を決定する前記ステップは、
前記フレーム描画スレッドの前記負荷特性に基づいて前記フレーム描画スレッドの予測負荷値を決定するステップと、
前記フレーム描画スレッドの前記負荷特性、前記フレーム描画スレッドの前記予測負荷値、および事前設定されたターゲットフレームレートに基づいて前記ターゲットリソーススケジューリング方式を決定するステップと
を含む、請求項1から4のいずれか一項に記載の方法。
【請求項６】
前記フレーム描画スレッドの前記負荷特性、前記フレーム描画スレッドの前記予測負荷値、および事前設定されたターゲットフレームレートに基づいて前記ターゲットリソーススケジューリング方式を決定する前記ステップは、
前記フレーム描画スレッドの前記負荷特性、前記フレーム描画スレッドの前記予測負荷値、および前記事前設定されたターゲットフレームレートに基づいて、前記フレーム描画スレッドについてのリソースをスケジューリングする少なくとも1つのリソーススケジューリング方式を決定するステップと、
前記少なくとも1つのリソーススケジューリング方式の中で最も低い消費電力のリソーススケジューリング方式を前記ターゲットリソーススケジューリング方式として決定するステップと
を含む、請求項5に記載の方法。
【請求項７】
前記フレーム描画スレッドの前記負荷特性に基づいてターゲットリソーススケジューリング方式を決定する前記ステップは、
前記フレーム描画スレッドの前記負荷特性に基づいて前記フレーム描画スレッドの予測負荷値を決定するステップと、
前記フレーム描画スレッドの前記負荷特性、前記フレーム描画スレッドの前記予測負荷値、および第1のマッピング関係情報に基づいて前記ターゲットリソーススケジューリング方式を決定するステップであって、前記第1のマッピング関係情報は、複数の負荷情報および前記複数の負荷情報の各々に対応するリソーススケジューリング方式を含み、前記複数の負荷情報の各々は、1つの負荷特性および1つの負荷値を含む、ステップと
を含む、請求項1から4のいずれか一項に記載の方法。
【請求項８】
前記フレーム描画スレッドの前記負荷特性に基づいて前記フレーム描画スレッドの予測負荷値を決定する前記ステップは、
前記フレーム描画スレッドの前記負荷特性および第2のマッピング関係情報に基づいて前記フレーム描画スレッドの前記予測負荷値を決定するステップであって、前記第2のマッピング関係情報は、複数の負荷特性および前記複数の負荷特性の各々に対応する負荷値を含む、ステップ
を含む、請求項5から7のいずれか一項に記載の方法。
【請求項９】
前記フレーム描画スレッドの前記負荷特性および第2のマッピング関係情報に基づいて前記フレーム描画スレッドの前記予測負荷値を決定する前記ステップは、
前記第2のマッピング関係情報における前記複数の負荷特性が基準負荷特性を含むとき、前記基準負荷特性に対応する負荷値を前記フレーム描画スレッドの前記予測負荷値として決定するステップであって、前記基準負荷特性と前記フレーム描画スレッドの前記負荷特性との間の類似度は、類似度閾値以上である、ステップ
を含む、請求項8に記載の方法。
【請求項１０】
前記フレーム描画スレッドの前記負荷特性および第2のマッピング関係情報に基づいて前記フレーム描画スレッドの前記予測負荷値を決定するステップは、
前記第2のマッピング関係情報における前記複数の負荷特性が基準負荷特性を含まないとき、前記フレーム描画スレッドを使用することによって描画された前記画像フレームに先行するフレームの負荷値を、前記フレーム描画スレッドの前記予測負荷値として決定するステップであって、前記基準負荷特性と前記フレーム描画スレッドの前記負荷特性との間の類似度は、類似度閾値以上である、ステップ
を含む、請求項8または9に記載の方法。
【請求項１１】
前記フレーム描画スレッドの前記負荷特性に基づいてターゲットリソーススケジューリング方式を決定する前記ステップは、
前記フレーム描画スレッドの前記負荷特性および第3のマッピング関係情報に基づいて前記ターゲットリソーススケジューリング方式を決定するステップであって、前記第3のマッピング関係情報は、複数の負荷特性および前記複数の負荷特性の各々に対応するリソーススケジューリング方式を含む、ステップ
を含む、請求項1から4のいずれか一項に記載の方法。
【請求項１２】
前記フレーム描画スレッドの前記負荷特性および第3のマッピング関係情報に基づいて前記ターゲットリソーススケジューリング方式を決定する前記ステップは、
前記第3のマッピング関係情報における前記複数の負荷特性が基準負荷特性を含むとき、前記基準負荷特性に対応するリソーススケジューリング方式を前記ターゲットリソーススケジューリング方式として決定するステップであって、前記基準負荷特性と前記フレーム描画スレッドの前記負荷特性との間の類似度は、類似度閾値以上である、ステップ
を含む、請求項11に記載の方法。
【請求項１３】
前記フレーム描画スレッドの前記負荷特性および第3のマッピング関係情報に基づいて前記ターゲットリソーススケジューリング方式を決定するステップは、
前記第3のマッピング関係情報における前記複数の負荷特性が基準負荷特性を含まないとき、前記フレーム描画スレッドを使用することによって描画された前記画像フレームに先行するフレームのフレーム描画スレッドのリソーススケジューリング方式を、前記ターゲットリソーススケジューリング方式として決定するステップであって、前記基準負荷特性と前記フレーム描画スレッドの前記負荷特性との間の類似度は、類似度閾値以上である、ステップ
を含む、請求項11または12に記載の方法。
【請求項１４】
前記方法は、
前記フレーム描画スレッドの関連スレッドを決定するステップであって、前記関連スレッドは、前記フレーム描画スレッドをスリープさせることが可能なスレッドである、ステップと、
前記関連スレッドの実行を加速するように前記関連スレッドについてのリソースをスケジューリングするステップと
をさらに含む、請求項1から13のいずれか一項に記載の方法。
【請求項１５】
前記フレーム描画スレッドの実行は、所定の時間内に完了されず、前記方法は、
前記フレーム描画スレッドの前記実行を加速するように前記フレーム描画スレッドについての追加のリソースをスケジューリングするステップであって、前記所定の時間は、リソースが前記ターゲットリソーススケジューリング方式で前記フレーム描画スレッドにスケジューリングされるときに前記フレーム描画スレッドの前記実行を完了するために必要な時間である、ステップ
をさらに含む、請求項1から14のいずれか一項に記載の方法。
【請求項１６】
前記追加のリソースのサイズと第1の差との間に正の相関関係があり、前記第1の差は、前記追加のリソースをスケジューリングする時点と前記所定の時間の終了時点との間の差である、請求項15に記載の方法。
【請求項１７】
リソーススケジューリング方法であって、前記方法は、端末デバイスに適用され、
フレーム描画スレッドの負荷特性を決定するステップであって、前記フレーム描画スレッドは、画像フレームを描画するために使用される、ステップと、
前記フレーム描画スレッドの前記負荷特性および前記フレーム描画スレッドに対応するアプリケーションシナリオに基づいて前記フレーム描画スレッドのターゲット予測負荷値を決定するステップと、
前記フレーム描画スレッドの前記負荷特性、前記フレーム描画スレッドの前記ターゲット予測負荷値、および事前設定されたターゲットフレームレートに基づいてターゲットリソーススケジューリング方式を決定するステップと、
前記ターゲットリソーススケジューリング方式で前記フレーム描画スレッドについてのリソースをスケジューリングするステップと
を含む、方法。
【請求項１８】
前記フレーム描画スレッドの前記負荷特性および前記フレーム描画スレッドに対応するアプリケーションシナリオに基づいて前記フレーム描画スレッドのターゲット予測負荷値を決定する前記ステップは、
前記フレーム描画スレッドの前記負荷特性に基づいて前記フレーム描画スレッドの第1の予測負荷値を決定するステップと、
前記フレーム描画スレッドに対応する前記アプリケーションシナリオおよび第4のマッピング関係情報に基づいて第2の予測負荷値を決定するステップであって、前記第4のマッピング関係情報は、複数のアプリケーションシナリオおよび前記複数のアプリケーションシナリオの各々に対応する負荷値を含む、ステップと、
前記第1の予測負荷値および前記第2の予測負荷値に基づいて前記ターゲット予測負荷値を決定するステップと
を含む、請求項17に記載の方法。
【請求項１９】
前記フレーム描画スレッドの前記負荷特性は、前記フレーム描画スレッドのリソース要件特徴を示すために使用される、請求項17または18に記載の方法。
【請求項２０】
前記フレーム描画スレッドの前記負荷特性は、前記フレーム描画スレッドの命令あたりの平均サイクル数、分岐命令の数、およびキャッシュミス率のうちの少なくとも1つを含む、請求項17から19のいずれか一項に記載の方法。
【請求項２１】
前記フレーム描画スレッドの前記負荷特性は、第1の時間間隔における前記フレーム描画スレッドの命令あたりの平均サイクル数、分岐命令の数、およびキャッシュミス率のうちの少なくとも1つに基づいて決定される、請求項17から19のいずれか一項に記載の方法。
【請求項２２】
前記方法は、
前記フレーム描画スレッドの関連スレッドを決定するステップであって、前記関連スレッドは、前記フレーム描画スレッドをスリープさせることが可能なスレッドである、ステップと、
前記関連スレッドの実行を加速するように前記関連スレッドについてのリソースをスケジューリングするステップと
をさらに含む、請求項17から21のいずれか一項に記載の方法。
【請求項２３】
前記フレーム描画スレッドの実行は、所定の時間内に完了されず、前記方法は、
前記フレーム描画スレッドの前記実行を加速するように前記フレーム描画スレッドについての追加のリソースをスケジューリングするステップであって、前記所定の時間は、リソースが前記ターゲットリソーススケジューリング方式で前記フレーム描画スレッドにスケジューリングされるときに前記フレーム描画スレッドの前記実行を完了するために必要な時間である、ステップ
をさらに含む、請求項17から22のいずれか一項に記載の方法。
【請求項２４】
前記追加のリソースのサイズと第1の差との間に正の相関関係があり、前記第1の差は、前記追加のリソースをスケジューリングする時点と前記所定の時間の終了時点との間の差である、請求項23に記載の方法。
【請求項２５】
フレーム描画スレッドの負荷特性を決定し、前記フレーム描画スレッドは、画像フレームを描画するために使用される、ように構成された処理モジュールであって、
前記処理モジュールは、前記フレーム描画スレッドの前記負荷特性に基づいてターゲットリソーススケジューリング方式を決定するようにさらに構成される、処理モジュールと、
前記ターゲットリソーススケジューリング方式で前記フレーム描画スレッドについてのリソースをスケジューリングするように構成されたスケジューリングモジュールと
を備える、端末デバイス。
【請求項２６】
前記フレーム描画スレッドの前記負荷特性は、前記フレーム描画スレッドのリソース要件特徴を示すために使用される、請求項25に記載の端末デバイス。
【請求項２７】
前記フレーム描画スレッドの前記負荷特性は、前記フレーム描画スレッドの命令あたりの平均サイクル数、分岐命令の数、およびキャッシュミス率のうちの少なくとも1つを含む、請求項25または26に記載の端末デバイス。
【請求項２８】
前記フレーム描画スレッドの前記負荷特性は、第1の時間間隔における前記フレーム描画スレッドの命令あたりの平均サイクル数、分岐命令の数、およびキャッシュミス率のうちの少なくとも1つに基づいて決定され、前記第1の時間間隔は、前記フレーム描画スレッドの実行の開始と前記フレーム描画スレッドの前記実行の終了との間の期間である、請求項25または26に記載の端末デバイス。
【請求項２９】
前記処理モジュールは、
前記フレーム描画スレッドの前記負荷特性に基づいて前記フレーム描画スレッドの予測負荷値を決定し、
前記フレーム描画スレッドの前記負荷特性、前記フレーム描画スレッドの前記予測負荷値、および事前設定されたターゲットフレームレートに基づいて前記ターゲットリソーススケジューリング方式を決定する
ように構成される、請求項25から28のいずれか一項に記載の端末デバイス。
【請求項３０】
前記処理モジュールは、
前記フレーム描画スレッドの前記負荷特性、前記フレーム描画スレッドの前記予測負荷値、および前記事前設定されたターゲットフレームレートに基づいて、前記フレーム描画スレッドについてのリソースをスケジューリングする少なくとも1つのリソーススケジューリング方式を決定し、
前記少なくとも1つのリソーススケジューリング方式の中で最も低い消費電力のリソーススケジューリング方式を前記ターゲットリソーススケジューリング方式として決定する
ように構成される、請求項29に記載の端末デバイス。
【請求項３１】
前記処理モジュールは、
前記フレーム描画スレッドの前記負荷特性に基づいて前記フレーム描画スレッドの予測負荷値を決定し、
前記フレーム描画スレッドの前記負荷特性、前記フレーム描画スレッドの前記予測負荷値、および第1のマッピング関係情報に基づいて前記ターゲットリソーススケジューリング方式を決定し、前記第1のマッピング関係情報は、複数の負荷情報および前記複数の負荷情報の各々に対応するリソーススケジューリング方式を含み、前記複数の負荷情報の各々は、1つの負荷特性および1つの負荷値を含む、
ように構成される、請求項25から28のいずれか一項に記載の端末デバイス。
【請求項３２】
前記処理モジュールは、
前記フレーム描画スレッドの前記負荷特性および第2のマッピング関係情報に基づいて前記フレーム描画スレッドの前記予測負荷値を決定し、前記第2のマッピング関係情報は、複数の負荷特性および前記複数の負荷特性の各々に対応する負荷値を含む、
ように構成される、請求項29から31のいずれか一項に記載の端末デバイス。
【請求項３３】
前記処理モジュールは、
前記第2のマッピング関係情報における前記複数の負荷特性が基準負荷特性を含むとき、前記基準負荷特性に対応する負荷値を前記フレーム描画スレッドの前記予測負荷値として決定し、前記基準負荷特性と前記フレーム描画スレッドの前記負荷特性との間の類似度は、類似度閾値以上である、
ように構成される、請求項32に記載の端末デバイス。
【請求項３４】
前記処理モジュールは、
前記第2のマッピング関係情報における前記複数の負荷特性が基準負荷特性を含まないとき、前記フレーム描画スレッドを使用することによって描画された前記画像フレームに先行するフレームの負荷値を、前記フレーム描画スレッドの前記予測負荷値として決定し、前記基準負荷特性と前記フレーム描画スレッドの前記負荷特性との間の類似度は、類似度閾値以上である、
ように構成される、請求項32または33に記載の端末デバイス。
【請求項３５】
前記処理モジュールは、
前記フレーム描画スレッドの前記負荷特性および第3のマッピング関係情報に基づいて前記ターゲットリソーススケジューリング方式を決定し、前記第3のマッピング関係情報は、複数の負荷特性および前記複数の負荷特性の各々に対応するリソーススケジューリング方式を含む、
ように構成される、請求項25から28のいずれか一項に記載の端末デバイス。
【請求項３６】
前記処理モジュールは、
前記第3のマッピング関係情報における前記複数の負荷特性が基準負荷特性を含むとき、前記基準負荷特性に対応するリソーススケジューリング方式を前記ターゲットリソーススケジューリング方式として決定し、前記基準負荷特性と前記フレーム描画スレッドの前記負荷特性との間の類似度は、類似度閾値以上である、
ように構成される、請求項35に記載の端末デバイス。
【請求項３７】
前記処理モジュールは、
前記第3のマッピング関係情報における前記複数の負荷特性が基準負荷特性を含まないとき、前記フレーム描画スレッドを使用することによって描画された前記画像フレームに先行するフレームのフレーム描画スレッドのリソーススケジューリング方式を、前記ターゲットリソーススケジューリング方式として決定し、前記基準負荷特性と前記フレーム描画スレッドの前記負荷特性との間の類似度は、類似度閾値以上である、
ように構成される、請求項35または36に記載の端末デバイス。
【請求項３８】
前記処理モジュールは、
前記フレーム描画スレッドの関連スレッドを決定し、前記関連スレッドは、前記フレーム描画スレッドをスリープさせることが可能なスレッドである、
ようにさらに構成され、
前記スケジューリングモジュールは、
前記関連スレッドの実行を加速するように前記関連スレッドについてのリソースをスケジューリングする
ようにさらに構成される、請求項25から37のいずれか一項に記載の端末デバイス。
【請求項３９】
前記フレーム描画スレッドの実行は、所定の時間内に完了されず、前記スケジューリングモジュールは、
前記フレーム描画スレッドの前記実行を加速するように前記フレーム描画スレッドについての追加のリソースをスケジューリングし、前記所定の時間は、リソースが前記ターゲットリソーススケジューリング方式で前記フレーム描画スレッドにスケジューリングされるときに前記フレーム描画スレッドの前記実行を完了するために必要な時間である、
ようにさらに構成される、請求項25から38のいずれか一項に記載の端末デバイス。
【請求項４０】
前記追加のリソースのサイズと第1の差との間に正の相関関係があり、前記第1の差は、前記追加のリソースをスケジューリングする時点と前記所定の時間の終了時点との間の差である、請求項39に記載の端末デバイス。
【請求項４１】
フレーム描画スレッドの負荷特性を決定し、前記フレーム描画スレッドは、画像フレームを描画するために使用される、ように構成された処理モジュールであって、
前記処理モジュールは、前記フレーム描画スレッドの前記負荷特性および前記フレーム描画スレッドに対応するアプリケーションシナリオに基づいて前記フレーム描画スレッドのターゲット予測負荷値を決定するようにさらに構成され、
前記処理モジュールは、前記フレーム描画スレッドの前記負荷特性、前記フレーム描画スレッドの前記ターゲット予測負荷値、および事前設定されたターゲットフレームレートに基づいてターゲットリソーススケジューリング方式を決定するようにさらに構成される、処理モジュールと、
前記ターゲットリソーススケジューリング方式で前記フレーム描画スレッドについてのリソースをスケジューリングするように構成されたスケジューリングモジュールと
を備える、端末デバイス。
【請求項４２】
前記処理モジュールは、
前記フレーム描画スレッドの前記負荷特性に基づいて前記フレーム描画スレッドの第1の予測負荷値を決定し、
前記フレーム描画スレッドに対応する前記アプリケーションシナリオおよび第4のマッピング関係情報に基づいて第2の予測負荷値を決定し、前記第4のマッピング関係情報は、複数のアプリケーションシナリオおよび前記複数のアプリケーションシナリオの各々に対応する負荷値を含み、
前記第1の予測負荷値および前記第2の予測負荷値に基づいて前記ターゲット予測負荷値を決定する
ように構成される、請求項41に記載の端末デバイス。
【請求項４３】
前記フレーム描画スレッドの前記負荷特性は、前記フレーム描画スレッドのリソース要件特徴を示すために使用される、請求項41または42に記載の端末デバイス。
【請求項４４】
前記フレーム描画スレッドの前記負荷特性は、前記フレーム描画スレッドの命令あたりの平均サイクル数、分岐命令の数、およびキャッシュミス率のうちの少なくとも1つを含む、請求項41から43のいずれか一項に記載の端末デバイス。
【請求項４５】
前記フレーム描画スレッドの前記負荷特性は、第1の時間間隔における前記フレーム描画スレッドの命令あたりの平均サイクル数、分岐命令の数、およびキャッシュミス率のうちの少なくとも1つに基づいて決定される、請求項41から43のいずれか一項に記載の端末デバイス。
【請求項４６】
前記処理モジュールは、
前記フレーム描画スレッドの関連スレッドを決定し、前記関連スレッドは、前記フレーム描画スレッドをスリープさせることが可能なスレッドである、
ようにさらに構成され、
前記スケジューリングモジュールは、
前記関連スレッドの実行を加速するように前記関連スレッドについてのリソースをスケジューリングする
ようにさらに構成される、請求項41から45のいずれか一項に記載の端末デバイス。
【請求項４７】
前記フレーム描画スレッドの実行は、所定の時間内に完了されず、前記スケジューリングモジュールは、
前記フレーム描画スレッドの前記実行を加速するように前記フレーム描画スレッドについての追加のリソースをスケジューリングし、前記所定の時間は、リソースが前記ターゲットリソーススケジューリング方式で前記フレーム描画スレッドにスケジューリングされるときに前記フレーム描画スレッドの前記実行を完了するために必要な時間である、
ようにさらに構成される、請求項41から46のいずれか一項に記載の端末デバイス。
【請求項４８】
前記追加のリソースのサイズと第1の差との間に正の相関関係があり、前記第1の差は、前記追加のリソースをスケジューリングする時点と前記所定の時間の終了時点との間の差である、請求項47に記載の端末デバイス。
【請求項４９】
コンピュータ可読記憶媒体であって、前記コンピュータ可読記憶媒体は、プログラムコードを格納するように構成され、前記プログラムコードがコンピュータによって実行されると、前記コンピュータが請求項1から24のいずれか一項に記載の方法を実行する、コンピュータ可読記憶媒体。
【請求項５０】
チップであって、前記チップは、プロセッサを備え、前記プロセッサは、請求項1から24のいずれか一項に記載の方法を実行するように構成される、チップ。
【請求項５１】
コンピュータに請求項1から24のいずれか一項に記載の方法を実行させるプログラム。
【手続補正２２】
【補正対象書類名】図面
【補正対象項目名】図６
【補正方法】変更
【補正の内容】
【図６】
2021517697.tif 000021
【国際調査報告】
2021517697.tif 000022
2021517697.tif 000023
2021517697.tif 000024
2021517697.tif 000025