本願の実施形態は、電子機器の応答レイテンシを短縮しかつ電子機器のフルエンシを改善するよう、垂直同期信号に基づいた画像処理の方法及び電子機器を提供する。
上記の目的を達成するために、次の技術的解決法が、本願の実施形態では使用される。
第1の態様に従って、本願の実施形態は、垂直同期信号に基づいた画像処理の方法を提供する。方法は、表示スクリーンを含む電子機器に適用され得る。方法は、次のステップを含んでよい:電子機器は、第1垂直同期信号に応答して1つ以上の第1レイヤを描画し、該1つ以上の第1レイヤをレンダリングし、該1つ以上の第1レイヤをレンダリングした後に、該レンダリングされた1つ以上の第1レイヤに対してレイヤ組み立てを実行して第1画像フレームを取得し;そして、第2垂直同期信号に応答して前記第1画像フレームをリフレッシュ及び表示する。
第1の場合に、電子機器は、1つの同期信号でレイヤの描画、レンダリング、及び組み立てを完了することができる。つまり、レイヤの描画、レンダリング、及び組み立てのために電子機器によって必要とされる存続期間は、1つの同期周期よりも短いか又はそれと等しい。同期周期は、第2垂直同期信号の信号周期に等しい。この場合に、電子機器は、第3垂直同期信号の到着を待った後にのみ、第3垂直同期信号に応答して、レンダリングされた第1レイヤに対してレイヤ組み立てを実行するのではなく、第1垂直同期信号に応答してレイヤの描画、レンダリング、及び組み立てを実行し得る。このようにして、電子機器は、1つの同期周期(例えば、第1同期周期)でレイヤの描画、レンダリング、及び組み立てを完了することができる。つまり、本願のこの実施形態における方法は、1つの同期周期だけ電子機器のメモリの応答レイテンシを短縮することができ、また、電子機器のフルエンシ(例えば、タッチレイテンシ)を改善することができる。
第2の場合に、電子機器は、1つの同期周期でレイヤの描画、レンダリング、及び組み立てを完了することができない。つまり、レイヤの描画、レンダリング、及び組み立てのために電子機器によって必要とされる存続期間は、1つの同期周期よりも長い。この場合に、「第3垂直同期信号に応答してレイヤ組み立てを実行する」と言う従来の解決法が使用されるならば、画像フレームをリフレッシュ及び表示する工程で、フレーム損失現象が起こる可能性がある。しかし、本願のこの実施形態における方法は、表示スクリーンが繰り返し画像フレームを表示することを防ぐために、画像表示においてフレーム損失現象を回避することができる。つまり、本願のこの実施形態における方法は、表示スクリーンの画像表示のフルエンシを確かにすることができ、それによって、ユーザの視覚体験を改善する。加えて、電子機器が1つの同期周期でレイヤの描画、レンダリング、及び組み立てを完了する確率は、高められ得る。
第1の態様を参照して、可能な設計において、電子機器でユーザ操作又はユーザインターフェース(user interface,UI)イベントを検出する場合に、電子機器は、第1垂直同期信号に応答して1つ以上の第1レイヤを描画し、該1つ以上の第1レイヤをレンダリングし得る。ユーザ操作は、インターフェースを更新するよう電子機器をトリガするために使用され得る。
第1の態様を参照して、他の可能な設計において、本願のこの実施形態における方法は、電子機器が、レイヤ描画、レイヤレンダリング、及び/又はレイヤ組み立てのために電子機器によって必要とされる存続期間を短縮するよう、電子機器のハードウェアリソースに対してポジティブスケジューリングを実行することを更に含んでもよい。
第1の態様を参照して、他の可能な設計において、電子機器が該電子機器のハードウェアリソースに対してポジティブスケジューリングを実行することは、電子機器が、レイヤ描画、レイヤレンダリング、及び/又はレイヤ組み立てのために電子機器によって必要とされる存続期間を短縮するよう、次のハードウェアリソーススケジューリングのうちの1つ以上を実行することを含んでもよい。
ポジティブスケジューリングは、電子機器のプロセッサの動作周波数を増大させること、方法を実行するラージコアプロセッサを選択すること、及び電子機器のメモリの動作周波数を増大させることを含み得る。プロセッサは、中央演算処理装置(central processing unit,CPU)及び/又はグラフィクス処理ユニット(graphics processing unit,GPU)を含み得る。
プロセッサの動作周波数がより高い場合には、プロセッサの計算速度は高くなり、レイヤの描画、レンダリング、及び組み立てのために電子機器によって必要とされる存続期間は短くなる、と理解され得る。ラージコアプロセッサの計算速度は、スモールコアプロセッサの計算速度よりも高い。電子機器のメモリの動作周波数がより高い場合には、電子機器のリード/ライト速度は高くなり、レイヤの描画、レンダリング、及び組み立てのために電子機器によって必要とされる存続期間は短くなる。電子機器は、レイヤ描画、レイヤレンダリング、及び/又はレイヤ組み立てのために電子機器によって必要とされる存続期間を短縮し、電子機器が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フレームレンダリング期間と第1SFフレーム期間との和である。第1フレームレンダリング期間は、レイヤを描画し、該描画されたレイヤをレンダリングするために必要な期間である。第1SFフレーム期間は、レンダリングされたレイヤに対してレイヤ組み立てを実行するために必要な期間である。
第1測定周期(すなわち、現時点より前の測定周期)における第1フレーム処理期間が予めセットされた単フレーム期間よりも短いか又はそれと等しい場合に、それは、電子機器が第1測定周期内の1つの同期周期でレイヤの描画、レンダリング、及び組み立てを完了することができることを示す、と理解され得る。この場合に、第1測定周期の次の測定周期(つまり、現時点が位置している測定周期)では、電子機器が1つの同期周期でレイヤの描画、レンダリング、及び組み立てを完了する確率が比較的に高い。
第1の態様を参照して、他の可能な設計において、予めセットされた単フレーム期間は、前記第2垂直同期信号の信号周期よりも短いか又はそれと等しい。
第1の態様を参照して、他の可能な設計において、第1測定周期(つまり、現時点より前の測定周期)における第1フレーム処理期間が予めセットされた単フレーム期間よりも長い場合に、それは、電子機器が、第1測定周期内の1つの同期周期でレイヤの描画、レンダリング、及び組み立てを完了することができないことを示す。この場合に、第1測定周期の次の測定周期(すなわち、現時点が位置している測定周期)では、電子機器が1つの同期周期でレイヤの描画、レンダリング、及び組み立てを完了する確率が比較的に低い。この場合に、電子機器は、第1垂直同期信号に応答して前記1つ以上の第1レイヤを描画し、第3垂直同期信号に応答して前記レンダリングされた1つ以上の第1レイヤに対してレイヤ組み立てを実行して第1画像フレームを取得し得る。
第1の態様を参照して、他の可能な設計において、第1フレーム処理期間が予めセットされた単フレーム期間よりも長い場合に、電子機器は、第1垂直同期信号に応答して1つ以上の第1レイヤを描画し、1つ以上の第1レイヤをレンダリングし、該1つ以上の第1レイヤをレンダリングした後に、レンダリングされた1つ以上の第1レイヤに対してレイヤ組み立てを実行して第1画像フレームを取得してもよい。従って、電子機器は、予めレイヤ組み立てを実行することができ、電子機器が1つの同期周期でレイヤの描画、レンダリング、及び組み立てを完了する確率は、高められ得る。
第1の態様を参照して、他の可能な設計において、本願のこの実施形態のおける方法は、電子機器が、第1測定周期における1つ以上の第2フレーム処理期間を取得し、該1つ以上の第2フレーム処理期間に基づいて第1フレーム処理期間を決定することを更に含んでもよい。各第2フレーム処理期間は、第2フレームレンダリング期間と第2SFフレーム期間との和である。第2フレームレンダリング期間は、レイヤを描画し、該描画されたレイヤをレンダリングするために必要な期間である。第2SFフレーム期間は、レンダリングされたレイヤに対してレイヤ組み立てを実行するために必要な期間である。1つ以上の第2フレーム処理期間が複数の第2フレーム処理期間を含む場合に、第1フレーム処理期間は、複数の第2フレーム処理期間の中で最長の第2フレーム処理期間であるか、あるいは、第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つ以上のアプリケーションに対応する描画タスクを実行することによって電子機器によって描画されたレイヤを含み得る。1つ以上のアプリケーションは、1つ以上のシステムレベルアプリケーション及び1つ以上のユーザレベルアプリケーションのうちの少なくとも1つを含み得る。例えば、システムレベルアプリケーションは、ステータスバー、ラウンチャ、ナビゲーションバー、及び壁紙を含んでもよい。ユーザレベルアプリケーションは、「設定」、「電話」、及び「SMS」などの、電子機器のシステムアプリケーションと、ユーザ操作に応答してアプリケーションストアから電子機器がダウンロードすることができるサードパーティアプリケーションとを含んでもよい。例えば、サードパーティアプリケーションには、WeChat、Alipay、又はBaidu Mapなどのアプリケーションが含まれ得る。
第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レイヤに対してレイヤ組み立てを実行して第1画像フレームを取得することは、1つ以上のアプリケーションの中のフォーカスアプリケーション、キーアプリケーション、又は電子機器のフルエンシに密接に関係があるアプリケーションの1つ以上の第1レイヤをレンダリングした後に、電子機器が、1つ以上のアプリケーションのために電子機器によってレンダリングされた第1レイヤに対してレイヤ組み立てを実行して第1画像フレームを取得することを特に含んでもよい。つまり、電子機器がフォーカスアプリケーションのためのレイヤレンダリングを完了する場合には、たとえ他のアプリケーションのためのレイヤレンダリングが完了していないとしても、電子機器は、第1画像フレームを取得するために、レンダリングされた第1レイヤに対してレイヤ組み立てを実行し始めてよい。
第1の態様を参照して、他の可能な設計において、1つ以上の第1レイヤをレンダリングした後に、該レンダリングされた1つ以上の第1レイヤに対してレイヤ組み立てを実行して第1画像フレームを取得することは、1つ以上の第1レイヤの中のフォーカスレイヤ、キーレイヤ、又は電子機器のフルエンシに密接に関係があるレイヤをレンダリングした後に、電子機器が、1つ以上のアプリケーションのために電子機器によってレンダリングされた第1レイヤに対してレイヤ組み立てを実行して第1画像フレームを取得することを特に含んでもよい。
第1の態様を参照して、他の可能な設計において、電子機器は、1つ以上のアプリケーションの中のフォーカスアプリケーションに対応する第1フレームレンダリング期間と、電子機器による1つ以上のアプリケーションに対応する第1SFフレーム期間とに基づいて第1フレーム処理期間を決定してもよい。
第1の態様を参照して、他の可能な設計において、電子機器は、1つ以上のアプリケーションの全部に対応する第1フレームレンダリング期間の中で最長の第1フレームレンダリング期間と、電子機器による1つ以上のアプリケーションに対応する第1SFフレーム期間とに基づいて第1フレーム処理期間を決定してもよい。
第1の態様を参照して、他の可能な設計において、電子機器が該電子機器のハードウェアリソースに対してポジティブスケジューリングを実行した後に、電子機器のスクリーンリフレッシュレートが予めセットされたリフレッシュレート閾値よりも大きい場合に、電子機器は、電子機器の電力消費量を減らすよう、電子機器のハードウェアリソースに対してネガティブスケジューリングを実行してもよい。従って、電子機器は、表示スクリーンが繰り返し画像フレームを表示することを防ぐよう、電力消費量を低減しながら、第2の場合における画像表示でフレーム損失現象を回避することができる。
第1の態様を参照して、他の可能な設計において、電子機器が該電子機器のハードウェアリソースに対してポジティブスケジューリングを実行した後に、電子機器のスクリーンリフレッシュレートが予めセットされたリフレッシュレート閾値よりも大きい場合に、第1フレーム処理期間が予めセットされたデュアルフレーム期間よりも長いならば、電子機器は、電子機器の電力消費量を減らすよう、電子機器の前記ハードウェアリソースに対してネガティブスケジューリングを実行してもよい。従って、電子機器は、表示スクリーンが繰り返し画像フレームを表示することを防ぐよう、電力消費量を低減しながら、第2の場合における画像表示でフレーム損失現象を回避することができる。
第1の態様を参照して、他の可能な設計において、電子機器は、電子機器の電力消費量を減らすよう次のネガティブスケジューリングのうちの1つ以上を実行してもよい。ネガティブスケジューリングは、電子機器のプロセッサの動作周波数を低減させること、方法を実行するスモールコアプロセッサを選択すること、及び電子機器のメモリの動作周波数を低減させることを含む。
第1の態様を参照して、他の可能な設計において、予めセットされたデュアルフレーム期間は、第2垂直同期信号の信号周期のK倍よりも短いか又はそれと等しく、このとき、K≧2である。
第1の態様を参照して、他の可能な設計において、電子機器によってプロセッサの動作周波数増大させる方法は、電子機器が、第1の予めセットされたステップに基づいてプロセッサの動作周波数を増大させるか、あるいは、電子機器が、第1フレーム処理期間と予めセットされた単フレーム期間との間の差に基づいてプロセッサの動作周波数を増大させることを含んでもよい。プロセッサの動作周波数を調整する範囲は、前記差の値に比例する。
第1の態様を参照して、他の可能な設計において、本願のこの実施形態における方法は、第1フレーム処理期間が予めセットされた条件を満足する場合に、プロセッサの動作周波数を低減させることを更に含んでもよい。第1フレーム処理期間が予めセットされた条件を満足することは、第1フレーム処理期間が予めセットされた単フレーム期間よりも短いこと、又は第1フレーム処理期間が予めセットされた単フレーム期間よりも短く、かつ予めセットされた単フレーム期間と第1フレーム処理期間との間の差が第1の予めセットされた存続期間よりも長いことを特に含む。
第1フレーム処理期間が予めセットされた単フレーム期間よりも短い場合に、それは、電子機器が1つの同期周期でレイヤの描画、レンダリング、及び組み立てを完了する確率が比較的に高いことを示す、と理解され得る。この場合に、場合により、プロセッサの動作周波数は比較的に高いので、プロセッサの計算速度は相対的に高く、電子機器は1つの同期周期でレイヤの描画、レンダリング、及び組み立てを完了することができる。しかし、プロセッサの極端に高い動作周波数は、電子機器の相対的に高い電力消費量を引き起こす。そのため、電子機器は、プロセッサの動作周波数を低減させることがある。
第1の態様を参照して、他の可能な設計において、プロセッサの動作周波数の調整中にピンポン現象を防ぐために、本願のこの実施形態における方法は、N個の連続した測定周期における第1フレーム処理期間が予めセットされた条件を満足する場合に、プロセッサの動作周波数を低減させることを更に含んでもよく、このとき、N≧2であり、Nは正の整数である。これは、プロセッサの動作周波数の調整中にピンポン現象を防ぐことだけでなく、プロセッサの動作周波数の調整中に速い立ち上がり及び遅い立ち下がりを実装することもできる。レイヤの描画、レンダリング、及び組み立てにおける電子機器のシステム安定性を確かにしながら、これは、電子機器のタッチ応答レイテンシを短縮し、かつ、電子機器のフルエンシ(例えば、タッチレイテンシ)を改善することができる。
第1の態様を参照して、他の可能な設計において、電子機器によってプロセッサの動作周波数を低減させる方法は、電子機器が第2の予めセットされたステップに基づいてプロセッサの動作周波数を低減させることを含んでもよい。
第2の予めセットされたステップは、第1の予めセットされたステップと等しくてもよい。代替的に、第2の予めセットされたステップは、第1の予めセットされたステップよりも小さくてもよい。
留意されるべきは、第2の予めセットされたステップが第1の予めセットされたステップよりも小さい場合に、電子機器は、速い立ち上がり及び遅い立ち下がりの様態でプロセッサの動作周波数を調整し得る、ことである。このことは、電子機器が本願のこの実施形態における方法を実行し、電子機器のタッチ応答レイテンシを短縮し、電子機器のフルエンシ(例えば、タッチレイテンシ)を改善するのを助ける。
第1の態様を参照して、他の可能な設計において、本願のこの実施形態における方法は、測定周期において、1つ以上の第3レイヤの描画及びレンダリング中の第1特性点で消費された存続期間が、前記第1特性点に対応する第2の予めセットされた存続期間よりも長い場合には、プロセッサの動作周波数を該プロセッサの最大動作周波数へと調整することを更に含んでもよい。第1特性点は、次の:1つ以上の第3レイヤを描画すること、1つ以上の第3レイヤをレンダリングすること、1つ以上の第3レイヤを描画する過程で任意の機能を実行すること、及び1つ以上の第3レイヤをレンダリングする過程で任意の機能を実行すること、のうちの少なくともいずれか1つを含む。
測定周期で、第1特性点で消費された存続期間が該第1特性点に対応する第2の予めセットされた存続期間よりも長い場合に、それは、電子機器が、加速されたレンダリングモードに対応する方法を使用することによって1つ以上の第3レイヤの描画及びレンダリングを完了することができない確率が比較的に高いことを示す、と理解され得る。
1つ以上の第3レイヤは、測定周期で電子機器によって描画又はレンダリングされているレイヤである。この場合に、電子機器は、プロセッサの周波数を瞬間的に増大させ、プロセッサの動作周波数を該プロセッサの最大動作周波数へと調整し得る。プロセッサの周波数が瞬間的に像出された後、プロセッサの計算速度は高められ得、更には、レイヤの描画、レンダリング、及び組み立てのために電子機器によって必要とされる存続期間は短縮され得る。
第1の態様を参照して、他の可能な設計において、電子機器がプロセッサの動作周波数を該プロセッサの最大動作周波数へと調整した後に、本願のこの実施形態における方法は、第3フレーム処理期間が予めセットされた単フレーム期間よりも長い場合に、第3垂直同期信号に応答して、レンダリングされたレイヤに対してレイヤ組み立てを実行して画像フレームを取得することを更に含んでもよい。第3フレーム処理期間は、第3フレームレンダリング期間と第3SFフレーム期間との和である。第3フレームレンダリング期間は、1つ以上の第3レイヤを描画及びレンダリングするために必要な期間である。第3SFフレーム期間は、レンダリングされた1つ以上の第3レイヤに対してレイヤ組み立てを実行するために必要な期間である。
第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イベントは、ユーザの第2操作が受け取られること、及び/又は第1測定周期における第1フレーム処理期間が予めセットされた単フレーム期間よりも長いこと、を含んでもよい。
電子機器が加速されたレンダリングモードから出た後に、本願のこの実施形態における方法は、第1垂直同期信号に応答して1つ以上の第2レイヤを描画し、1つ以上の第2レイヤをレンダリングすることと、第3垂直同期信号に応答して前記レンダリングされた1つ以上の第2レイヤに対してレイヤ組み立てを実行して第2画像フレームを取得することと、第2垂直同期信号に応答して第2画像フレームをリフレッシュ及び表示することとを更に含んでもよい。
第2の態様に従って、本願は、電子機器であって、タッチスクリーン、メモリ、及び1つ以上のプロセッサを含み、タッチスクリーン及びメモリがプロセッサへ結合され、メモリがコンピュータプログラムコードを記憶するよう構成され、コンピュータプログラムコードがコンピュータ命令を含み、プロセッサが前記コンピュータ命令を実行する場合に、第1の態様及び第1の態様の可能な設計のうちいずれか1つに従う方法を実行する電子機器を提供する。
第3の態様に従って、本願は、タッチスクリーンを含む電子機器に適用されるシステム・オン・チップであって、1つ以上のインターフェース回路及び1つ以上のプロセッサを含み、インターフェース回路及びプロセッサが、ラインを使用することによって相互接続され、インターフェース回路が、電子機器のメモリから信号を受信し、該信号をプロセッサへ送信するよう構成され、信号が、メモリに記憶されているコンピュータ命令を含み、プロセッサがコンピュータ命令を実行する場合に、電子機器が、第1の態様及び第1の態様の可能な設計のうちのいずれか1つに従う方法を実行する、システム・オン・チップを提供する。
第4の態様に従って、本願は、コンピュータ命令を含むコンピュータ記憶媒体であって、コンピュータ命令が電子機器で実行される場合に、電子機器が、第1の態様及び第1の態様の可能な設計のうちのいずれか1つに従う方法を実行することを可能にされる、コンピュータ記憶媒体を提供する。
第5の態様に従って、本願は、コンピュータプログラム製品であって、コンピュータで実行される場合に、コンピュータが、第1の態様及び第1の態様の可能な設計のうちのいずれか1つに従う方法を実行することを可能にされる、コンピュータプログラム製品を提供する。
第2の態様で提供される電子機器、第3の態様でのシステム・オン・チップ、第4の態様でのコンピュータ記憶媒体、及び第5の態様でのコンピュータプログラム製品によって達成可能な有利な効果については、第1の態様及び第1の態様の可能な設計のうちのいずれか1つでの有利な効果を参照されたい。詳細は、ここで再び記載されない。
次の「第1」及び「第2」との用語は、単に記載を目的として意図されており、示されている技術的特徴の相対的な重要性の指示若しくは言外の意味又は暗黙的な数の指示として理解されるべきではない。そのため、「第1」又は「第2」によって限定されている特徴は、明示的に又は暗黙的に1つ以上の特徴を含んでもよい。実施形態の記載において、別段述べられない限りは、「複数の~」は、2つ以上を意味する。
本願の実施形態は、垂直同期信号に基づいた画像処理の方法を提供する。方法は、タッチスクリーンを含む電子機器に適用され得る。具体的に、方法は、電子機器が、タッチスクリーン上でユーザによって実行されたタッチ操作に応答して、タッチスクリーンに画像を表示するプロセスに適用され得る。
ユーザが電子機器にユーザ操作を入力してから、そのユーザ操作に対応する画像を電子機器が表示するまでのレイテンシ時間は、電子機器の応答レイテンシと呼ばれ得る。電子機器のフルエンシ(例えば、タッチレイテンシ)は、応答レイテンシの長さによって反映され得る。例えば、ユーザ操作がタッチ操作である場合に、フルエンシはタッチレイテンシであってよく、応答レイテンシはタッチ応答レイテンシと呼ばれ得る。タッチ応答レイテンシは、ユーザの指によってタッチスクリーンにタッチ操作を入力してから、そのタッチ操作に対応する画像をタッチスクリーンによって表示するまでのレイテンシ時間である。
具体的に、電子機器の応答レイテンシがより長い場合には、電子機器のフルエンシ(例えば、タッチレイテンシ)は悪化し、あるいは、電子機器のレイテンシ時間がより短い場合には、電子機器のフルエンシ(例えば、タッチレイテンシ)は改善する電子機器のフルエンシ(例えば、タッチレイテンシ)がより良い場合に、ユーザは、より良いユーザ経験を有し、ユーザ操作(例えば、タッチ操作)を通じて電子機器を制御するときに、より流ちょうに感じる。本願のこの実施形態における方法は、電子機器が1つの同期周期でレイヤの描画、レンダリング、及び組み立てを完了する確率を高めることができる。従って、電子機器の応答レイテンシは短縮可能であり、電子機器のフルエンシ(例えば、タッチレイテンシ)は改善され、ユーザ経験は改善される。
ユーザ操作がタッチ操作であると仮定すると、図1Aは、ユーザの指によってタッチスクリーンにタッチ操作を入力してから、そのタッチ操作に対応する画像をタッチスクリーンによって表示するまでの過程での電子機器のソフトウェア処理プロシージャの概略図である。図1Aに示されるように、電子機器は、タッチパネル(touch panel,TP)/TPドライバ(driver)10、入力フレームワーク(input framework)20、UIフレームワーク(UI framework)30、表示フレームワーク(display framework)40、及びハードウェア表示モジュール50を含み得る。
図1Aに示されるように、電子機器のソフトウェア処理プロシージャは、次のステップ(1)からステップ(5)を含み得る。
ステップ(1):TP IC/TPドライバ10におけるTPが、電子機器のTPでユーザの指によって実行されたタッチ操作を捕捉した後、TPドライバは、対応するタッチイベントをイベントハブに報告する。
ステップ(2):入力フレームワーク20の入力リーダスレッドは、イベントハブからタッチイベントを読み出し、それから、タッチイベントを入力ディスパッチャスレッドへ送信し得る。そして、入力ディスパッチャスレッドは、UIフレームワーク30におけるUIスレッド(例えば、DoFrame)にタッチイベントをアップロードする。
ステップ(3):UIフレームワーク30におけるUIスレッドは、タッチイベントに対応する1つ以上のレイヤを描画し、レンダリングスレッド(例えば、DrawDrame)は、1つ以上のレイヤに対してレイヤレンダリングを実行する。
ステップ(4):表示フレームワーク40における組み立てスレッドは、画像フレームを取得するよう、描画された1つ以上のレイヤ(つまり、レンダリングされた1つ以上のレイヤ)に対してレイヤ組み立てを実行する。
ステップ(5):ハードウェア表示モジュール50の液晶ディスプレイパネル(liquid crystal display,LCD)ドライバは、組み立てられた画像フレームを受け取ってよく、LCDは、組み立てられた画像フレームを表示する。画像フレームがLCDで表示されたの後、LCDで表示されている画像は、人の目によって認知され得る。
本願のこの実施形態において、「タッチスクリーン上でユーザの指によってタッチ操作を入力すること」から「画像が人の目によって認知されるように、タッチ操作に対応する画像をタッチスクリーンに表示すること」までの過程での電子機器の処理プロシージャは、電子機器の応答レイテンシを短縮する原理を簡潔に記載するために、ここで解析される。
ステップ(1)で、TP IC/TPドライバ10がタッチ操作を捕捉し、タッチイベントを入力フレームワーク20に報告する過程で、図1Bに示されるカーネルレイテンシは存在する可能性がある。ステップ(2)で、入力フレームワーク20がタッチイベントを処理し、タッチイベントをUIフレームワークに入力する過程で、図1Bに示される入力レイテンシは存在する可能性がある。ステップ(3)で、図1Bに示される描画レイテンシ(UIスレッドレイテンシとも呼ばれる)は、UIフレームワークにおけるUIスレッドがタッチイベントに対応する1つ以上のレイヤを描画するときに存在する可能性がある。更に、図1Bに示されるレンダリングレイテンシは、レンダリングスレッドがレイヤレンダリングを実行するときに存在する可能性がある。ステップ(4)で、図1Bに示される組み立てレイテンシは、表示フレームワーク40における組み立てスレッドがレイヤ組み立てを実行するときに存在する可能性がある。ステップ(5)で、ハードウェア表示モジュール50が組み立てられた画像フレームを表示する過程で、図1Bに示される表示レイテンシは存在する可能性がある。
本願のこの実施形態に従う、垂直同期信号に基づいた画像処理の方法は、電子機器の応答レイテンシを短縮しかつ電子機器のフルエンシ(例えば、タッチレイテンシ)を改善するよう、図1Bに示される「描画レイテンシ」、「レンダリングレイテンシ」、及び「組み立てレイテンシ」を短縮することができる。
例えば、本願のこの実施形態における電子機器は、携帯電話機、タブレットコンピュータ、デスクトップコンピュータ、ラップトップコンピュータ、ハンドヘルドコンピュータ、ノートブックコンピュータ、ウルトラモバイルパーソナルコンピュータ(ultra-mobile personal computer,UMPC)、ネットブック、あるいは、セルラー電話機、パーソナル・デジタル・アシスタント(personal digital assistant,PDA)、又は拡張現実(augmented reality,AR)若しくは仮想現実(virtual reality,VR)デバイスなどの、タッチスクリーンを含むデバイスであってよい。電子機器の具体的な形態は、本願のこの実施形態において特に限定されない。
以下は、添付の図面を参照して詳細に本願の実施形態の実施について記載する。
図2は、本願の実施形態に従う電子機器200の構造の概略図である。図2に示されるように、電子機器200は、プロセッサ210、外部メモリインターフェース220、内部メモリ221、ユニバーサル・シリアル・バス(universal serial bus,USB)インターフェース230、充電管理モジュール240、電力管理モジュール241、バッテリ242、アンテナ1、アンテナ2、モバイル通信モジュール250、無線通信モジュール260、オーディオモジュール270、スピーカ270A、電話レシーバ270B、マイクロホン170C、ヘッドセットジャック270D、センサモジュール280、キー290、モータ291、インジケータ292、カメラ293、表示スクリーン294、及び加入者識別モジュール(subscriber identification module,SIM)カードインターフェース295、などを含んでもよい。
センサモジュール280は、圧力センサ280A、ジャイロセンサ280B、気圧センサ280C、磁気センサ280D、加速度センサ280E、近接センサ280F、光学近接センサ280G、指紋センサ280H、温度センサ280J、タッチセンサ280K、周囲光センサ280I、及び骨伝導センサ280M、などを含んでもよい。
本願で説明されている構造は、電子機器200に対する特定の限定を構成しないことが理解され得る。他の実施形態において、電子機器200は、図示されているものよりも多い又は少ないコンポーネントを含んでもよく、あるいは、いくつかのコンポーネントは組み合わされ、あるいは、いくつかのコンポーネントは分割され、あるいは、コンポーネント配置は異なっている。表されているコンポーネントは、ハードウェア、ソフトウェア、又はソフトウェアとハードウェアとの組み合わせによって実装されてもよい。
プロセッサ210は、1つ以上のプロセッシングユニットを含んでもよい。例えば、プロセッサは、アプリケーションプロセッサ(application processor,AP)、モデムプロセッサ、GPU、画像信号プロセッサ(image signal processor,ISP)、コントローラ、メモリ、ビデオコーデック、デジタル信号プロセッサ(digital signal processor,DSP)、ベースバンドプロセッサ、及び/又はニューラルネットワークプロセッシングユニット(neural-network processing unit,NPU)を含んでもよい。異なるプロセッシングユニットは、独立したコンポーネントであってもよく、あるいは、1つ以上のプロセッサに一体化されてもよい。
コントローラは、電子機器200の中枢部及びコマンド中心であってよい。コントローラは、命令オペレーションコード及びタイミング信号に基づいてオペレーション制御信号を生成し、命令フェッチ及び命令実行に対する制御を実装し得る。
メモリは、プロセッサ210に更に配置されてもよく、命令及びデータを記憶するよう構成される。いくつかの実施形態において、プロセッサ210内のメモリはキャッシュメモリである。メモリは、プロセッサ210によってまさに使用されているか、又は周期的に使用される命令又はデータを記憶し得る。プロセッサ210が命令又はデータを再び使用する必要がある場合に、プロセッサ210は、メモリから直接に命令又はデータを呼び出し得る。従って、繰り返しのアクセスは回避され、プロセッサ210の待ち時間は削減され、システム効率は改善される。
いくつかの実施形態において、プロセッサ210は1つ以上のインターフェースを含んでもよい。インターフェースは、インター・インテグレーテッド・サーキット(inter-integrated circuit,I2C)インターフェース、インター・インテグレーテッド・サーキット・サウンド(inter-integrated circuit sound,I2S)インターフェース、パルス符号変調(pulse code modulation,PCM)インターフェース、ユニバーサル非同期受信器/送信器(universal asynchronous receiver/transmitter,UART)インターフェース、モバイル・インダストリ・プロセッサ・インターフェース(mobile industry processor interface,MIPI)、汎用入力/出力(general-purpose input/output,GPIO)インターフェース、加入者識別モジュール(subscriber identity module,SIM)インターフェース、及び/又はユニバーサル・シリアル・バス(universal serial bus,USB)インターフェース、などを含んでもよい。
この実施形態で説明されているモジュール間のインターフェース接続関係は、記載のための例にすぎず、電子機器200の構造に対する限定を構成しないことが理解され得る。他の実施形態においては、電子機器200は、上記の実施形態における異なるインターフェース接続様態、又は複数のインターフェース接続様態の組み合わせを代替的に使用してもよい。
充電管理モジュール240は、充電器から充電入力を受けるよう構成される。バッテリ242を充電する場合に、充電管理モジュール240は、電力管理モジュール241を使用することによって電子機器へ電力を更に供給し得る。
電力管理モジュール241は、バッテリ242、充電管理モジュール240、及びプロセッサ210を接続するよう構成される。電力管理モジュール241は、バッテリ及び/又は充電管理モジュール240から入力を受け、電力をプロセッサ210、内部メモリ221、外部メモリ、表示スクリーン294、カメラ293、無線通信モジュール260、などへ供給する。他の実施形態においては、電力管理モジュール241は、代替的に、プロセッサ210に配置されてもよい。他の実施形態においては、電力管理モジュール241及び充電管理モジュール240は、代替的に、同じコンポーネントに配置されてもよい。
電子機器200の無線通信機能は、アンテナ1、アンテナ2、モバイル通信モジュール250、無線通信モジュール260、モデムプロセッサ、ベースバンドプロセッサ、などを使用することによって実装され得る。
アンテナ1及びアンテナ2は、電磁波信号を送信及び受信するよう構成される。電子機器200の各アンテナは、単一又は複数の通信周波数バンドをカバーするために使用され得る。異なるアンテナはまた、アンテナ利用を改善するために再利用されてもよい。例えば、アンテナ1は、無線ローカルエリアネットワークでのダイバーシティアンテナとして再利用されてもよい。
モバイル通信モジュール250は、電子機器200に適用される、2G/3G/4G/5Gを含む無線通信ソリューションを提供し得る。モバイル通信モジュール250は、少なくとも1つのフィルタ、スイッチ、電力増幅器、低雑音増幅器(low noise amplifier,LNA)、などを含んでもよい。モバイル通信モジュール250は、アンテナ1を使用することによって電磁波を受け、受け取られた電磁波に対してフィルタリング及び増幅などの処理を実行し、電磁波を復調のためにモデムプロセッサへ伝送し得る。モバイル通信モジュール250は更に、モデムプロセッサによって変調された信号を増幅し、信号を、アンテナ1を使用することによる放射のために、電磁波に変換し得る。
モデムプロセッサは、変調器及び復調器を含んでもよい。変調器は、送信されるべき低周波ベースバンド信号を中間又は高周波信号に変調するよう構成される。復調器は、受信された電磁波信号を低周波ベースバンド信号に復調するよう構成される。ベースバンドプロセッサによって処理された後、低周波ベースバンド信号は、アプリケーションプロセッサへ伝送される。アプリケーションプロセッサは、オーディオデバイス(スピーカ270Al、電話レシーバ270B、などに限定されず)を使用することによって音響信号を出力するか、あるいは、表示スクリーン294を使用することによって画像又は映像を表示する。
無線通信モジュール260は、電子機器200に適用される、無線ローカルエリアネットワーク(wireless local area network,WLAN)(例えば、ワイヤレス・フィデリティ(wireless Fidelity,Wi-Fi)ネットワーク)、ブルートゥース(Bluetooth,BT)、グローバル・ナビゲーション・サテライト・システム(global navigation satellite system,GNSS)、周波数変調(frequency modulation,FM)、近距離通信(near field communication,NFC)技術、赤外線(infrared,IR)技術、などを含む無線通信ソリューションを提供し得る。無線通信モジュール260は、少なくとも1つの通信処理モジュールを組み込む1つ以上のコンポーネントであってよい。無線通信モジュール260は、アンテナ2を使用することによって電磁波を受け、電磁波信号に対して周波数変調及びフィルタリング処理を実行し、処理された信号プロセッサ210へ送る。無線通信モジュール260は更に、送信されるべき信号をプロセッサ210から受信し、その信号に対して周波数変調及び増幅を実行し、信号を、アンテナ2を使用することによる放射のために、電磁波に変換し得る。
いくつかの実施形態において、電子機器200のアンテナ1は、モバイル通信モジュール250へ結合され、アンテナ2は、無線通信モジュール260へ結合され、それにより、電子機器200は、無線通信技術を使用することによってネットワーク及び他のデバイスと通信することができる。無線通信技術には、グローバル・システム・フォー・モバイル・コミュニケーションズ(global system for mobile communications,GSM)、汎用パケット無線サービス(general packet radio service,GPRS)、符号分割多重アクセス(code division multiple access,CDMA)、広帯域符号分割多重アクセス(wideband code division multiple access,WCDMA)、時分割符号分割多重アクセス(time-division code division multiple access,TD-SCDMA)、ロング・ターム・エボリューション(long term evolution,LTE)、BT、GNSS、WLAN、NFC、FM、及び/又はIR技術を含まれ得る。GNSSには、グローバル・ポジショニング・システム(global positioning system,GPS)、グローバル・ナビゲーション・サテライト・システム(global navigation satellite system,GLONASS)、北斗衛星導航系統(Beidou navigation satellite system,BDS)、準天頂衛星システム(quasi-zenith satellite system,QZSS)、及び/又は衛星に基づいた補助システム(satellite based augmentation system,SBAS)が含まれ得る。
電子機器200は、GPU,表示スクリーン294、アプリケーションプロセッサ、などを使用することによって表示機能を実装する。GPUは、画像処理のためのマイクロプロセッサであり、表示スクリーン294及びアプリケーションプロセッサへ接続されている。GPUは、数学演算及び幾何演算を実行するよう構成され、グラフィクスレンダリングのために使用される。プロセッサ210は、表示情報を生成又は変更するようプログラム命令を実行する1つ以上のGPUを含んでもよい。
表示スクリーン294は、画像、映像、などを表示するよう構成される。表示スクリーン294は表示パネルを含む。表示パネルは、液晶ディスプレイ(liquid crystal display,LCD)、有機発光ダイオード(organic light-emitting diode、OLED)、アクティブマトリクス有機発光ダイオード又はアクティブマトリクス有機発光ダイオード(active-matrix organic light emitting diode,AMOLED)、フレックス発光ダイオード(flex light-emitting diode,FLED)、ミニLED、マイクロLED、マイクロOLED、量子ドット発光ダイオード(quantum dot light emitting diode,QLED)、などであってもよい。
本願のこの実施形態における表示スクリーン294は、タッチスクリーンであってよい。つまり、タッチセンサ280Kは、表示スクリーン294に組み込まれている。タッチセンサ280Kは、「タッチパネル」としても知られ得る。具体的に言えば、表示スクリーン294は、表示パネル及びタッチパネルを含み得る。タッチセンサ280K及び表示スクリーン294は、「タッチスクリーン」とも呼ばれるタッチスクリーンを形成する。タッチセンサ280Kは、タッチセンサ280Kで又はその近くで起こるタッチ操作を検出するよう構成される。タッチセンサ280Kがタッチ操作を検出した後、カーネルレイヤのドライバ(例えば、TPドライバ)は、タッチイベントタイプを決定すべく、タッチ操作を上位レイヤへ転送し得る。タッチ操作に関連した視覚出力は、表示スクリーン294を使用することによって提供され得る。他の実施形態においては、タッチセンサ280Kは、電子機器200の表面に代替的に配置されるか、あるいは、表示スクリーン294とは別の位置に配置されてもよい。
電子機器200は、ISP、カメラ293、ビデオコーデック、GPU、表示スクリーン294、アプリケーションプロセッサ、などを使用することによって撮影機能を実装してもよい。ISPは、カメラ293によってフィードバックされたデータを処理するよう構成される。カメラ293は、静止画又は映像を捕捉するよう構成される。デジタル信号プロセッサは、デジタル信号を処理するよう構成され、デジタル画像信号に加えて他のデジタル信号を処理してもよい。ビデオコーデックは、デジタル映像を圧縮又は圧縮解除するよう構成される。電子機器200は、1つ以上のビデオコーデックをサポートしてもよい。従って、電子機器200は、複数の符号化フォーマット、例えば、ムービング・ピクチャ・エキスパート・グループ(moving picture experts group,MPEG)1、MPEG2、MPEG3、及びMPEG4で映像を再生又は記録することができる。
NPUは、ニューラルネットワーク(neural-network,NN)コンピューティングプロセッサである。生物学的ニューラルネットワークの構造を参照して、例えば、人の脳のニューロン間の転送モードを参照して、NPUは、入力情報を即座に処理し、更には、自己学習を連続して実行することができる。NPUは、インテリジェント・コグニションなどのアプリケーション、例えば、画像認識、人の顔の認識、発話認識、及びテキスト理解を電子機器200で実装することができる。
外部メモリインターフェース220は、外部記憶カード、例えば、マイクロSDカードを接続して、電子機器200の記憶容量を拡張するよう構成され得る。外部記憶カードは、データ記憶機能を実装するよう、外部メモリインターフェース220を使用することによってプロセッサ210と通信する。内部メモリ221は、コンピュータ実行可能なプログラムコードを記憶するよう構成され得、コンピュータ実行可能なプログラムコードは命令を含む。プロセッサ210は、内部メモリ221に記憶されている命令を実行することによって、電子機器200の様々な機能アプリケーション及びデータ処理を実行する。例えば、本願のこの実施形態において、プロセッサ210は、内部メモリ221に記憶されている命令を実行してもよい。内部メモリ221は、プログラム記憶エリア及びデータ記憶エリアを含み得る。プログラム記憶エリアは、オペレーティングシステム、少なくとも1つの機能によって必要とされるアプリケーションプログラム(例えば、音響再生機能又は画像再生機能)、などを記憶し得る。データ記憶エリアは、電子機器200を使用する過程で生成されたデータ(例えば、オーディオデータ又は電話帳)を記憶し得る。加えて、内部メモリ221は、高速ランダム・アクセス・メモリを含んでもよく、更には、不揮発性メモリ、例えば、少なくとも1つの磁気ディスク記憶デバイス、フラッシュメモリ、又はユニバーサル・フラッシュ・ストレージ(universal flash storage,UFS)を含んでもよい。
電子機器200は、オーディオモジュール270、スピーカ270A、電話レシーバ270B、マイクロホン170C、ヘッドセットジャック270D、アプリケーションプロセッサ、などを使用することによって音楽の再生又は録音などのオーディオ機能を実装してもよい。
オーディオモジュール270は、デジタルオーディオ情報を出力のためにアナログオーディオ信号に変換するよう構成され、また、アナログオーディオ入力をデジタルオーディオ信号に変換するよう構成される。オーディオモジュール270は、オーディオ信号をエンコード及びデコードするよう更に構成されてもよい。「ラウドスピーカ」とも呼ばれるスピーカ270は、オーディオ電気信号を音響信号に変換するよう構成される。「イヤピース」とも呼ばれる電話レシーバ270Bは、オーディオ電気信号を音響信号に変換するよう構成される。「マイク」又は「電気音響変換器」とも呼ばれるマイクロホン170Cは、音響信号を電気信号に変換するよう構成される。ヘッドセットジャック270Dは、有線ヘッドセットへ接続するよう構成される。
圧力センサ280Aは、圧力信号を検知するよう構成され、圧力信号を電気信号に変換し得る。いくつかの実施形態において、圧力センサ280Aは、表示スクリーン294に配置されてもよい。圧力センサ280Aは、抵抗性圧力センサ、誘導性圧力センサ、及び容量性圧力センサなどの複数のタイプに分類される。容量性圧力センサは、導電材料を有する少なくとも2つの平行板を含み得る。力が圧力センサ280Aに加えられると、電極間の容量が変化する。電子機器200は、容量の変換に基づいて圧力の強さを決定する。タッチ操作が表示スクリーン294で起こると、電子機器200は、圧力センサ280Aに基づいてタッチ操作の強さを検出する。電子機器200はまた、圧力センサ280Aの検出信号に基づいてタッチ位置を計算し得る。いくつかの実施形態において、同じタッチ位置で起こるがタッチ操作の強さが異なっているタッチ操作は、異なるオペレーション命令に対応し得る。本願のこの実施形態において、電子機器200は、圧力センサ280Aを使用することによってユーザのタッチ操作の圧力を取得し得る。
キー290は、パワーオンキー、ボリュームキー、などを含む。キー290は、機械的なキーであってよく、あるいは、タッチキーであってもよい。電子機器200は、キーから入力を受け取って、電子機器200のユーザ設定及び機能制御に関連したキー信号入力を生成し得る。モータ291は、振動プロンプトを生成し得る。モータ291は、着呼振動プロンプトのために使用されてもよく、あるいは、タッチ振動フィードバックのために使用されてもよい。インジケータ292は、インジケータであってよく、充電状態又は電力変化を示すために使用されてもよく、あるいは、メッセージ、不在着信、通知、などを示すために使用されてもよい。SIMカードインターフェース295は、SIMカードを接続するよう構成される。SIMカードは、SIMカードが電子機器200から着脱されるように、SIMカードインターフェース295に挿入されるか、あるいは、SIMカードインターフェース295から引き抜かれ得る。電子機器200は、1つのSIMカードインターフェース又はN個のSIMカードインターフェースをサポートしてよく、ここで、Nは1よりも大きい正の整数である。SIMカードインターフェース295は、ナノSIMカード、マイクロSIMカード、SIMカード、などをサポートし得る。
次の実施形態における全ての方法は、上記のハードウェア構造を備えている電子機器200で実装され得る。
以下は、本願の実施形態で使用される用語について記載する。
垂直同期信号1:例えば、VSYNC_APP。垂直同期信号1は、1つ以上のレイヤの描画をトリガするために使用され得る。留意されるべきは、本願の実施形態において、「垂直同期信号1は、1つ以上のレイヤの描画をトリガするために使用され得る」とは、具体的に、垂直同期信号1が1つ以上のレイヤの描画をトリガしかつ1つ以上のレイヤのレンダリングをトリガするために使用され得ることを意味することである。つまり、本願の実施形態において、描画された1つ以上のレイヤは、レンダリングされた1つ以上のレイヤである。本願の実施形態において、垂直同期信号1に応答して、電子機器は、複数の描画スレッド内の各描画スレッドを使用することによってアプリケーションごとに1つ以上のレイヤを描画し得る。具体的に言えば、垂直同期信号1に応答して、電子機器は、1つ以上のアプリケーションのために同時に描画タスクを実行して、各アプリケーションに対応する1つ以上のレイヤを描画し得る。1つ以上のアプリケーションの詳細な説明については、以下の実施形態における関連する内容を参照されたい。詳細は、本願の実施形態においてここで記載されない。
垂直同期信号2:例えば、VSYNC_SF。垂直同期信号2は、画像フレームを取得するよう、描画された1つ以上のレイヤに対するレイヤ組み立てをトリガするために使用され得る。
垂直同期信号3:例えば、HW_VSYNC。垂直同期信号3は、画像フレームをリフレッシュ及び表示するようハードウェアをトリガするために使用され得る。
本願の実施形態において、垂直同期信号1(例えば、VSYNC_APP)は、特許請求の範囲で記載される第1垂直同期信号であり、垂直同期信号2(例えば、VSYNC_SF)は、特許請求の範囲で記載される第3垂直同期信号であり、垂直同期信号3(HW_VSYNC)は、特許請求の範囲で記載される第2垂直同期信号である。
留意されるべき、垂直同期信号の名称は、異なるシステム又はアーキテクチャでは異なる場合があることである。例えば、いくつかのシステム又はアーキテクチャでは、1つ以上のレイヤの描画をトリガするために使用される垂直同期信号(つまり、垂直同期信号1)の名称は、VSYNC_APPでなくてもよい。ただし、垂直同期信号の名称にかかわらず、垂直同期信号が、類似した機能を備え、かつ、本願の実施形態で提供される方法の技術的考えに従う同期信号である限りは、そのような考えは、本願の保護範囲内に含まれるべきである。
更に、垂直同期信号の定義は、異なるシステム又はアーキテクチャにおいて異なってもよい。例えば、他のシステム又はアーキテクチャでは、垂直同期信号1の定義は、垂直同期信号1が1つ以上のレイヤのレンダリングをトリガするために使用される、というものであってもよく、垂直同期信号2の定義は、垂直同期信号2が、1つ以上のレイヤに基づいた画像フレームの生成をトリガするために使用される、というものであってもよく、垂直同期信号3の定義は、垂直同期信号3が画像フレームの表示をトリガするために使用され得る、というものであってもよい。本願の実施形態において、垂直同期信号の定義は限定されない。ただし、垂直同期信号の定義にかかわらず、垂直同期信号が、類似した機能を有しており、かつ、本願の実施形態で提供される方法の技術的考えに従う同期信号である限りは、そのような考えは、本願の保護範囲内に含まれるべきである。
図1Aを参照して、ユーザ操作に応答して(例えば、タッチ操作がTPに対してユーザによって行われ、図3に示されるように、指がTPにタッチする)、あるいは、UIイベントが電子機器で起こる場合に、UIフレームワークは、タッチイベントに対応する1つ以上のレイヤを描画するよう、垂直同期信号1が到着する時点でUIスレッドを呼び出し、次いで、1つ以上のレイヤをレンダリングするようレンダリングスレッドを呼び出し得る。例えば、ユーザ操作は、代替的に、マウス、キー、などを使用することによってユーザによって入力された操作であってもよい。マウス、キー、などを使用することによってユーザによって入力されたユーザ操作に応答して、電子機器はまた、電子機器のフルエンシを改善するために本願の実施形態における方法を使用し得る。次いで、ハードウェアコンポーザ(hardware composer,HWC)は、描画された1つ以上のレイヤ(つまり、レンダリングされた1つ以上のレイヤ)に対してレイヤ組み立てを実行して画像フレームを取得するよう、垂直同期信号2が到着する時点で組み立てスレッドを呼び出し得る。最後に、ハードウェア表示モジュールは、垂直同期信号3が到着する時点で、LCD(つまり、表示スクリーン、例えば、表示スクリーン294、ここでは、LCDが例として使用される)で画像フレームをリフレッシュ及び表示し得る。UIイベントは、TPに対してユーザによって行われたタッチ操作によってトリガされてもよい。例えば、UIイベントは、電子機器のフォアグラウンドアプリケーションが自動的にピクチャを切り替えるときにトリガされ得る。フォアグラウンドアプリケーションは、電子機器の表示スクリーンに現在表示されているインターフェースに対応するアプリケーションである。
留意されるべきは、UIフレームワークは、垂直同期信号1に基づいてレイヤの描画及びレンダリングを周期的に実行し、ハードウェアコンポーザHWCは、垂直同期信号2に基づいてレイヤの組み立てを周期的に実行し、LCDは、垂直同期信号3に基づいて画像フレームを周期的にリフレッシュする、ことである。
垂直同期信号3は、電子機器の表示スクリーンによって能動的にトリガされるハードウェア信号である。本願の実施形態において、垂直同期信号3(例えば、HW_VSYNC)の信号周期T3は、電子機器の表示スクリーンのスクリーンリフレッシュレートに基づき決定される。具体的に、垂直同期信号3の信号周期T3は、電子機器の表示スクリーン(例えば、LCD)のスクリーンリフレッシュレートの逆数である。
例えば、電子機器の表示スクリーンのスクリーンリフレッシュレートは、60ヘルツ(Hz)、70Hz、75Hz、又は80Hzといった如何なる値であってもよい。スクリーンリフレッシュレートが60Hzであると仮定すると、垂直同期信号3の信号周期は、T3=1/60=0.01667秒(s)=16.667ミリ秒(ms)である。留意されるべきは、電子機器は、複数の異なるスクリーンリフレッシュレートをサポートしてもよい、ことである。例えば、電子機器によってサポートされている最大スクリーンリフレッシュレートは80Hzであることが仮定される。この場合に、電子機器は、80Hz、60Hz、40Hz、などのスクリーンリフレッシュレートをサポートし得る。本願の実施形態におけるスクリーンリフレッシュレートは、電子機器によって現在使用されているスクリーンリフレッシュレートである。すなわち、垂直同期信号3の信号周期T3は、電子機器によって現在使用されているスクリーンリフレッシュレートの逆数である。
留意されるべきは、本願の実施形態における垂直同期信号3は、周期離散信号である、ことである。例えば、図5に示されるように、1つの信号周期(例えば、T3)のインターバルで、ハードウェアによって能動的にトリガされる1つの垂直同期信号3が存在する。図5で複数回現れる垂直同期信号3は、垂直同期信号3の信号周期T3に基づいて順次的に到着する。
垂直同期信号1及び垂直同期信号2は、垂直同期信号3に基づき生成される。すなわち、垂直同期信号3は、垂直同期信号1及び垂直同期信号2の信号源であり得る。代替的に、垂直同期信号1及び垂直同期信号2は、垂直同期信号3と同期する。従って、垂直同期信号1及び垂直同期信号2の信号周期は、垂直同期信号3の信号周期と同じであり、信号の位相は一致する。例えば、図5に示されるように、垂直同期信号1の信号周期T1、垂直同期信号2の信号周期T2、及び垂直同期信号3の信号周期T3は、同じである。つまり、T1=T2=T3である。更に、図5に示されるように、垂直同期信号1、垂直同期信号2、及び垂直同期信号3の位相は一致する。実際の実施プロセスでは、様々な要因(例えば、プロセッシング性能)に起因して、垂直同期信号1と、垂直同期信号2と、垂直同期信号3との間には、位相誤差が存在することがある、と理解され得る。留意されるべきは、位相誤差は、本願の実施形態における方法の理解の中では無視されることである。
留意されるべきは、垂直同期信号1及び垂直同期信号2も周期離散信号であることである。例えば、図5に示されるように、1つの信号周期(例えば、T1)のインターバルで1つの垂直同期信号1が存在し、1つの信号周期(例えば、T2)のインターバルで1つの垂直同期信号2が存在する。つまり、図5で複数回現れる垂直同期信号1は、垂直同期信号1の信号周期T1に基づき順次的に到着し、図5で複数回現れる垂直同期信号2は、垂直同期信号2の信号周期T2に基づき順次的に到着する。そのため、垂直同期信号3、垂直同期信号1、及び垂直同期信号2は全て、周期離散信号と見なされ得る。
垂直同期信号1、垂直同期信号2、及び垂直同期信号3は全て、周期信号である。従って、本願の実施形態において、垂直同期信号の到着(例えば、垂直同期信号1の到着)は、垂直同期信号のパルスエッジの到着を意味し、垂直同期信号に対する応答(例えば、垂直同期信号1に対する応答)は、垂直同期信号のパルスエッジに対する応答を意味する。例えば、図5に示されるように、時間t1での垂直同期信号1の到着は、時間t1での垂直同期信号1のパルスエッジの到着を意味し、時間t1での垂直同期信号に対する応答は、時間t1での垂直同期信号1のパルスエッジに対する応答を意味する。
パルスエッジは、オシロスコープ又は観測システムから視覚的に観測されるパルスエッジである。異なるシステムでは、立ち上がりエッジ、立ち下がりエッジ、又は両方が含まれ得る。実際のシステムでは、パルスエッジは、タイマ、割り込み信号、などのフリッピングによって実装され得る。
本願の実施形態において、垂直同期信号1、垂直同期信号2、及び垂直同期信号3の信号周期は全て、同期周期Tzと呼ばれ得る。つまり、T1=T2=T3=Tzである。すなわち、本願の実施形態における同期周期は、電子機器の表示スクリーンのスクリーンリフレッシュレートの逆数である。図3に示されるフレーム1、フレーム2、フレーム3、及びフレーム4の全てが、上記の同期周期である。例えば、電子機器の表示スクリーンのスクリーンリフレッシュレートは、60ヘルツ(Hz)、70Hz、75Hz、又は80Hzといった如何なる値であってもよい。スクリーンリフレッシュレートが60Hzであり得ると仮定すると、同期周期Tz=1/60=0.01667秒(s)=16.667ミリ秒(ms)、すなわち、T1=T2=T3=Tz=16.667msである。
TPはタッチパネルであり、TPは表示スクリーン294に組み込まれ得る。TPは、上記のタッチセンサ280Kなどの、タッチセンサとも呼ばれる。TPは、ユーザのタッチ操作を周期的に検出し得る。タッチ操作を検出した後、TPは、垂直同期信号1に基づきレイヤの描画及びレンダリングを実行するようUIフレームワークをトリガし、垂直同期信号2に基づきレイヤの組み立てを実行するようハードウェアコンポーザHWCをトリガするために、垂直同期信号1及び垂直同期信号2をウェイクアップし得る。TPによってタッチ操作を検出する検出周期は、垂直同期信号3(例えば、HW_VSYNC)の信号周期T3と同じである。
電子機器によって実行されるレイヤの描画、レンダリング、及び組み立ては、2つの同期周期でしか完了され得ないことが理解され得る。これは、描画スレッドが垂直同期信号1に基づきレイヤ描画を実行し、次いで、レンダリングスレッドがレイヤレンダリングを実行し、組み立てスレッドが垂直同期信号2(例えば、VSYNC_SP)に基づきレイヤ組み立てを実行するからである。
例えば、図3に示されるように、レイヤの描画及びレンダリングはフレーム2で完了し、一方、画像フレーム組み立てはフレーム3で完了する。図3に示されるフレーム1、フレーム2、フレーム3、及びフレーム4の夫々は、1つの同期周期に対応する。
しかし、いくつかの場合に、レイヤの描画、レンダリング、及び組み立てのために電子機器によって必要とされる存続期間は、1つの同期周期以下であり得る。具体的に言えば、上記の2つの同期周期(図3に示されるフレーム2及びフレーム3)で、電子機器は、レイヤの描画、レンダリング、及び組み立てでほんの少しの時間しか費やさなくてもよいが、垂直同期信号2及び垂直同期信号3の到着を待つことに他の時間を費やす。従って、電子機器の応答レイテンシは必ずしも延長されず、電子機器のフルエンシ(例えば、タッチレイテンシ)は影響を及ぼされる。
本願の実施形態で提供される方法では、レイヤの描画、レンダリング、及び組み立てのために電子機器によって必要とされる存続期間が単フレームレンダリング要件(例えば、必要とされる存続期間が1つの同期周期よりも短いか又はそれと等しい)場合に、レイヤの描画、レンダリング、及び組み立ては1つの同期周期で行われる。このようにして、図1Bに示される「描画レイテンシ」、「レンダリングレイテンシ」、及び「組み立てレイテンシ」は短縮可能であり、それにより、電子機器の応答レイテンシは短縮され、電子機器のフルエンシ(例えば、タッチレイテンシ)は改善される。具体的に、本願の実施形態における方法は、電子機器が1つの同期周期でレイヤの描画、レンダリング、及び組み立てを完了する確率を高めることができる。すなわち、利点は、電子機器の応答レイテンシを1つの同期周期に短縮することであり得る。
本願の実施形態に従う、垂直同期信号に基づいた画像処理の方法は、画像フレーム生成装置によって実行され得る。画像フレーム生成装置は、上記の電子機器のうちのいずれか1つであってよい(例えば、位相を調整する装置は、図2に示される電子機器200であってよい)。代替的に、画像フレーム生成装置は、電子機器のCPU、あるいは、す電子機器で垂直同期信号に基づいた画像処理の方法を実行するよう構成された制御モジュールであってもよい。本願の実施形態に従う、垂直同期信号に基づいた画像処理の方法は、電子機器が垂直同期信号に基づいた画像処理の方法を実行する例を使用することによって、記載される。
上記の実施形態では、本願の実施形態における方法は、第1垂直同期信号が垂直同期信号1(例えば、VSYNC_APP信号)であり、第3垂直同期信号が垂直同期信号2(例えば、VSYNC_SF信号)であり、第2垂直同期信号は垂直同期信号3(例えば、HW_VSYNC)である例を使用することによって、記載される。
本願のこの実施形態は、垂直同期信号に基づいた画像処理の方法を提供する。図4に示されるように、垂直同期信号に基づいた画像処理の方法は、S401及びS402を含み得る。
S401.電子機器は、垂直同期信号1に応答して1つ以上の第1レイヤを描画し、1つ以上の第1レイヤをレンダリングし、1つ以上の第1レイヤをレンダリングした後に、レンダリングされた1つ以上の第1レイヤに対してレイヤ組み立てを実行して第1画像フレームを取得する。
一般に、垂直同期信号3に対する垂直同期信号1のレイテンシ時間はゼロであり、それらの位相差はゼロである。例えば、図5に示されるように、垂直同期信号3に対する垂直同期信号1のレイテンシ時間及び垂直同期信号2のレイテンシ時間はゼロであり、それらの位相差はゼロである。垂直同期信号1の信号周期T1、垂直同期信号2の信号周期T2、及び垂直同期信号3の信号周期T3が同じである(すなわち、T1=T2=T3)との前提で、垂直同期信号3に対する垂直同期信号1のレイテンシ時間及び垂直同期信号2のレイテンシ時間はゼロである。具体的に、垂直同期信号3が到着するとき、垂直同期信号1及び垂直同期信号2も到着する。
例えば、図5又は図6A(a)に示されるように、時間t1で、垂直同期信号1、垂直同期信号2、及び垂直同期信号3は同時に到着し、時間t2で、垂直同期信号1、垂直同期信号2、及び垂直同期信号3は同時に到着し、時間t3で、垂直同期信号1、垂直同期信号2、及び垂直同期信号3は同時に到着し、時間t4で、垂直同期信号1、垂直同期信号2、及び垂直同期信号3は同時に到着し、時間t5で、垂直同期信号1、垂直同期信号2、及び垂直同期信号3は同時に到着する。
例えば、図6A(a)に示されるように、垂直同期信号1は時間t1で到着し、時間t1での垂直同期信号1に応答して、電子機器は描画1及びレンダリング1を実行してもよく、時間t2で、垂直同期信号1は到着し、時間t2での垂直同期信号1に応答して、電子機器は描画2及びレンダリング2を実行してもよい。
一般に、電子機器(つまり、電子機器のHWC)は、垂直同期信号2に基づきレイヤ組み立てを実行する。具体的に言えば、電子機器(つまり、電子機器のUIスレッド及びレンダリングスレッド)が1つ以上の第1レイヤのレンダリングを完了した場合でさえ、垂直同期信号2が検出されない場合には、HWCは、レンダリングされた1つ以上の第1レイヤに対してレイヤ組み立てを実行しない。HWCは、垂直同期信号2の時間が到着する場合にのみ、画像フレームを取得するようレイヤ組み立てを実行する。
例えば、図6A(a)に示されるように、電子機器が時間t6でレイヤレンダリング(つまり、「レンダリング1」)を完了した場合でさえ、垂直同期信号2は、時間t6の後の時間t2にしか到着することができず、時間t2での垂直同期信号2に応答して、電子機器(つまり、電子機器のHWC)は、第1画像フレームを取得するようレイヤ組み立てを実行する(つまり、「画像フレーム組み立て1」を実行する)ことができる。すなわち、電子機器は、図6A(a)に示されるように、Δt1の間待った後にしか「画像フレーム組み立て1」を実行することができない。
他の例として、図6A(a)に示されるように、電子機器が時間t7でレイヤレンダリング(つまり、「レンダリング2」)を完了した場合でさえ、垂直同期信号2は、時間t7の後の時間t3にしか到着することができず、時間t3での垂直同期信号2に応答して、電子機器(つまり、電子機器のHWC)は、第1画像フレームを取得するようレイヤ組み立てを実行する(つまり、「画像フレーム組み立て2」を実行する)ことができる。すなわち、電子機器は、図6A(a)に示されるように、Δt2の間待った後にしか「画像フレーム組み立て2」を実行することができない。
従って、電子機器によって実行されるレイヤの描画、レンダリング、及び組み立ては、2つの同期周期でしか完了することができない。例えば、図6A(a)に示されるように、「描画1」及び「レンダリング1」は、時間t1から時間t2までの同期周期で完了し、一方、「画像フレーム組み立て1」は、時間t2からt3までの同期周期で完了する。他の例として、図6A(a)に示されるように、「描画2」及び「レンダリング2」は、時間t2から時間t3までの同期周期で完了し、一方、「画像フレーム組み立て2」は、時間t3から時間t4までの同期周期で完了する。
しかし、本願のこの実施形態では、電子機器は垂直同期信号2を待つ必要がなく、代わりに、垂直同期信号1に応答して1つ以上の第1レイヤを描画及びレンダリングした後に、つまり、1つ以上の第1レイヤのレンダリングが完了した後に、電子機器は、第1画像フレームを取得するために、レンダリングされた第1レイヤに対してレイヤ組み立てを実行し始め得る。すなわち、電子機器は、レンダリングされた第1レイヤに対するレイヤ組み立てを前もって実行し得る。
例えば、図6A(b)に示されるように、電子機器は、垂直同期信号1に応答して、「描画1」、「レンダリング1」及び「画像フレーム組み立て1」を実行し得る。図6A(b)に示されるように、時間t6で、「描画1」及び「レンダリング1」は終了している。時間t2での垂直同期信号2が到着する前に、電子機器は、時間t6でレイヤ組み立てを実行すること、つまり、「画像フレーム組み立て1」を実行することを開始し得る。すなわち、電子機器は、時間t2での垂直同期信号2の到着を待たずに、「画像フレーム組み立て1」を実行し始め得る。
他の例として、図6A(b)に示されるように、電子機器は、垂直同期信号1に応答して、「描画2」、「レンダリング2」及び「画像フレーム組み立て2」を実行し得る。図6A(b)に示されるように、時間t7で、「描画2」及び「レンダリング2」は終了している。時間t3での垂直同期信号2が到着する前に、電子機器は、時間t6でレイヤ組み立てを実行すること、つまり、「画像フレーム組み立て2」を実行することを開始し得る。すなわち、電子機器は、時間t3での垂直同期信号2の到着を待たずに、「画像フレーム組み立て2」を実行し始め得る。
留意されるべきは、1つ以上の第1レイヤが1つの第1レイヤしか含まない場合に、電子機器がその第1レイヤに対してレイヤ組み立てを実行することは、電子機器が、第1レイヤを第1画像フレームに変換するよう第1レイヤのフォーマットを変換することを特に含む。1つ以上の第1レイヤが複数の第1レイヤを含む場合には、電子機器がそれら複数の第1レイヤに対してレイヤ組み立てを実行することは、電子機器が、第1画像フレームを取得するよう複数の第1レイヤに対してレイヤ組み立てを実行することを特に含む。
例えば、S401で、電子機器が、レンダリングされた1つ以上の第1レイヤに対してレイヤ組み立てを実行して第1画像フレームを取得することは、レンダリングスレッドが1つ以上の第1レイヤのレンダリングを完了した後に、組み立てスレッドが、レンダリングされた1つ以上の第1レイヤに対してレイヤ組み立てを実行して第1画像フレームを取得するために呼び出され得るか、あるいは、1つ以上の第1レイヤのレンダリングを完了した後に、レンダリングスレッドが、レンダリングされた1つ以上の第1レイヤに対してレイヤ組み立てを実行して第1画像フレームを取得するよう組み立てスレッドをトリガするために、指示メッセージを組み立てスレッドへ送るか、あるいは、レンダリングスレッドが1つ以上の第1レイヤのレンダリングを完了したことを検出すると、組み立てスレッドが、レンダリングされた1つ以上の第1レイヤに対してレイヤ組み立てを実行して第1画像フレームを取得し得る、ことを特に含む。
S401で、1つ以上の第1レイヤのレンダリングを完了した後に、電子機器は、レンダリングされた1つ以上の第1レイヤに対して直ちにレイヤ組み立て実行してもよい、と理解され得る。代替的に、S401で、1つ以上の第1レイヤのレンダリングを完了した後に、電子機器は、特定のレイテンシ時間の後に、レンダリングされた1つ以上の第1レイヤに対してレイヤ組み立てを実行してもよい。すなわち、実際の実施プロセスでは、電子機器によって実行されるレイヤレンダリングからレイヤ組み立ての間には、レイテンシが存在することがある。
S402.電子機器は、垂直同期信号3に応答して、第1画像フレームをリフレッシュ及び表示する。
図6A(b)に示されるように、時間t2で、垂直同期信号3が到着し、時間t2での垂直同期信号3に応答して、電子機器は、「画像フレーム組み立て1」を実行することによって取得された画像フレーム(例えば、第1画像フレーム)をリフレッシュ及び表示し、つまり、「画像フレーム表示1」を実行し得る。時間t3で、垂直同期信号3が到着し、時間t3での垂直同期信号3に応答して、電子機器は、「画像フレーム組み立て2」を実行することによって取得された画像フレームをリフレッシュ及び表示し、つまり、「画像フレーム表示2」を実行し得る。
実施形態(1)で電子機器の応答レイテンシを短縮する原理及び効果に関する解析:
本願のこの実施形態では、図6A(b)を参照して、電子機器がS401を実行した後に電子機器の応答レイテンシを短縮する原理及び効果が解析され、ここで記載される。
(1)レイヤの描画、レンダリング、及び組み立てのために電子機器によって必要とされる存続期間が1つの同期周期よりも短いか又はそれと等しい場合(つまり、第1の場合)に、本願のこの実施形態で応答レイテンシを短縮する原理及び効果は、記載される。
レイヤの描画、レンダリング、及び組み立てのために電子機器によって必要とされる存続期間が1つの同期周期以下であり得る。この場合に、電子機器は、S401を実行することによって、1つの同期周期でレイヤの描画、レンダリング、及び組み立てを完了することができる。
例えば、図6A(b)に示されるように、電子機器は、時間t1から時間t2までの同期周期で「描画1」、「レンダリング1」、及び「画像フレーム組み立て1」を完了し、図6A(b)に示されるように、電子機器は、時間t2から時間t3までの同期周期で「描画2」、「レンダリング2」、及び「画像フレーム組み立て2」を完了する。
図6A(b)を図6A(a)と比較することによって、電子機器によって第1画像フレームをリフレッシュ及び表示する時間は、本願のこの実施形態における方法を使用することによって、1つの同期周期だけ進むことができることが分かる(例えば、時間t2は、時間t3よりも1同期周期Tz進んでいる)。すなわち、本願のこの実施形態における方法は、1つの同期周期だけ電子機器の応答レイテンシを短縮することができ、かつ、電子機器のフルエンシ(例えば、タッチレイテンシ)を改善することができる。
(2)レイヤの描画、レンダリング、及び組み立てのために電子機器によって必要とされる存続期間が1つの同期周期よりも長い場合(つまり、第2の場合)に、本願のこの実施形態で応答レイテンシを短縮する原理及び効果は、記載される。
レイヤの描画、レンダリング、及び組み立てのために電子機器によって必要とされる存続期間、又はレイヤの描画及びレンダリングのために電子機器によって必要とされる存続期間は、1つの同期周期よりも長いことがある。この場合に、「垂直同期信号2に応答してレイヤ組み立てを実行する」と言う従来の解決法が使用されるならば、画像フレームをリフレッシュ及び表示する過程で、フレーム損失現象が起こる可能性がある。具体的に、画像フレームをリフレッシュ及び表示する過程で、表示スクリーンは、繰り返し画像フレームを表示する可能性がある。従って、表示スクリーンの画像表示のフルエンシは影響を及ぼされ、ユーザの視覚体験は影響を及ぼされる。
例えば、図7(a)に示されるように、時間t1で、垂直同期信号1が到着し、電子機器は、時間t1で垂直同期信号1に応答して「描画1」及び「レンダリング1」を実行する。時間t2で、垂直同期信号2が到着し、電子機器は、時間t2で垂直同期信号2に応答して「画像フレーム組み立て1」を実行する。時間t3で、垂直同期信号3が到着し、電子機器は、時間t3で垂直同期信号3に応答して「画像フレーム表示1」を実行する。図7(a)に示されるように、時間t2で、垂直同期信号1が到着し、電子機器は、時間t2で垂直同期信号1に応答して「描画2」及び「レンダリング2」を実行する。「描画2」及び「レンダリング2」は1つの同期周期(例えば、時間t2から時間t3までの同期周期)で完了され得ないので、つまり、電子機器は、時間t3での垂直同期信号2が到着する前に「レンダリング2」を完了することができないので、電子機器は、時間t4での垂直同期信号2の到着を待つしかなく、時間t4で垂直同期信号2に応答して「画像フレーム組み立て2」を実行することができる。従って、電子機器は、時間t5での垂直同期信号3の到着も待つことになり、電子機器は、時間t5で垂直同期信号3に応答して「画像フレーム表示2」を実行する。
上記の記載を参照して、図7(a)からは、「描画2」及び「レンダリング2」が1つの同期周期(例えば、時間t2からt3までの同期周期)で完了され得ないので、電子機器は、時間t4での垂直同期信号2の到着を待つしかなく、時間t4で垂直同期信号2に応答して「画像フレーム組み立て2」を実行することができる、ことが分かる。従って、時間t4から時間t5までの同期周期では、表示スクリーンの画像表示においてフレーム損失現象が起こり、つまり、表示スクリーンは繰り返し画像フレームを表示し、つまり、表示スクリーンは、時間t4から時間t5まで「画像フレーム表示1」を実行し続ける。時間t4から時間t5まで表示スクリーンによって表示される画像フレームと、時間t3から時間t4まで表示される画像フレームとは、同じ画像フレームである。
しかし、本願のこの実施形態における方法は、表示スクリーンが繰り返し画像フレームを表示することを防ぐために、画像表示においてフレーム損失現象を回避することができる。つまり、本願のこの実施形態における方法は、表示スクリーンの画像表示のフルエンシを確かにすることができ、それによって、ユーザの視覚体験を改善する。
例えば、図7(b)に示されるように、電子機器は、垂直同期信号1に応答して「描画1」、「レンダリング1」、及び「画像フレーム組み立て1」を実行し得る。図7(b)に示されるように、時間t9で、「描画1」及び「レンダリング1」は終了している。時間t2での垂直同期信号2が到着する前に、電子機器は、時間t9でレイヤ組み立てを実行すること、つまり、「画像フレーム組み立て1」を実行することを開始し得る。すなわち、電子機器は、時間t2での垂直同期信号2の到着を待たずに、「画像フレーム組み立て1」を実行し始める。
他の例として、図7(b)に示されるように、電子機器は、垂直同期信号1に応答して「描画2」、「レンダリング2」、及び「画像フレーム組み立て2」を実行し得る。図7(b)に示されるように、時間t10で、「描画2」及び「レンダリング2」は終了している。時間t4での垂直同期信号2が到着する前に、電子機器は、時間t10でレイヤ組み立てを実行すること、つまり、「画像フレーム組み立て2」を実行することを開始し得る。すなわち、電子機器は、時間t4での垂直同期信号2の到着を待たずに、「画像フレーム組み立て2」を実行し始める。
他の例として、図7(b)に示されるように、電子機器は、垂直同期信号1に応答して「描画3」、「レンダリング3」、及び「画像フレーム組み立て2」を実行し得る。図7(b)に示されるように、時間t11で、「描画3」及び「レンダリング3」は終了している。時間t5での垂直同期信号2が到着する前に、電子機器は、時間t11でレイヤ組み立てを実行すること、つまり、「画像フレーム組み立て3」を実行することを開始し得る。すなわち、電子機器は、時間t5での垂直同期信号2の到着を待たずに、「画像フレーム組み立て3」を実行し始める。
図7(b)からは、電子機器が時間t10で「画像フレーム組み立て2」を実行し始め、時間t4での垂直同期信号3が到着する前に「画像フレーム組み立て2」を完了し得る、ことが分かる。従って、時間t4での垂直同期信号3が到着した後に、電子機器は、時間t4で垂直同期信号3に応答して「画像フレーム表示2」を実行し得る。従って、表示スクリーンの画像表示でのフレーム損失現象は回避され得、表示スクリーンの画像表示のフルエンシは確かにされ、それによってユーザの視覚体験を改善することができる。
留意されるべきは、第2の場合に、電子機器は、1つの同期周期でレイヤの描画、レンダリング、及び組み立てを完了することができないことである。図7(b)に示されるように、電子機器は、時間t1から時間t3までの2つの同期周期でのみ「描画1」、「レンダリング1」、及び「組み立て1」を完了し、時間t2から時間t4までの2つの同期周期でのみ「描画2」、「レンダリング2」、及び「組み立て2」を完了する。しかし、表示スクリーンの画像表示でのフレーム損失現象は回避され得、表示スクリーンの画像表示のフルエンシは確かにされ、それによってユーザの視覚体験を改善することができる。加えて、電子機器は、レイヤ組み立てを前もって実行し、電子機器が1つの同期周期でレイヤの描画、レンダリング、及び組み立てを完了する確率は、高められ得る。
本願のこの実施形態では、1つ以上のアプリケーションのために電子機器によって上記の方法を実行する原理が記載される。
1つ以上のレイヤは、1つ以上のアプリケーションに対応する描画タスクを実行することによって電子機器によって描画されたレイヤを含んでよい。1つ以上のアプリケーションは、1つ以上のシステムレベルアプリケーション及び1つ以上のユーザレベルアプリケーションのうちの少なくとも1つを含んでよい。例えば、システムレベルアプリケーションには、ステータスバー、ラウンチャ、ナビゲーションバー、及び壁紙が含まれ得る。ユーザレベルアプリケーションには、「設定」、「電話」、及び「SMS」などの電子機器のシステムアプリケーション、並びにユーザ操作に応答して電子機器がアプリケーションストアからダウンロードすることができるサードパーティアプリケーションが含まれ得る。例えば、サードパーティアプリケーションは、WeChat、Alipay、又はBaidu MAPなどのアプリケーションを含んでもよい。本願のこの実施形態で記載される描画タスクは、「レイヤ描画」及び「レイヤレンダリング」を含む。
相応して、S401は、S401a及びS401bを含んでもよい.S401a.電子機器は、垂直同期信号1に応答して1つ以上のアプリケーションの夫々のために1つ以上の第1レイヤを描画し、1つ以上の第1レイヤをレンダリングする。S401b.電子機器は、1つ以上のアプリケーションのために電子機器によってレンダリングされた1つ以上の第1レイヤに対してレイヤ組み立てを実行して第1画像フレームを取得する。
留意されるべきは、本願のこの実施形態では、電子機器は、画像フレームを取得するために、1つ以上のアプリケーションのために電子機器によってレンダリングされたレイヤに対してレイヤ組み立てを実行し得ることである。代替的に、電子機器は、複数の画像フレームを取得するように、各アプリケーションのために電子機器によってレンダリングされたレイヤに対して別々にレイヤ組み立てを実行してもよい。本願のこの実施形態(例えば、S401b)は、電子機器が1つ以上のアプリケーションのために電子機器によってレンダリングされたレイヤに対してレイヤ組み立てを実行して画像フレームを取得する例を使用することによって、記載される。
以下は、レイヤの描画、レンダリング、及び組み立てと、画像フレーム表示とを実行するための本願のこの実施形態における方法を1つ以上のアプリケーションのために電子機器によって実行する原理について記載するために、2つの適用シナリオを使用する。
適用シナリオ(1)では、1つ以上のアプリケーションはただ1つのアプリケーションしか含まなくてもよい。電子機器は、1つ以上のレイヤを描画(すなわち、描画及びレンダリング)するよう、そのアプリケーションに対応する描画タスクを実行し得る。すなわち、電子機器は、そのアプリケーションのためにS401aを実行して、1つ以上の対応するレイヤを描画及びレンダリングし得る。次いで、電子機器は、S401bを実行して、そのアプリケーションのためにレンダリングされた1つ以上のレイヤに対してレイヤ組み立てを実行し得る。
例えば、アプリケーションがアプリケーション1であると仮定すると、電子機器は、アプリケーション1のために1つ以上のレイヤ1を描画及びレンダリングするようS401aを実行してもよく、それから、電子機器は、アプリケーション1のためにレンダリングされた1つ以上のレイヤ1に対してレイヤ組み立てを実行して画像フレーム1を取得するようS401bを実行してもよい。
例えば、図6A(b)に示されるように、時間t1での垂直同期信号1に応答して、電子機器は、1つ以上のレンダリングされたレイヤ1を取得するよう「描画1」及び「レンダリング1」を実行し、それから、レンダリングされた1つ以上のレイヤ1に対してレイヤ組み立てを実行して、つまり、「画像フレーム組み立て1」を実行して、画像フレーム1を取得し得る。時間t2での垂直同期信号3に応答して、電子機器は、画像フレーム1をリフレッシュ及び表示するよう「画像フレーム表示1」を実行し得る。
適用シナリオ(2)では、1つ以上のアプリケーションは複数のアプリケーションを含んでもよい。電子機器は、複数のアプリケーションの夫々に対応する描画タスクを実行し、複数のアプリケーションの夫々について1つ以上のレイヤを別々に描画(すなわち、描画及びレンダリング)し得る。具体的に言えば、電子機器は、複数のアプリケーションの夫々のために別々にS401aを実行して、1つ以上の対応するレイヤを描画及びレンダリングし得る。次いで、電子機器は、S401bを実行して、複数のアプリケーションの夫々のためにレンダリングされた1つ以上のレイヤに対してレイヤ組み立てを実行し得る。すなわち、S401bでのレンダリングされた1つ以上のレイヤは、複数のアプリケーションに対応する描画タスクを実行することによって電子機器によって取得されたレイヤを含み得る。
例えば、複数のアプリケーションが2つのアプリケーション(アプリケーション1及びアプリケーションaを含む)であると仮定すると、電子機器は、アプリケーション1のために描画及びレンダリングを実行して1つ以上のレイヤ1を取得し、アプリケーションaのために描画及びレンダリングを実行して1つ以上のレイヤaを取得し得る。次いで、電子機器は、1つ以上のレイヤ1及び1つ以上のレイヤaに対してレイヤ組み立てを実行して画像フレームaを取得し得る。
例えば、図6Bに示されるように、時間t1での垂直同期信号1に応答して、電子機器は、1つ以上のレイヤ1を取得するようアプリケーション1のために「描画1」及び「レンダリング1」を実行し、1つ以上のレイヤaを取得するようアプリケーションaのために「描画a」及び「レンダリングa」を実行してよく、それから、電子機器は、1つ以上のレイヤ1及び1つ以上のレイヤaに対して「画像フレーム組み立て1+a」を実行して画像フレームaを取得してよく、時間t2での垂直同期信号3に応答して、電子機器は、画像フレームaをリフレッシュ及び表示するよう「画像フレーム表示1+a」を実行し得る。他の例として、図6Bに示されるように、時間t2での垂直同期信号1に応答して、電子機器は、1つ以上のレイヤ2を取得するようアプリケーション1のために「描画2」及び「レンダリング2」を実行し、1つ以上のレイヤbを取得するようアプリケーションaのために「描画b」及び「レンダリングb」を実行してよく、それから、電子機器は、1つ以上のレイヤb及び1つ以上のレイヤbに対して「画像フレーム組み立て2+b」を実行して画像フレームbを取得してよく、時間t3での垂直同期信号3に応答して、電子機器は、画像フレームbをリフレッシュ及び表示するよう「画像フレーム表示2+b」を実行し得る。
留意されるべきは、図6Bに示される「画像フレーム組み立て1+a」及び「画像フレーム組み立て2+b」は両方とも、1回のレイヤ組み立てを表すことである。電子機器が「画像フレーム表示1+a」又は「画像フレーム表示2+b」を実行するとき、1つの画像フレームがやはりリフレッシュ及び表示される。
上記の記載からは、本願のこの実施形態における方法が、電子機器が単一のウィンドウを使用することによって1つのアプリケーションのインターフェースを表示するシナリオにだけではなく、複数のウィンドウを使用することによって複数のアプリケーションのインターフェースを表示するシナリオにも適用され得る、ことが分かる。例えば、本願のこの実施形態における方法は、電子機器が横長モードで複数のウィンドウを表示するシナリオに適用されてもよく、あるいは、電子機器が折りたたみ可能なスクリーン上の複数のウィンドウで複数のアプリケーションインターフェースを表示するシナリオに適用されてもよい。単一のウィンドウ又は複数のウィンドウを使用することによってアプリケーションのインターフェースを電子機器によって表示する方法は、本願のこの実施形態においてここでは記載されない。
留意されるべきは、本願のこの実施形態は、電子機器が1つのアプリケーションのために本願のこの実施形態における方法を実行する例を使用することによって記載されることである。しかし、それは、本願のこの実施形態における方法で、電子機器が複数のアプリケーションのためにレイヤの描画、レンダリング、組み立て、及び画像フレーム表示を同時に実行することができないことを意味するものではない。
この実施形態では、上記の適用シナリオ(2)、つまり、複数のアプリケーションのシナリオについて、電子機器によってS401bを実行する具体的な方法が記載される。
場合(1)で、電子機器は、複数のアプリケーションの全てのためのレイヤレンダリングが終わるときに、レンダリングされたレイヤに対してレイヤ組み立てを実行して、第1画像フレームを取得し得る。
例えば、図6Bに示されるように、時間t1での垂直同期信号1に応答して、電子機器は、1つ以上のレイヤ1を取得するようアプリケーション1のために「描画1」及び「レンダリング1」を実行し、1つ以上のレイヤaを取得するようアプリケーションaのために「描画a」及び「レンダリングa」を実行し得る。図6Bに示されるように、電子機器は、時間t15で「レンダリングa」を完了し、時間t6で「レンダリング1」を完了する。場合(1)で、たとえ電子機器が時間t15で「レンダリングa」を完了していたとしても、電子機器は「レンダリング1」を完了していないので、電子機器は、時間t15でレイヤ組み立て(つまり、「画像フレーム組み立て1+a」)を実行し始めない。図6Bに示されるように、電子機器は、時間t6では「レンダリングa」及び「レンダリング1」を完了している。従って、電子機器は、画像フレームaを取得するよう「画像フレーム組み立て1+a」を実行し得る。時間t2での垂直同期信号3に応答して、電子機器は、「画像フレーム表示1+a」、つまり、画像フレームaをリフレッシュ及び表示することを実行し得る。
同様に、電子機器は、時間t16の後の時間t7で「レンダリングb」及び「レンダリング2」を完了している。従って、電子機器は、画像フレームbを取得するよう「画像フレーム組み立て2+b」を実行し得る。時間t3での垂直同期信号3に応答して、電子機器は、「画像フレーム表示2+b」、つまり、画像フレームbをリフレッシュ及び表示することを実行し得る。
場合(2)で、電子機器は、複数のアプリケーションのうちの一部のレイヤレンダリングが終わるときに、レンダリングされたレイヤに対してレイヤ組み立てを実行して、第1画像フレームを取得し得る。
場合(2)で、上記のS401bは、1つ以上のアプリケーションの中のフォーカスアプリケーション、キーアプリケーション、又は電子機器のフルエンシに密接に関連したアプリケーションの1つ以上の第1レイヤをレンダリングする場合に、1つ以上のアプリケーションのために電子機器によってレンダリングされた1つ以上の第1レイヤに対してレイヤ組み立てを実行して第1画像フレームを取得すること、により置換されてもよい。フォーカスアプリケーションは、電子機器によって受け取られたユーザタッチ操作に対応するアプリケーション、つまり、実際の焦点が合わせられているアプリケーションである。
例えば、フォーカスアプリケーションが一例として使用される。上記の例を参照して、アプリケーションaがフォーカスアプリケーションであることが仮定される。図6Cに示されるように、電子機器は、時間t15でアプリケーションaのための「レンダリングa」を完了し、時間t6でアプリケーション1のための「レンダリング1」を完了する。場合(2)で、電子機器は時間t15では「レンダリング1」を完了していないが、電子機器は、時間t15でフォーカスアプリケーションのための「レンダリングa」を完了している。従って、電子機器は、時間t15でレイヤ組み立てを実行し得る(つまり、「画像フレーム組み立てa」を実行する)。他の例として、図6Cに示されるように、電子機器は、時間t16でアプリケーションaのための「レンダリングb」を完了し、時間t6でアプリケーション1のための「レンダリング2」を完了する。場合(2)で、電子機器は時間t16では「レンダリング2」を完了していないが、電子機器は、時間t16でフォーカスアプリケーションのための「レンダリングb」を完了している。従って、電子機器は、時間t16でレイヤ組み立てを実行し得る(つまり、「画像フレーム組み立て1+b」を実行する)。
アプリケーションaはフォーカスアプリケーションであるから、ユーザはアプリケーションaのインターフェースの変化により注意を払う、と理解され得る。すなわち、ユーザは、電子機器のフルエンシに対するフォーカスアプリケーションのインターフェースの変化の影響により注意を払う。上記の例では、電子機器は、時間t15で「画像フレーム組み立てa」を実行し、時間t16で「画像フレーム表示1+b」を実行する。フォーカスアプリケーションaのインターフェースの変化もインターフェース上で反映され得る。従って、電子機器のフルエンシに対するユーザの視覚体験は改善され得る。
場合(3)で、電子機器は、複数のアプリケーションのうちの一部の予めセットされたレイヤのレンダリングが終わるときに、レンダリングされたレイヤに対してレイヤ組み立てを実行して、第1画像フレームを取得し得る。
例えば、フォーカスアプリケーション、又は電子機器のフルエンシに密接に関連したアプリケーションなどのアプリケーションの予めセットされたレイヤのレンダリングが終わるとき、電子機器は、電子機器によってレンダリングされた1つ以上の第1レイヤに対してレイヤ組み立て実行して第1画像フレームを取得し得る。予めセットされたレイヤは、フォーカスアプリケーション、又は電子機器のフルエンシに密接に関連したアプリケーションなどのアプリケーションのために電子機器によって描画された1つ以上の第1レイヤの中で、表示スクリーンの面積に対するレイヤ面積の比が予めセットされた比率閾値よりも大きいレイヤであってよい。代替的に、予めセットされたレイヤは、フォーカスアプリケーション、キーアプリケーション、又は電子機器のフルエンシに密接に関連したアプリケーションなどのアプリケーションのために電子機器によって描画された1つ以上の第1レイヤの中で、電子機器によって受け取られたユーザタッチ操作に対応するレイヤ、つまり、実際の焦点が合わせられているレイヤであってよい。代替的に、予めセットされたレイヤは、フォーカスアプリケーション、キーアプリケーション、電子機器のフルエンシに密接に関連したアプリケーションなどのアプリケーションのために電子機器によって描画された1つ以上の第1レイヤの中で、電子機器のフルエンシに密接に関連したアプリケーションであってもよい。
例えば、フォーカスアプリケーションの予めセットされたレイヤが一例として使用される。上記の例を参照して、アプリケーションaがフォーカスアプリケーションであることが仮定される。図6Dに示されるように、電子機器は、時間t15でアプリケーションaのための「レンダリングa」を完了し、時間t6でアプリケーション1のための「レンダリング1」を完了する。電子機器は、時間t15より前の時間t17で「レンダリングa」の中の予めセットされたレイヤのレンダリングを完了している。「レンダリングa」は、「レンダリングa1」及び「レンダリングa2」を含んでもよい。「レンダリングa1」は、「レンダリングa」における予めセットされたレイヤのレンダリングである。従って、図6Dに示されるように、電子機器は、時間t17でレイヤ組み立てを実行し(つまり、「画像フレーム組み立てa1」を実行し)、すなわち、「レンダリングa1」によって実行された予めセットされたレイヤに対してレイヤ組み立てを実行し得る。他の例として、図6Cに示されるように、電子機器は、時間t16でアプリケーションaのための「レンダリングb」を完了し、時間t6でアプリケーション1のための「レンダリング2」を完了する。電子機器は、時間t16より前の時間t18で「レンダリングb」の中の予めセットされたレイヤのレンダリングを完了している。「レンダリングb」は、「レンダリングb1」及び「レンダリングb2」を含んでもよい。「レンダリングb1」は、「レンダリングb」における予めセットされたレイヤのレンダリングである。従って、電子機器は、時間t18でレイヤ組み立てを実行し(つまり、「画像フレーム組み立て1+a2+b1」を実行し)、すなわち、「レンダリング1」、「レンダリングa2」、及び「レンダリングb1」によって実行された予めセットされたレイヤに対してレイヤ組み立てを実行し得る。
アプリケーションaはフォーカスアプリケーションであるから、ユーザはアプリケーションaのインターフェースの変化により注意を払う、と理解され得る。フォーカスアプリケーションのインターフェースの変化は、予めセットされたレイヤのレンダリングレイヤの変化において主に反映される。すなわち、ユーザは、電子機器のフルエンシに対するフォーカスアプリケーションの予めセットされたレイヤの変化の影響により注意を払う。上記の例では、電子機器は、時間t17で「画像フレーム組み立てa1」を実行し、時間t18で「画像フレーム表示1+a2+b1」を実行する。フォーカスアプリケーションaの予めセットされたレイヤのレンダリングレイヤの変化もインターフェース上で反映され得る。従って、電子機器のフルエンシに対するユーザの視覚体験は改善され得る。
留意されるべきは、本願のこの実施形態において、アプリケーション若しくはレイヤの重要性又は電子機器のフルエンシに対する影響は、予めセットされた優先情報を(例えば、研究室で)測定及び認識又は(例えば、開発中に)適用することによって認識及び比較を通じて取得されてもよく、あるいは、ユーザの行動、注意の集中、などを解析及び予測することによって取得されてもよい。本願のこの実施形態において、電子機器によるアプリケーションの重要性及び電子機器のフルエンシに対するアプリケーションの影響を決定する具体的な方法は、ここで限定されない。
実施例(1)を参照して、この実施形態では、電子機器は、レイヤの描画、レンダリング、及び組み立てのために電子機器によって必要とされる存続期間を短縮するために、電子機器のハードウェアリソースに対してポジティブスケジューリングを更に実行し得る。具体的に、電子機器は、レイヤ描画、レイヤレンダリング、及び/又はレイヤ組み立てのために電子機器によって必要とされる存続期間を短縮するよう次のハードウェアリソーススケジューリングのうちの1つ以上を実行し得る。ポジティブスケジューリングは、電子機器のプロセッサの動作周波数を増大させること、方法を実行するラージコアプロセッサを選択すること、及び電子機器のメモリの動作周波数を増大させることを含んでもよい。プロセッサは、CPU及び/又はGPUを含んでもよい。
プロセッサの動作周波数がより高い場合には、プロセッサの計算速度は高くなり、レイヤの描画、レンダリング、及び組み立てのために電子機器によって必要とされる存続期間は短くなる、と理解され得る。加えて、ラージコアプロセッサの計算速度は、スモールコアプロセッサの計算速度よりも高い。電子機器のメモリの動作周波数がより高い場合には、電子機器のリード/ライト速度は高くなり、レイヤの描画、レンダリング、及び組み立てのために電子機器によって必要とされる存続期間は短くなる。レイヤの描画、レンダリング、及び組み立てのために電子機器によって必要とされる存続期間を短縮し、かつ、電子機器の応答レイテンシを短縮するために、電子機器は、電子機器のハードウェアリソースに対してポジティブスケジューリングを実行し得る。
電子機器によって電子機器のハードウェアリソースに対して実行されたポジティブスケジューリングは、レイヤの描画、レンダリング、及び組み立てのために電子機器によって必要とされる存続期間を短縮することができる。従って、電子機器が1つの同期周期でレイヤの描画、レンダリング、及び組み立てを完了する確率は高くなり、電子機器の応答レイテンシは短縮可能であり、電子機器は、電子機器のハードウェアリソースに対してポジティブスケジューリングを実行することができる。
実施において、電子機器は、レイヤ描画、レイヤレンダリング、及び/又はレイヤ組み立てのために電子機器によって必要とされる存続期間を短縮するよう、第1フレーム処理期間に基づき電子機器のハードウェアリソースに対してポジティブスケジューリングを実行し得る。第1フレーム処理期間がより長い場合に、電子機器のハードウェアリソースに対して電子機器によって実行されるポジティブスケジューリングの範囲はより大きい。例えば、電子機器がプロセッサの動作周波数を増大させると仮定すると、第1フレーム処理期間がより長い場合に、電子機器は、プロセッサの動作周波数を調整するときに、プロセッサの動作周波数をより高い周波数へと調整する。
他の実施においては、電子機器は、レイヤ描画、レイヤレンダリング、及び/又はレイヤ組み立てのために電子機器によって必要とされる存続期間を短縮するよう、第1測定周期における1つの同期周期で電子機器によってレイヤ描画、レイヤレンダリング、及びレイヤ組み立てを完了する回数又は確率に基づき、電子機器のハードウェアリソースに対してポジティブスケジューリングを実行してもよい。確率は、総回数に対する、第1測定周期における1つの同期周期で電子機器によってレイヤ描画、レイヤレンダリング、及びレイヤ組み立てを完了する回数の割合である。
第1測定周期における1つの同期周期で電子機器によってレイヤ描画、レイヤレンダリング、及びレイヤ組み立てを完了する回数がより少ないか、又は確率がより低い場合には、電子機器のハードウェアリソースに対して電子機器によって実行されるポジティブスケジューリングの範囲はより大きい。例えば、電子機器がプロセッサの動作周波数を増大させると仮定すると、第1測定周期における1つの同期周期で電子機器によってレイヤ描画、レイヤレンダリング、及びレイヤ組み立てを完了する回数がより少ないか、又は確率がより低い場合に、電子機器は、プロセッサの動作周波数を調整するときに、プロセッサの動作周波数をより高い周波数へと調整する。
他の実施においては、電子機器は、レイヤ描画、レイヤレンダリング、及び/又はレイヤ組み立てのために電子機器によって必要とされる存続期間を短縮するよう、電子機器のフォアグラウンドアプリケーションに基づき電子機器のハードウェアリソースに対してポジティブスケジューリングを実行してもよい。フォアグラウンドアプリケーションは、電子機器の表示スクリーンに現在表示されてるインターフェースに対応するアプリケーションであってよい。
複数のアプリケーションが電子機器にインストールされる可能性がある、ことが理解され得る。電子機器がフォアグラウンドで異なるアプリケーションを実行する場合に、異なる時間がレイヤの描画、レンダリング、及び組み立てのために必要とされる。電子機器が1つのフォアグラウンドアプリケーションを実行する場合に、レイヤの描画、レンダリング、及び組み立てに必要な時間がより長い場合には、電子機器のハードウェアリソースに対して電子機器によって実行されるポジティブスケジューリングの範囲はより大きい。本願のこの実施形態において、ハードウェアリソースに対してポジティブスケジューリングを実行するために使用される方法又はポリシーは、アプリケーションごとにセットされてもよい。
例えば、電子機器がプロセッサの動作周波数を増大させると仮定すると、電子機器がフォアグラウンドアプリケーションを実行する場合に、レイヤの描画、レンダリング、及び組み立てに必要な存続期間がより長いならば、電子機器は、プロセッサの動作周波数調整するときに、プロセッサの動作周波数をより高い周波数へと調整する。
他の実施においては、電子機器は、予めセットされた人工知能(artificial intelligence,AI)モデルのモデルコードを記憶してもよい。予めセットされたAIモデルは、「第1フレーム処理期間」、「第1測定周期における1つの同期周期で電子機器によってレイヤ描画、レイヤレンダリング、及びレイヤ組み立てを完了する回数又は確率」、又は「電子機器のフォアグラウンドアプリケーション」に基づき電子機器のハードウェアリソースに対してポジティブスケジューリングを実行して、単フレームでのレンダリング及び組み立ての確率を高める機能を備えているAIモデルである。予めセットされたAIモデルは、「第1フレーム処理期間」、「第1測定周期における1つの同期周期で電子機器によってレイヤ描画、レイヤレンダリング、及びレイヤ組み立てを完了する回数又は確率」、又は「電子機器のフォアグラウンドアプリケーション」に基づき複数回サンプルトレーニングを実行することによって取得される。単フレームでのレンダリング及び組み立ては、電子機器が1つの同期周期でレイヤの描画、レンダリング、及び組み立てを完了することを意味する。
電子機器は、予めセットされたAIのモデルコードを実行し、「第1フレーム処理期間」、「第1測定周期における1つの同期周期で電子機器によってレイヤ描画、レイヤレンダリング、及びレイヤ組み立てを完了する回数又は確率」、又は「電子機器のフォアグラウンドアプリケーション」に基づき電子機器のハードウェアリソースに対してポジティブスケジューリングを実行して、レイヤの描画、レンダリング、及び組み立てのために電子機器によって必要とされる存続期間を短縮し得る。従って、電子機器が1つの同期周期でレイヤの描画、レンダリング、及び組み立てを完了する確率は高められ得、電子機器の応答レイテンシは短縮可能であり、電子機器は、電子機器のハードウェアリソースに対してポジティブスケジューリングを実行することができる。
留意されるべきは、電子機器のハードウェアリソースに対して電子機器によってポジティブスケジューリングを実行する具体的な方法については、以下の実施形態における関連する記載を参照されたい。詳細は、本願のこの実施形態でここでは記載されない。
本願のこの実施形態では、応答レイテンシを短縮するために電子機器のハードウェアリソースに対して電子機器によって実行されるポジティブスケジューリングの効果が記載される。例えば、図7(b)は、電子機器が、電子機器のハードウェアリソースに対してポジティブスケジューリングを実行する前に、垂直同期信号に基づき画像処理を実行する時間シーケンスの概略図である。図8Aは、電子機器が、電子機器のハードウェアリソースに対してポジティブスケジューリングを実行した後に、垂直同期信号に基づき画像処理を実行する時間シーケンスの概略図である。図7(b)を図8Aと比較することによって、次のことが結論づけられ得る。
電子機器は、図7(b)に示されるように、時間t1で「描画1」及び「レンダリング1」実行し始め、時間t9で「レンダリング1」を完了する。電子機器は、図8Aに示されるように、時間t1で「描画1」及び「レンダリング1」を実行し始め、時間t9より前の時間t12で「レンダリング1」を完了する。すなわち、図8Aに示される、「描画1」及び「レンダリング1」のために電子機器によって必要とされる存続期間は、図7(b)に示される、「描画1」及び「レンダリング1」のために電子機器によって必要とされる存続期間よりも短い。図8Aに示される、「画像フレーム組み立て1」のために電子機器によって必要とされる存続期間は、図7(b)に示される、「画像フレーム組み立て1」のために電子機器によって必要とされる存続期間よりも短い。
電子機器は、図7(b)に示されるように、時間t2で「描画2」及び「レンダリング2」実行し始め、時間t10で「レンダリング2」を完了する。電子機器は、図8Aに示されるように、時間t2で「描画2」及び「レンダリング2」を実行し始め、時間t10より前の時間t13で「レンダリング2」を完了する。すなわち、図8Aに示される、「描画2」及び「レンダリング2」のために電子機器によって必要とされる存続期間は、図7(b)に示される、「描画2」及び「レンダリング2」のために電子機器によって必要とされる存続期間よりも短い。図8Aに示される、「画像フレーム組み立て2」のために電子機器によって必要とされる存続期間は、図7(b)に示される、「画像フレーム組み立て2」のために電子機器によって必要とされる存続期間よりも短い。
電子機器は、図7(b)に示されるように、時間t3で「描画3」及び「レンダリング3」実行し始め、時間t11で「レンダリング3」を完了する。電子機器は、図8Aに示されるように、時間t3で「描画3」及び「レンダリング3」を実行し始め、時間t11より前の時間t14で「レンダリング3」を完了する。すなわち、図8Aに示される、「描画3」及び「レンダリング3」のために電子機器によって必要とされる存続期間は、図7(b)に示される、「描画3」及び「レンダリング3」のために電子機器によって必要とされる存続期間よりも短い。図8Aに示される、「画像フレーム組み立て3」のために電子機器によって必要とされる存続期間は、図7(b)に示される、「画像フレーム組み立て3」のために電子機器によって必要とされる存続期間よりも短い。
まとめると、電子機器は、レイヤの描画、レンダリング、及び組み立てのために電子機器によって必要とされる存続期間を短縮することができる。従って、電子機器が1つの同期周期でレイヤの描画、レンダリング、及び組み立てを完了する確率は、高められ得る。例えば、図8Aに示されるように、電子機器は、時間t1から時間t2までの同期周期(つまり、Tz)で「描画1」、「レンダリング1」、及び「画像フレーム組み立て1」を完了し、時間t2からt3までの同期周期(つまり、Tz)で「描画2」、「レンダリング2」、及び「画像フレーム組み立て2」を完了し、時間t3から時間t4までの同期周期(つまり、Tz)で「描画3」、「レンダリング3」、及び「画像フレーム組み立て3」を完了し得る。
この実施形態では、電子機器のハードウェアリソースに対して電子機器によってスケジューリング(例えば、ポジティブスケジューリング又はネガティブスケジューリング)を実行する具体的な条件が記載される。具体的に言えば、電子機器は、次の条件の下で電子機器のハードウェアリソースをスケジューリングし得る。
(1)電子機器は、第1測定周期内の第1フレーム処理期間が予めセットされた単フレーム期間よりも長い場合に、電子機器のハードウェアリソースに対してポジティブスケジューリングを実行する。
本願のこの実施形態において、予めセットされた単フレーム期間は、同期周期Tzよりも短いか又はそれと等しい。例えば、予めセットされた単フレーム期間は、同期周期Tzと予めセットされたレイテンシ閾値との間の差であってもよい。予めセットされたレイテンシ閾値は、0ms以上である。例えば、予めセットされたレイテンシ閾値は0ms、1ms、2ms、1.5ms、又は3msであってよい。例えば、同期周期Tz=16.667msであり、予めセットされたレイテンシ閾値が1msであることが仮定される。予めセットされた単フレーム期間は15.667msであってよい。
第1測定周期(つまり、現時点より前の測定周期)における第1フレーム処理期間が予めセットされた単フレーム期間よりも長い場合に、それは、電子機器が、第1測定周期内の1つの同期周期でレイヤの描画、レンダリング、及び組み立てを完了することができないことを示す。従って、電子機器は、レイヤの描画、レンダリング、及び組み立てのために電子機器によって必要とされる存続期間を短縮し、かつ、電子機器が1つの同期周期でレイヤの描画、レンダリング、及び組み立てを完了する確率を高めるよう、電子機器のハードウェアリソースに対してポジティブスケジューリングを実行してもよい。
(2)電子機器が電子機器のハードウェアリソースに対してポジティブスケジューリングを実行した後に、電子機器のスクリーンリフレッシュレートが予めセットされたリフレッシュレート閾値よりも大きい場合に、電子機器は、表示スクリーンの画像表示におけるフレーム損失現象を回避しかつ表示スクリーンの画像表示のフルエンシを確かにしながら、電子機器の電力消費量を減らすよう、電子機器のハードウェアリソースに対してネガティブスケジューリングを実行してもよい。
本願のこの実施形態において、電子機器のスクリーンリフレッシュレートが予めセットされたリフレッシュレート閾値よりも大きい場合に、電子機器は高いリフレッシュレートにあると言われることがある。例えば、予めセットされたリフレッシュレート閾値は、80Hz、90Hz、又は85Hzであってよい。
一般に、電子機器が高いスクリーンリフレッシュレートにある場合には、その高いスクリーンリフレッシュレートに合うように、電子機器は、電子機器のフレームレートを増大させ、表示スクリーンの画像表示でのフレーム損失現象を回避し、かつ、表示スクリーンの画像表示のフルエンシを確かにするよう、デフォルトで電子機器のハードウェアリソースに対してポジティブスケジューリングを実行してもよい。しかし、スクリーンリフレッシュレートが高い場合に、電子機器のハードウェアリソースに対してポジティブスケジューリングを実行することは、電子機器の電力消費量を大幅に増大させる。
本願のこの実施形態において、電子機器が電子機器のハードウェアリソースに対してポジティブスケジューリングを実行した後に、電子機器が高いスクリーンリフレッシュレートにある場合には、電子機器が垂直同期信号1に応答してレイヤの描画、レンダリング、及び組み立てを実行する解決法を参照して、電子機器は、ハードウェアリソースに対して大幅にポジティブスケジューリングを実行する必要がなく、あるいは、電子機器は、ハードウェアリソースに対してポジティブスケジューリングを実行する必要がない。電子機器が2つの同期周期でレイヤの描画、レンダリング、及び組み立てを完了することができる限りは、表示スクリーンの画像表示でのフレーム損失現象は回避可能であり、表示スクリーンの画像表示のフルエンシは確保可能である。この場合に、電子機器は、表示スクリーンの画像表示でのフレーム損失現象を回避しかつ表示スクリーンの画像表示のフルエンシを確かにしながら、電子機器の負荷を減らすよう、ハードウェアリソースに対してネガティブスケジューリングを実行してもよい。
例えば、ネガティブスケジューリングは、電子機器のプロセッサの動作周波数を低減させること、方法を実行するスモールコアプロセッサを選択すること、及び電子機器のメモリの動作周波数を低減させることを含んでもよい。プロセッサはCPU及び/又はGPUを含んでもよい。
まとめると、電子機器は、電子機器のスクリーンリフレッシュレートが予めセットされたリフレッシュレート閾値よりも大きい場合に、ハードウェアリソースに対してネガティブスケジューリングを実行し得る。従って、スクリーンリフレッシュレートが高い表示システムについては、表示スクリーンの画像表示でのフレーム損失現象が回避可能であるだけではなく、表示スクリーンの画像表示のフルエンシも確保可能である。加えて、電子機器によってハードウェアリソーススケジューリングを実行する閾値は下げられ得、それにより、高いスクリーンリフレッシュレートに合うフレームレートが供給され、一方で、必要とされるハードウェアリソースが少なくなり、ユーザは、高いスクリーンリフレッシュレートでのフレーム損失を伴わないユーザ経験を提供される。
更に、電子機器が電子機器のハードウェアリソースに対してポジティブスケジューリングを実行した後に、電子機器のスクリーンリフレッシュレートが予めセットされたリフレッシュレート閾値よりも大きい場合には、電子機器は、第1フレーム処理期間が予めセットされたデュアルフレーム期間よりも長いならば、電子機器のハードウェアリソースに対してネガティブスケジューリングを実行して、表示スクリーンの画像表示でのフレーム損失現象を回避しかつ表示スクリーンの画像表示のフルエンシを確かにしながら電子機器の電力消費量を低減し得る。
予めセットされたデュアルフレーム期間は、予めセットされた単フレーム期間よりも長い。例えば、予めセットされたデュアルフレーム期間は、予めセットされた単フレーム期間よりも長く、垂直同期信号3の信号周期(つまり、上記の同期周期)の3倍以下であってよい。Kは、2以上である。例えば、Kは2又は2.5であってもよい。例えば、K=2であると仮定すると、予めセットされた単フレーム期間が11.1msであるとき、予めセットされたデュアルフレーム期間は22.2msになる。
第1フレーム処理期間が予めセットされたデュアルフレーム期間よりも長い場合に、それは、電子機器が2つの同期周期でレイヤの描画、レンダリング、及び組み立てを完了することができないことを示す。この場合に、図7(a)に示されるフレーム損失現象が起こる可能性がある。表示スクリーンの画像表示でのフレーム損失現象を回避しかつ表示スクリーンの画像表示のフルエンシを確かにするために、電子機器は、電子機器が2つの同期周期でレイヤの描画、レンダリング、及び組み立てを完了する確率を高めるよう電子機器のハードウェアリソースに対してネガティブスケジューリングを実行し得る。
実施例(1)と比較して、この実施形態では、S401を実行する前に、電子機器は最初に、レイヤの描画、レンダリング、及び組み立てのために電子機器によって必要とされる存続期間が予めセットされた単フレーム期間(予めセットされた単フレーム期間は上記の同期周期よりも短い)以下であるかどうかを予測してもよい。予測された時間が予めセットされた単フレーム期間よりも短いか又はそれと等しい場合には、それは、電子機器が1つの同期周期でレイヤの描画、レンダリング、及び組み立てを完了する確率が比較的に高いことを示す。電子機器は、この場合にのみ、S401及びS402を実行する。具体的に、図8Bに示されるように、図4に示されるS401の前に、本願のこの実施形態は、S801からS803を更に含んでもよい。
S801.電子機器は、第1測定周期内の第1フレーム処理期間が予めセットされた単フレーム期間以下であるかどうかを決定する。
第1フレーム処理期間は、第1フレームレンダリング期間と第1SFフレーム期間との和である。第1フレームレンダリング期間は、レイヤを描画し、その描画されたレイヤをレンダリングするのに必要な存続期間である。第1SFフレーム期間は、レンダリングされたレイヤに対してレイヤ組み立てを実行するのに必要な存続期間である。
例えば、電子機器は、次の実施(i)及び実施(ii)で第1フレーム処理期間を決定してもよい。
実施(i):電子機器は、1つ以上のアプリケーションの中のフォーカスアプリケーションに対応する第1フレームレンダリング期間と、電子機器による1つ以上のアプリケーションに対応する第1SFフレーム期間とに基づいて、第1フレーム処理期間を決定する。フォーカスアプリケーションは、電子機器によって受け取られたユーザタッチ操作に対応するアプリケーションである。第1フレームレンダリング期間は、レイヤを描画し、その描画されたレイヤをレンダリングするのに必要な存続期間である。
例えば、1つ以上のアプリケーションは、アプリケーションa、アプリケーションb、及びアプリケーションcを含むことが仮定され、ここで、アプリケーションaがフォーカスアプリケーションである。アプリケーションaの第1フレームレンダリング期間aは、アプリケーションaのためのレイヤを描画し、その描画されたレイヤをレンダリングするために電子機器によって必要とされる存続期間である。アプリケーションbの第1フレームレンダリング期間bは、アプリケーションbのためのレイヤを描画し、その描画されたレイヤをレンダリングするために電子機器によって必要とされる存続期間である。アプリケーションcの第1フレームレンダリング期間cは、アプリケーションcのためのレイヤを描画し、その描画されたレイヤをレンダリングするために電子機器によって必要とされる存続期間である。第1SFフレーム期間xは、アプリケーションaのためにレンダリングされたレイヤと、アプリケーションbのためにレンダリングされたレイヤと、アプリケーションcのためにレンダリングされたレイヤとに対してレイヤ組み立てを実行するために電子機器によって必要とされる存続期間である。
電子機器は、フォーカスアプリケーションaの第1フレームレンダリング期間a及び第1SFフレーム期間xに基づき第1フレーム処理期間を決定し得る。例えば、第1フレーム処理期間は、第1フレームレンダリング期間aと第1SFフレーム期間xとの和である。
実施(ii):電子機器は、1つ以上のアプリケーションの全てに対応する第1フレームレンダリング期間の中で最も長い第1フレームレンダリング期間と、電子機器による1つ以上のアプリケーションに対応する第1SFフレーム期間とに基づいて、第1フレーム処理期間を決定する。
上記の例を参照して、第1フレームレンダリング期間b>第1フレームレンダリング期間a>第1フレームレンダリング期間cと仮定すると、電子機器は、第1フレームレンダリング期間b及び第1SFフレーム期間xに基づき第1フレーム処理期間を決定し得る。例えば、第1フレーム処理期間は、第1フレームレンダリング期間bと第1SFフレーム期間xとの和である。
例えば、電子機器は、各測定周期で第1フレーム処理期間を周期的に測定してもよい。第1測定周期は、現時点より前の測定周期、つまり先の測定周期である。例えば、本願のこの実施形態における測定周期は、1s、2s、3s、又は5sのいずれかの存続期間であってよい。例えば、電子機器は、第1測定周期内の第1フレーム処理期間を取得するためにS801a及びS801bを実行してもよい。
S801a.電子機器は、第1測定周期内の1つ以上の第2フレーム処理期間を取得し、ここで、各第2フレーム処理期間は、第2フレームレンダリング期間と第2SFフレーム期間との和である。
電子機器は、第1測定周期において毎回レイヤの描画及びレンダリングに必要とされる存続期間(つまり、第2フレームレンダリング期間)と、レンダリングされた画像に対するレイヤ組み立てに必要とされる存続期間(つまり、第2SFフレーム期間)とを測定し、第2フレームレンダリング期間と対応する第2SFフレーム期間との和を計算して合計期間(つまり、毎回レイヤの描画、レンダリング、及び組み立てに必要とされる第2フレーム処理期間)を取得し得る。
例えば、電子機器は、第1測定周期において3回レイヤの描画、レンダリング、及び組み立てを実行する、ことが仮定される。レイヤaを描画し、レイヤaをレンダリングするために電子機器によって必要とされる存続期間は、第2フレームレンダリング期間aであり、レンダリングされたレイヤaに対するレイヤ組み立てのために電子機器によって必要とされる存続期間は、第2SFフレーム期間aである。レイヤbを描画し、レイヤbをレンダリングするために電子機器によって必要とされる存続期間は、第2フレームレンダリング期間bであり、レンダリングされたレイヤbに対するレイヤ組み立てのために電子機器によって必要とされる存続期間は、第2SFフレーム期間bである。レイヤcを描画し、レイヤcをレンダリングするために電子機器によって必要とされる存続期間は、第2フレームレンダリング期間cであり、レンダリングされたレイヤcに対するレイヤ組み立てのために電子機器によって必要とされる存続期間は、第2SFフレーム期間cである。電子機器は、第2フレーム処理期間aを取得するよう第2フレームレンダリング期間aと第2SFフレーム期間aとの和を計算し、第2フレーム処理期間bを取得するよう第2フレームレンダリング期間bと第2SFフレーム期間bとの和を計算し、第2フレーム処理期間cを取得するよう第2フレームレンダリング期間cと第2SFフレーム期間cとの和を計算し得る。このようにして、電子機器は、第1測定周期内の3つの第2フレーム処理期間を取得することができる。
S801b.電子機器は、1つ以上の第2フレーム処理期間に基づき第1測定周期内の第1フレーム処理期間を決定する。
実施において、1つ以上の第2フレーム処理期間は、ただ1つの第2フレーム処理期間しか含まない。この実施では、第1フレーム処理期間は第2フレーム処理期間と等しい。
実施において、1つ以上の第2フレーム処理期間は、複数の第2フレーム処理期間を含んでもよい。第1フレーム処理期間は、複数の第2フレーム処理期間の平均値である。上記の例を参照して、第1測定周期内の第1フレーム処理期間は、第2フレーム処理期間aと、第2フレーム処理期間bと、第2フレーム処理期間cとの平均値であってもよい。
他の実施においては、1つ以上の第2フレーム処理期間は、複数の第2フレーム処理期間を含んでもよい。第1フレーム処理期間は、複数の第2フレーム処理期間の中で最も長い第2フレーム処理期間である。上記の例を参照して、第1測定周期内の第1フレーム処理期間は、第2フレーム処理期間a、第2フレーム処理期間b、及び第2フレーム処理期間cの中の最小の1つであってよい。
第1測定周期内(つまり、現時点より前の測定周期)の第1フレーム処理期間が予めセットされた単フレーム期間よりも短いか又はそれと等しい場合に、それは、電子機器が、第1測定周期内の1つの同期周期でレイヤの描画、レンダリング、及び組み立てを完了することができることを示す、ことが理解され得る。この場合に、第1測定周期の次の測定周期(つまり、現時点が位置している測定周期)では、電子機器が1つの同期周期でレイヤの描画、レンダリング、及び組み立てを完了する確率が比較的に高い。この場合に、電子機器はS401を実行し得る。
留意されるべきは、本願のこの実施形態において、電子機器が1つの同期周期でレイヤの描画、レンダリング、及び組み立てを実行することは、電子機器が垂直同期信号1に応答して第1同期周期内で1つ以上の第1レイヤを描画し、1つ以上の第1レイヤをレンダリングし、1つ以上の第1レイヤをレンダリングした後に、レンダリングされた1つ以上の第1レイヤに対してレイヤ組み立てを実行して第1画像フレームを取得することを特定に含んでもよいことである。第1同期周期は、垂直同期信号1に対応する同期周期である。例えば、第1同期周期は、図6A(b)に示される、時間t1から時間t2までの同期周期Tzであってもよい。すなわち、本願のこの実施形態において、電子機器は、レイヤの描画及びレンダリングが実行される1つの同期周期(つまり、第1同期周期)でレイヤ組み立てを開始し得る。
第1測定周期(つまり、現時点より前の測定周期)内の第1フレーム処理期間が予めセットされた単フレーム期間よりも長い場合に、それは、電子機器が第1測定周期内の1つの同期周期でレイヤの描画、レンダリング、及び組み立てを完了することができないことを示す。この場合に、第1測定周期の次の測定周期(つまり、現時点が位置している測定周期)では、電子機器が1つの同期周期でレイヤの描画、レンダリング、及び組み立てを完了する確率が比較的に低い。この場合に、電子機器はS802及びS802を実行し得る。
S802.電子機器は、垂直同期信号1に応答して1つ以上の第1レイヤを描画し、1つ以上の第1レイヤをレンダリングする。
S803.垂直同期信号2に応答して、電子機器は、レンダリングされた1つ以上の第1レイヤに対してレイヤ組み立てを実行して第1画像フレームを取得する。
具体的に、垂直同期信号2に応答して、電子機器は、第2同期周期で、レンダリングされた1つ以上の第1レイヤに対してレイヤ組み立てを実行して第1画像フレームを取得し得る。第2同期周期は、第1同期周期とは異なる。例えば、図6A(a)に示されるように、第1同期周期は、時間t1から時間t2までの同期周期Tzであってよい。第2同期周期は、時間t2から時間t3までの同期周期Tzであってよい。
例えば、第1測定周期内の第1フレーム処理期間が予めセットされた単フレーム期間よりも長い場合に、図6A(a)に示されるように、電子機器は、時間t6ではレイヤ組み立て(つまり、画像フレーム組み立て)を実行せず、時間t2での垂直同期信号2が到着した後に、時間t2での垂直同期信号2に応答してレイヤ組み立てを実行する。
本願のこの実施形態において、電子機器は、レイヤの描画、レンダリング、及び組み立てのために電子機器によって必要とされる存続期間が予めセットされ単フレーム期間以下であることが予測される場合にのみ、垂直同期信号1に応答して1つ以上の第1レイヤを描画及びレンダリングしてもよく、そして、1つ以上の第1レイヤをレンダリングした後に、電子機器は、レンダリングされた1つ以上の第1レイヤに対してレイヤ組み立てを実行して第1画像フレームを取得し得る。従って、レイヤ組み立てが前もって実行され得るだけで、電子デバイスの応答レイテンシが第2の場合に短縮され得ないという現象の確率は、低減され得る。
この実施形態では、上記の実施形態のうちのいずれか1つで垂直同期信号に基づき電子機器によって画像処理の方法を実行する条件が、記載される。具体的に、電子機器が上記の方法を実行することができる条件又は環境は、この実施形態で記載され得る。
電子機器は、加速されたレンダリングモードで本願のこの実施形態における方法、例えば、S401及びS402、並びにその関連ステップを実行し得る。具体的に、S401の前に、本願のこの実施形態における方法は、S901を更に含んでもよい。例えば、図9に示されるように、図4に示されるS401の前に、本願のこの実施形態における方法は、S901を更に含んでもよい。
S901.電子機器は、第1イベントに応答して、加速されたレンダリングモードを開始する。
加速されたレンダリングモードを開始した後、かつ、1つ以上の第1レイヤのレンダリングが終わった後の最初の垂直同期信号2が到着する前に、電子機器は、画像フレームを取得するよう、レンダリングされたレイヤに対してレイヤ組み立てを実行し始めてよい。
例えば、本願のこの実施形態において、第1イベントは、次の2つの実施:実施(I)及び実施(II)を使用することによって、ここで説明される。
実施(I)で、第1イベントは、電子機器がユーザの第1操作を受け取ることであってよい。第1操作は、加速されたレンダリングモードを開始するよう電子機器をトリガするために使用される。
例えば、電子機器は携帯電話機1001である。図10(a)に示されるように、第1操作は、携帯電話機1001によって表示されている設定インターフェース1002上の「加速レンダリング」オプション1003に対してユーザによって実行されたタップ操作であってもよい。第1操作は、加速されたレンダリングモードを開始するよう携帯電話機1001をトリガすべく、「加速レンダリング」オプション1003を有効にするために使用される。
他の例として、図10(b)に示されるように、第1操作は、携帯電話機1001によって表示されている通知バー1004の「加速レンダリング」ボタン1005に対してユーザによって実行されたタップ操作であってもよい。第1操作は、加速されたレンダリングモードを開始するよう携帯電話機1001をトリガすべく、「加速レンダリング」ボタン1005を有効にするために使用される。
実施(II)で、第1イベントは、第1測定周期内の第1フレーム処理期間が予めセットされた単フレーム期間よりも短いか又はそれと等しいことであってよい。第1測定周期、予めセットされた単フレーム期間、及び予めセットされた単フレーム期間よりも短いか又はそれと等しい第1フレーム処理期間の詳細な説明については、上記の実施形態における関連する内容を参照されたい。詳細は、本願のこの実施形態でここでは記載されない。
更に、電子機器は、加速されたレンダリングモードから出てもよい。電子機器が加速されたレンダリングモードから出た後、電子機器は、垂直同期信号2に応答してのみレイヤ組み立てを実行することができる。具体的に、本願のこの実施形態における方法は、S902からS905を更に含んでもよい。例えば、図9に示されるように、本願のこの実施形態における方法は、S902からS905を更に含んでもよい。
S902.電子機器は、第2イベントに応答して、加速されたレンダリングモードから出る。
例えば、本願のこの実施形態において、第2イベントは、次の2つの実施:実施(a)及び実施(b)を使用することによって、ここで説明される。
実施(a)で、第2イベントは、電子機器がユーザの第2操作を受け取ることであってよい。第2操作は、加速されたレンダリングモードから出るよう電子機器をトリガするために使用される。
第2操作は第1操作に対応する。例えば、第2操作は、加速されたレンダリングモードを開始するためにユーザの第1操作に応答して「加速レンダリング」オプション1003又は「加速レンダリング」ボタン1005を有効にした後に、電子機器が、「加速レンダリング」オプション1003又は「加速レンダリング」ボタン1005に対してユーザによって実行されたタップ操作を受け取ることであってもよい。第2操作に応答して、携帯電話機1001は、加速されたレンダリングモードから出るか又はそれを無効にするために、「加速レンダリング」オプション1003又は「加速レンダリング」ボタン1005を無効にし得る。
実施(b)で、第2イベントは、第1測定周期内の第1フレーム処理期間が予めセットされた単フレーム期間よりも長いことであってよい。第1測定周期、予めセットされた単フレーム期間、及び予めセットされた単フレーム期間よりも長いか又はそれと等しい第1フレーム処理期間の詳細な説明については、上記の実施形態における関連する内容を参照されたい。詳細は、本願のこの実施形態でここでは記載されない。
S903.電子機器は、垂直同期信号1に応答して1つ以上の第2レイヤを描画し、1つ以上の第2レイヤをレンダリングする。
S904.垂直同期信号2に応答して、電子機器は、第2画像フレームを取得するよう、レンダリングされた1つ以上の第2レイヤに対してレイヤ組み立てを実行する。
加速されたレンダリングモードから出た後、かつ、1つ以上の第1レイヤのレンダリングが終わった後の最初の垂直同期信号2が到着する前に、電子機器は、レンダリングされた第2レイヤに対してレイヤ組み立てを実行し始めることができない。代わりに、電子機器は、垂直同期信号2の到着を待つ必要があり、垂直同期信号2に応答して、電子機器は、第2画像フレームを取得するよう、レンダリングされた第2フレームに対してレイヤ組み立てを実行する。
例えば、図6A(a)に示されるように、電子機器は、時間t6ではレイヤ組み立て実行しない。代わりに、電子機器は、時間t2での垂直同期信号2の到着を待った後にのみ、時間t2での垂直同期信号2に応答して、レンダリングされたレイヤに対してレイヤ組み立てを実行して画像フレームを取得することができる。
S905.電子機器は、垂直同期信号3に応答して第2画像フレームをリフレッシュ及び表示する。
本願のこの実施形態において、電子機器は、ユーザの操作に応答して、加速されたレンダリングモードを開始してもよく、あるいは、測定周期でのレイヤの描画、レンダリング、及び組み立てのために電子機器によって必要とされる存続期間に基づき、加速されたレンダリングモードを自動的に開始してもよい。
留意されるべきは、加速されたレンダリングモードは、電子デバイスが本願のこの実施形態における方法を実行する動作モードの名称にすぎないことである。加速されたレンダリングモードはまた、他の名称を有してもよい。これは、本願のこの実施形態において限定されない。例えば、加速されたレンダリングモードはまた、加速されたレンダリング及び組み立てモード、又は加速された組み立てモードとも呼ばれ得る。
上記の実施形態を参照して、本願の実施形態における方法は、この実施形態で更に説明される。具体的に、電子機器は、各測定周期において第1フレーム処理期間を周期的に取得し得る。1つの測定周期(例えば、第1測定周期)内の第1フレーム処理期間が予めセットされた単フレーム期間よりも長い場合には、それは、電子機器が1つの同期周期でレイヤの描画、レンダリング、及び組み立てを完了する確率が比較的に低いことを示す。この場合に、この実施形態では、電子機器は、レイヤ描画、レイヤレンダリング、及び/又はレイヤ組み立てのために電子機器によって必要とされる存続期間を短縮するために、電子機器のハードウェアリソースに対してポジティブスケジューリングを実行してもよい。従って、電子機器が1つの同期周期でレイヤの描画、レンダリング、及び組み立てを完了する確率は、高められ得る。本願のこの実施形態において、ハードウェアリソースに対して電子機器によってポジティブスケジューリングを実行する具体的な方法は、電子機器が電子機器のプロセッサの動作周波数を増大させる例を使用することによって、記載される。
具体的に、本願のこの実施形態における方法は、S1101からS1104を更に含んでもよい。例えば、図11に示されるように、本願のこの実施形態における方法は、S1101からS1104を更に含んでもよい。
S1101.電子機器は、第1測定周期内の第1フレーム処理期間を取得する。
電子機器は、第1測定周期内の第1フレーム処理期間を取得するよう、第1測定周期の経過に応答してS801a及びS801bを実行してもよい。
S1102.電子機器は、第1測定周期内の第1フレーム処理期間が予めセットされた単フレーム期間以下であるかどうかを決定する。
第1フレーム処理期間は、第1フレームレンダリング期間と第1SFフレーム期間との和である。第1フレームレンダリング期間は、レイヤを描画し、その描画されたレイヤをレンダリングするために必要な存続期間である。第1SFフレーム期間は、レンダリングされたレイヤに対してレイヤ組み立てを実行するために必要な存続期間である。
例えば、電子機器は、各測定周期において第1フレーム処理期間を周期的に測定し得る。第1測定周期は、現時点より前の測定周期である。例えば、本願のこの実施形態における測定周期は、1s、2s、3s、又は5sのいずれかの存続期間であってもよい。S1002の詳細な記載については、S801における関連する記載を参照されたい。詳細は、本願のこの実施形態で再びここでは記載されない。
プロセッサの動作周波数がより高い場合には、プロセッサの計算速度はより高く、レイヤの描画、レンダリング、及び組み立てのために電子機器によって必要とされる存続期間は短くなる。第1測定周期内の第1フレーム処理期間が予めセットされた単フレーム期間よりも短いか又はそれと等しい場合には、それは、プロセッサの動作周波数が、電子機器が1つの同期周期でレイヤの描画、レンダリング、及び組み立てを完了することを確かにするために十分であって、電子機器はプロセッサの動作周波数を更に増大させる必要がないことを示す。
第1測定周期内の第1フレーム処理期間が予めセットされた単フレーム期間よりも長い場合には、それは、プロセッサの動作周波数が比較的に低く、電子機器が1つの同期周期でレイヤの描画、レンダリング、及び組み立てを完了することを確かにするためには不十分であることを示し、電子機器はプロセッサの動作周波数を増大させてよい。例えば、電子機器は、プロセッサの動作周波数を増大させるようS1104を実行してもよい。ただし、電子機器は、プロセッサの現在の動作周波数がプロセッサの最大動作周波数よりも低い場合にのみ、プロセッサの動作周波数を増大させることができる。従って、図11に示されるように、S1102の後、第1測定周期内の第1フレーム処理期間が予めセットされた単フレーム期間よりも長い場合に、電子機器はS1103を実行してもよい。
S1103.電子機器は、プロセッサの現在の動作周波数がプロセッサの最大動作周波数よりも低いことを決定する。
具体的に、プロセッサの現在の動作周波数がプロセッサの最大動作周波数よりも低い場合に、電子機器はS1104を実行し得る。プロセッサの現在の動作周波数がプロセッサの最大動作周波数である場合には、電子機器はプロセッサの動作周波数を調整する必要がない。
S1104.電子機器は、プロセッサの動作周波数を増大させる。
例えば、本願のこの実施形態におけるプロセッサは、CPU及びGPUのうちの少なくとも1つを含んでもよい。プロセッサの動作周波数fの単位はヘルツ(Hz、略してHz)、キロヘルツ(kHz)、メガヘルツ(MHz)、又はギガヘルツ(GHz)であってよい。
実施において、電子機器は、第1の予めセットされたステップに基づいてプロセッサの動作周波数を増大させてもよい。例えば、第1の予めセットされたステップの単位は、Hz、kHz、又はMHzであってよい。第1の予めセットされたステップは、電子デバイスで事前設定され得る。代替的に、第1の予めセットされたステップは、電子デバイスでユーザによってセットされてもよい。
他の実施においては、電子機器は、第1フレーム処理期間と予めセットされた単フレーム期間との間の差に基づいてプロセッサの動作周波数を増大させてもよく、それにより、次の測定周期での第2フレーム処理期間は、予めセットされた単フレーム期間よりも短いか又はそれと等しい。この実施においては、電子機器によってプロセッサの動作周波数を調整する範囲は、差の値に比例する。すなわち、第1フレーム処理期間と予めセットされた単フレーム期間との間の差がより大きい場合には、電子機器によってプロセッサの動作周波数を調整する範囲はより大きい。第1フレーム処理期間と予めセットされた単フレーム期間との間の差がより小さい場合には、電子機器によってプロセッサの動作周波数を調整する範囲はより小さい。
いくつかの実施形態において、電子機器は、第1フレーム処理期間及び予めセットされた単フレーム期間に基づき、予めセットされたAIモデルを使用することによってプロセッサの動作周波数を調整してもよい。予めセットされたAIモデルは、大量のサンプルを訓練することによって取得される。予めセットされたAIモデルは、単フレームでのレンダリング及び組み立ての確率を高めるよう第1フレーム処理期間に基づきプロセッサの動作周波数を調整する機能を備えているAIモデルである。単フレームでのレンダリング及び組み立ては、電子機器が1つの同期周期でレイヤの描画、レンダリング、及び組み立てを完了することを意味する。
図11に示されるように、S1102の後、第1フレーム処理期間が予めセットされた単フレーム期間よりも短いか又はそれと等しい場合には、電子機器は、S401及びS402実行してもよく、あるいは、第1フレーム処理期間が予めセットされた単フレーム期間よりも長い場合には、電子機器は、S802、S803、及びS402を更に実行してもよい。
S1102の後、第1フレーム処理期間が予めセットされた単フレーム期間よりも長い場合に、電子機器はS1103を実行する。すなわち、電子機器がS1103を実行する場合に、第1フレーム処理期間は予めセットされた単フレーム期間よりも長く、電子機器が1つの同期周期でレイヤの描画、レンダリング、及び組み立てを完了する確率は比較的に低い。従って、S1103の後、電子機器の現在の動作周波数が最大動作周波数に等しい場合には、それは、たとえプロセッサが最大動作周波数で作動するとしても、電子機器が1つの同期周期でレイヤの描画、レンダリング、及び組み立てを完了する確率は比較的に低いことを示す。
この場合に、電子機器は、従来の解決法を使用することによってレイヤの描画、レンダリング、及び組み立てを実行してもよい。図11に示されるように、S1003の後、電子機器の現在の動作周波数が最大動作周波数に等しい場合に、電子機器は、S802、S803及びS402を実行し得る。
留意されるべきは、図11に示されるように、電子機器がS401及びS402を実行する場合には、電子機器は、加速されたレンダリングモードにあり、あるいは、電子機器がS802、S803及びS402を実行する場合には、電子機器は、加速されたレンダリングモードから出ていることである。
本願のこの実施形態において、第1フレーム処理期間が予めセットされた単フレーム期間よりも長い場合に、つまり、電子機器が1つの同期周期でレイヤの描画、レンダリング、及び組み立てを完了する確率が比較的に低い場合に、電子機器は、電子機器のプロセッサの動作周波数を増大させ得る。このようにして、プロセッサの計算速度は、レイヤの描画、レンダリング、及び組み立てのために電子機器によって必要とされる存続期間を短縮し、かつ、電子機器が1つの同期周期でレイヤの描画、レンダリング、及び組み立てを完了する確率を高めるよう、高められ得る。従って、電子機器が1つの同期周期でレイヤの描画、レンダリング、及び組み立てを完了することができる場合に、電子機器の応答レイテンシは1つの同期周期だけ短縮可能であり、電子機器のフルエンシ(例えば、タッチレイテンシ)は改善可能である。
電子機器のプロセッサは比較的に高い動作周波数を有しており、このことは、電子機器の計算速度を増大させかつレイヤの描画、レンダリング、及び組み立てのために電子機器によって必要とされる存続期間を短縮することができるが、プロセッサのより高い動作周波数は、より高い電力消費量を意味する、ことが理解され得る。本願のこの実施形態において、電子機器は更に、第1フレーム処理期間が予めセットされた条件を満足する場合に、プロセッサの動作周波数を低減してもよい。このように、電子機器の電力消費量は低減され得る。具体的に、本願のこの実施形態における方法は、S1201を更に含んでもよい。
S1201.第1フレーム処理期間が予めセットされた条件を満足する場合に、プロセッサの動作周波数を低減させる。
実施において、第1フレーム処理期間が予めセットされた条件を満足することは、第1フレーム処理期間が予めセットされた単フレーム期間よりも短いことを特に含んでもよい。
第1フレーム処理期間が予めセットされた単フレーム期間よりも短い場合に、それは、電子機器が1つの同期周期でレイヤの描画、レンダリング、及び組み立てを完了する確率が比較的に高いことを示す。この場合に、場合により、プロセッサの動作周波数は比較的に高いので、プロセッサの計算速度は相対的に高く、電子機器は1つの同期周期でレイヤの描画、レンダリング、及び組み立てを完了することができる。しかし、プロセッサの極端に高い動作周波数は、電子機器の相対的に高い電力消費量を引き起こす。従って、電子機器は、プロセッサの動作周波数を低減させる。
他の実施において、第1フレーム処理期間が予めセットされた条件を満足することは、第1フレーム処理期間が予めセットされた単フレーム期間よりも短く、かつ、予めセットされた単フレーム期間と第1フレーム処理期間との間の差が第1の予めセットされた存続期間よりも大きいことを特に含んでもよい。
第1フレーム処理期間が予めセットされた単フレーム期間よりも短く、予めセットされた単フレーム期間と第1フレーム処理期間との間の差が第1の予めセットされた存続期間よりも大きい場合には、それは、電子機器が1つの同期周期でレイヤの描画、レンダリング、及び組み立てを完了した後に、電子機器が垂直同期信号3の到着を一定期間待つ必要が更にある可能性があり、それから、垂直同期信号3に応答して、組み立てられた画像フレームをリフレッシュ及び表示することができることを示す。この場合に、プロセッサは、一般的に、比較的に高い周波数で作動する。電子機器の電力消費量を低減させるために、電子機器はプロセッサの動作周波数を低減させ得る。
本願のこの実施形態において、電子機器によってプロセッサの動作周波数を低減させる方法は、電子機器が第2の予めセットされたステップに基づきプロセッサの動作周波数を低減させることを含んでもよい。第2の予めセットされたステップは、第1の予めセットされたステップと等しくてもよい。代替的に、第2の予めセットされたステップは、第1の予めセットされたステップよりも小さくてもよい。
留意されるべきは、第2の予めセットされタップが第1の予めセットされたステップよりも小さい場合に、電子機器は、速い立ち上がり及び遅い立ち下がりの様態でプロセッサの動作周波数を調整し得る、ことである。このことは、電子機器が本願のこの実施形態における方法を実行し、電子機器のタッチ応答レイテンシを短縮し、電子機器のフルエンシ(例えば、タッチレイテンシ)を改善するのを助ける。
いくつかの実施形態において、プロセッサの動作周波数の調整中にピンポン現象を防ぐために、電子機器は、N個の連続した測定周期における第1フレーム処理期間が予めセットされた条件を満足する場合にのみ、プロセッサの動作周波数を低減させてもよい。例えば、図12に示されるように、図11に示されるS1102の後に、本願のこの実施形態における方法は、S1201a及びS1202を更に含んでもよい。
S1201a.電子機器は、N個の連続した測定周期における第1フレーム処理期間が予めセットされた条件を満足することを決定する。
N≧2であり、Nは正の整数である。例えば、Nは、5、4、3、2、又は6などの如何なる正の整数であってもよい。
例えば、N個の連続した測定周期における第1フレーム処理期間が予めセットされた条件を満足することを電子機器によって決定する方法は、1つの測定周期(例えば、測定周期1)内の第1フレーム処理期間が予めセットされた条件を満足する場合に、電子機器は、カウンタのカウント値に1を加えてよく、このとき、カウンタの初期カウント値は0であり、測定周期1の次の測定周期内の第1フレーム処理期間が予めセットされた条件を満足する場合に、電子機器は、カウンタのカウント値に1を加え、あるいは、測定周期1の次の測定周期内の第1フレーム処理期間が予めセットされた条件を満足しない場合に、電子機器は、カウンタのカウント値を0にリセットすることを含んでもよい。
任意に、いくつかの実施形態において、電子機器は、N個の連続した測定周期における第1フレーム処理期間が予めセットされた条件を満足することを決定する場合にのみ、加速されたレンダリングモードに入ってもよい。
S1202.電子機器は、プロセッサの動作周波数を低減させる。
留意されるべきは、この実施形態では、第1フレーム処理期間が予めセットされた条件を満足することと、電子機器によってプロセッサの動作周波数を低減させる方法とについては、上記の実施形態における関連する記載を参照されたい。詳細は、本願のこの実施形態で再びはここで記載されない。
本願のこの実施形態において、電子機器は、N個の連続した測定周期における第1フレーム処理期間が予めセットされた条件を満足する場合にのみプロセッサの動作周波数を低減させ得る。これは、プロセッサの動作周波数の調整中にピンポン現象を防ぐことだけでなく、プロセッサの動作周波数の調整中に速い立ち上がり及び遅い立ち下がりを実装することもできる。レイヤの描画、レンダリング、及び組み立てにおける電子機器のシステム安定性を確かにしながら、これは、電子機器が、電子機器のタッチ応答レイテンシを短縮し、かつ、電子機器のフルエンシ(例えば、タッチレイテンシ)を改善するよう、1つの同期周期でレイヤの描画、レンダリング、及び組み立てを完了する確率を高めることができる。
各測定周期で、長い存続期間が1つ以上のレイヤの描画及びレンダリング中にいくつかの特性点で消費される場合には、電子機器は、1つの同期周期でレイヤの描画、レンダリング、及び組み立てを完了することができない可能性がある。この場合に、電子機器は、加速されたレンダリングモードから出てもよい。それから、電子機器は、繰り返し発生する第1イベントに応答して、加速されたレンダリングモードを開始してもよい。
しかし、電子機器が加速されたレンダリングモードに入るたびに、フレーム損失が起こる。例えば、図6A(a)に示されるように、加速されたレンダリングモードに入る前に、電子機器は、時間t2での垂直同期信号2の到着を待ち、次いで、時間t2での垂直同期信号2に応答してのみレイヤ組み立て(つまり、画像フレーム組み立て)を実行することができ、電子機器は、時間t3での垂直同期信号3の到着を待ち、次いで、時間t3での垂直同期信号3に応答してのみ、組み立てられた画像フレームをリフレッシュ及び表示することができる。しかし、図6A(b)に示されるように、加速されたレンダリングモードに入った後、電子機器は、時間t7でレイヤ組み立て(つまり、画像フレーム組み立て)を実行してもよく、そして、時間t2での垂直同期信号3に応答して、組み立てられた画像フレームをリフレッシュ及び表示することができる。従って、電子機器が加速されたレンダリングモードに入る場合に、画像の1つのフレーム(つまり、1つの画像フレーム)が、電子機器が加速されたレンダリングモードに入る前の垂直同期信号2に応答して組み立てられ得る。電子機器が加速されたレンダリングモードに入った後、画像のそのフレームは、表示スクリーンによってリフレッシュ及び表示されず、フレーム損失が起こる。
1つの時折りのフレーム損失は表示スクリーンの表示効果に大きな影響を与えないので、ユーザの視覚体験に大きな影響を与えない、ことが理解され得る。しかし、電子機器が加速されたレンダリングモードに頻繁に出入りする場合には、フレーム損失現象は頻繁に起こる。頻繁なフレーム損失現象は、表示スクリーンの表示効果に影響を及ぼし、更にはユーザの視覚体験に影響を及ぼす。
いくつかの実施形態において、電子機器が加速されたレンダリングモードに頻繁に出入りすることを防ぐために、電子機器が加速されたレンダリングモードに入った後に、本願のこの実施形態における方法は、S1301を更に含んでもよい。
S1301.測定周期において、1つ以上の第3レイヤの描画及びレンダリング中に第1特性点で消費される存続期間が、第1特性点に対応する第2の予めセットされた存続期間よりも長い場合には、電子機器は、プロセッサの動作周波数をプロセッサの最大動作周波数へと調整する。
第1特性点は、次のうちの少なくともいずれか1つを含んでもよい:電子機器は1つ以上の第3レイヤを描画し、電子機器は1つ以上の第3レイヤをレンダリングし、電子機器は、1つ以上の第3レイヤを描画する過程でいずれかの機能を実行し、電子機器は、1つ以上の第3レイヤをレンダリングする過程でいずれかの機能を実行する。
本願のこの実施形態において、1つ以上の第2の予めセットされた存続期間は、夫々の第1の特性点についてセットされてもよい。第2の予めセットされた存続期間は、第1特徴点に対応する操作を複数回実行するために大量の電子機器によって必要とされる時間を測定することによって、決定されてもよい。
測定周期で、第1特性点で消費される存続期間が、第1特性点に対応する第2の予めセットされた存続期間よりも長い場合に、それは、電子機器が、加速されたレンダリングモードに対応する方法を使用することによって1つ以上の第3レイヤの描画及びレンダリングを完了することができないことを示す、ことが理解され得る。1つ以上の第3レイヤは、測定周期で電子機器によって描画又はレンダリングされているレイヤである。この場合に、電子機器は、プロセッサの周波数を即座に増大させ、プロセッサの動作周波数をプロセッサの最大動作周波数へと調整し得る。プロセッサの周波数が即座に増大した後に、プロセッサの計算速度は増大し、レイヤの描画、レンダリング、及び組み立てのために電子機器によって必要とされる存続期間は短縮され得る。
電子機器が、プロセッサの周波数を即座に増大させた後に1つの同期周期でレイヤの描画、レンダリング、及び組み立てを依然として完了することができない場合に、電子機器は、電子機器がレイヤの描画、レンダリング、及び組み立てを完了することができることを確かにし、電子デバイスの表示スクリーンの表示効果を確かにするために、加速されたレンダリングモードから出てもよい。具体的に、S1301の後、本願のこの実施形態における方法は、S1302を更に含んでもよい。
S1302.第3フレーム処理期間が予めセットされた単フレーム期間よりも長い場合に、電子機器は、画像フレームを取得するよう、垂直同期信号2に応答して、レンダリングされたレイヤに対してレイヤ組み立てを実行する。
第3フレーム処理期間は、第3フレームレンダリング期間と第3SFフレーム期間との和である。第3フレームレンダリング期間は、1つ以上の第3レイヤを描画及びレンダリングするために必要な存続期間であり、第3SFフレーム期間は、レンダリングされた1つ以上の第3レイヤに対してレイヤ組み立てを実行するために必要な存続期間である。
第3フレーム処理期間が予めセットされた単フレーム期間よりも長い場合に、それは、プロセッサの周波数を即座に増大させた後に、電子機器が、1つの同期周期で1つ以上の第3レイヤの描画、レンダリング、及び組み立てを依然として完了することができないことを示す。この場合に、電子機器は、加速されたレンダリングモードから出てもよい。すなわち、1つ以上の第1レイヤのレンダリングが終わった後の最初の垂直同期信号2が到着する前に、電子機器は、レンダリングされたレイヤに対してレイヤ組み立てを実行せず、垂直同期信号2の到着を待ち、垂直同期信号2に応答してのみ、レンダリングされたレイヤに対してレイヤ組み立てを実行して画像フレームを取得する。
図13は、本願のこの実施形態に従って、垂直同期信号に基づいた画像処理の方法の略フローチャートである。
図13に示されるように、測定周期が経過した後、電子機器は、測定周期内の第1フレーム処理期間を取得するようS-1を実行し得る。S-1の詳細な説明については、S801a、S801b、S1101、及び上記の実施形態における関連する記載を参照されたい。詳細は再びここでは記載されない。それから、電子機器は、測定周期内の第1フレーム処理期間が予めセットされた単フレーム期間よりも長いかどうかを決定するようS-2を実行し得る。S-2の詳細な説明については、S801及び上記の実施形態における関連する記載を参照されたい。詳細は再びここでは記載されない。
測定周期内の第1フレーム処理期間が予めセットされた単フレーム期間よりも長い場合に、電子機器は、プロセッサの動作周波数を上げる(つまり、周波数を増大させる)ようS-3を実行し得る。S-3の詳細な説明については、S1104及び上記の実施形態における関連する記載を参照されたい。詳細は再びここでは記載されない。測定周期内の第1フレーム処理期間が予めセットされた単フレーム期間よりも短いか又はそれと等しい場合に、電子機器は、N個の連続した測定周期内の第1フレーム処理期間が予めセットされた条件を満足するかどうかを決定するようS-4を実行し得る。S-4の詳細な説明については、S1201a及び上記の実施形態における関連する記載を参照されたい。詳細は再びここでは記載されない。N個の連続した測定周期内の第1フレーム処理期間が予めセットされた条件を満足する場合に、電子機器はS-5及びS-6を実行する。電子機器は、プロセッサの動作周波数を下げる(つまり、周波数を低減させる)ようS-5を実行し得る。S-5の詳細な説明については、S1202及び上記の実施形態における関連する記載を参照されたい。詳細は再びここでは記載されない。電子機器は、加速されたレンダリングモードを開始するようS-6を実行する。本願のこの実施形態において、電子機器はまた、第1イベントに応答して、加速されたレンダリングモードを開始してもよい。加速されたレンダリングモードで、電子機器はS401及びS402を実行し得る。
更に、加速されたレンダリングモードで、電子機器は、第1特性点で消費される存続期間が、その第1特性点に対応する第2の予めセットされた存続期間よりも長いかどうかを決定するよう、S-7を実行し得る。第1特性点で消費される存続期間が第1特性点に対応する第2の予めセットされた存続期間よりも長い場合に、電子機器は、周波数を即座に増大させるようS-8を実行し得る。S-7及びS-8の詳細な説明については、S1301及び上記の実施形態における関連する記載を参照されたい。詳細は再びここでは記載されない。
第1特性点で消費される存続期間が第1特性点に対応する第2の予めセットされた存続期間よりも短いか又はそれと等しい場合に、電子機器は、加速されたレンダリングモードにあり続ける。周波数を即座に上げた(すなわち、S-8を実行した)後、電子機器は、第3フレーム処理期間が予めセットされた単フレーム期間よりも長いかどうかを決定するようS-9を実行し得る。第3フレーム処理期間が予めセットされた単フレーム期間よりも長い場合に、電子機器は、加速されたレンダリングモードから出るようS-10を実行し得る。S-9及びS-10の詳細な説明については、S1302及び上記の実施形態における関連する記載を参照されたい。詳細は再びここでは記載されない。第3フレーム処理期間が予めセットされた単フレーム期間よりも短いか又はそれと等しい場合に、電子機器は、加速されたレンダリングモードにあり続ける。本願のこの実施形態において、電子機器または、第2イベントに応答して、加速されたレンダリングモードから出てもよい。加速されたレンダリングモードから出た後、電子機器は、S903からS905の方法でレイヤの描画、レンダリング、及び組み立てと、画像フレーム表示とを実行し得る。
図14は、本願のこの実施形態に従う最適化モジュールの概略図である。最適化モジュールは、画像フレーム生成装置又は電子機器内にあって、本願の実施形態における方法を実装するよう構成されている機能モジュールであってよい。図14に示されるように、最適化モジュールは、サービス通信インターフェースモジュール1401、フレーム存続期間検出モジュール1402、単フレームレンダリングポリシーモジュール1403、及び動的調整アルゴリズムモジュール1404を含み得る。
フレーム存続期間検出モジュール1402は、測定周期(例えば、第1測定周期)内の複数の第2フレーム処理期間を取得し、測定周期内の第1フレーム処理期間を決定し、測定周期内の第1フレーム処理期間を動的調整アルゴリズムモジュール1404へ送るよう構成される。フレーム存続期間検出モジュール1402は、サービス通信インターフェースモジュール1401を使用することによって測定周期内の複数の第2フレーム処理期間を取得し得る。例えば、フレーム存続期間検出モジュール1402は、上記の方法の実施形態におけるS801a、S801b、及びS1101、並びに/又は本明細書で記載されている技術の他のプロセスを実行することにおいて電子機器をサポートするよう構成される。
動的調整アルゴリズムモジュール1404は、フレーム存続期間検出モジュール1402によって決定された第1フレーム処理期間に基づきプロセッサの動作周波数を調整するためにスケジューリングモジュールを呼び出すよう構成される。例えば、動的調整アルゴリズムモジュール1404は、上記の方法の実施形態におけるS801、S1102、S1103、S1104、S1201、S1201a、S1202、S1301、及びS1302での「第3フレーム処理期間が予めセットされた単フレーム期間よりも長いことを決定する」動作、並びに/又は本明細書で記載されている技術において他のプロセスで使用される動作を実行することにおいて電子機器をサポートするよう構成される。
単フレームレンダリングポリシーモジュール1403は、動的調整アルゴリズムモジュール1404の制御に応答して、電子機器のUIスレッド、レンダリングスレッド、及び組み立てスレッドを制御して、レイヤの描画、レンダリング、及び組み立てを対応する方法で実行するよう構成される。例えば、単フレームレンダリングポリシーモジュール1403は、上記の方法の実施形態におけるS401、S402、S802、S803、S903、S904、S905、及びS1302での「レイヤ組み立て」の動作、並びに/又は本明細書で記載されている技術において他のプロセスで使用される動作を実行することにおいて電子機器をサポートするよう構成される。
図15に示されるように、図1Aに示されるソフトウェアアーキテクチャは、最適化モジュール60を更に含んでもよい。最適化モジュール60は、サービス通信インターフェースモジュール1401、フレーム存続期間検出モジュール1402、単フレームレンダリングポリシーモジュール1403、及び動的調整アルゴリズムモジュール1404を含み得る。
図16(a)から図16(c)は、2つのブランドの携帯電話機の機械手の速度が100ミリメートル(mm)/sである場合の「コンタクト」アプリケーションのスライドテストシナリオのテスト結果の概略図である。
図16(a)は、ブランドの携帯電話機1(例えば、iPhone xsの携帯電話機)の機械手の速度が100mm/sである場合の「コンタクト」アプリケーションのスライドテストシナリオのテスト結果を示す。図16(a)に示されるように、携帯電話機1のタッチ応答時間は、82msから114msである。
図16(b)は、他のブランドの携帯電話機2(例えば、Huaweiの携帯電話機)が本願の実施形態における方法を実行する前の、機械手の速度が100mm/sである場合の「コンタクト」アプリケーションのスライドテストシナリオのテスト結果を示す。図16(b)に示されるように、携帯電話機2が本願のこの実施形態における方法を実行する前には、タッチ応答時間は82msから136msである。
図16(c)は、携帯電話機2が本願のこの実施形態における方法を実行する後の、機械手の速度が100mm/sである場合の「コンタクト」アプリケーションのスライドテストシナリオのテスト結果を示す。図16(c)に示されるように、携帯電話機2が本願のこの実施形態における方法を実行する前には、タッチ応答時間は65msから84msである。
図16(c)を図16(b)と比較することによって、テストが同じ機械手速度(例えば、100mm/s)で同じテストシナリオにおいて行われる場合に、携帯電話機2が本願のこの実施形態における方法を実行する前のタッチ応答時間(略して、「タッチ応答時間(前)」、例えば、82msから136ms)と比較して、携帯電話機2が本願のこの実施形態における方法を実行した後のタッチ応答時間(略して、「タッチ応答時間(後)」、例えば、65msから84ms)は、相対的に長いレイテンシ時間だけ短縮されている、ことが分かる。すなわち、本願のこの実施形態における方法は、電子機器の応答レイテンシを短縮し、かつ、電子機器のフルエンシ(例えば、タッチレイテンシ)を改善し得る。
図16(a)を図16(b)と比較することによって、テストが同じテストシナリオにおいて同じ機械手速度(例えば、100mm/s)で行われる場合に、携帯電話機1のタッチ応答時間(例えば、82msから114ms)と比較して、「タッチ応答時間(前)」(例えば、82msから136ms)は相対的に長い、ことが分かる。
図16(a)及び図16(b)を図16(c)と比較することによって、テストが同じテストシナリオにおいて同じ機械手速度(例えば、100mm/s)で行われる場合に、「タッチ応答時間(後)」(例えば、65msから84ms)は、「タッチ応答時間(前)」(例えば、82msから136ms)と比較して相対的に長いレイテンシ時間だけ短縮されるだけでなく、携帯電話機1のタッチ応答時間(例えば、82msから114ms)と比較してもいくらかの時間だけ短縮されている、ことが分かる。
上記のテストシナリオからは、本願のこの実施形態における方法が、電子機器の応答レイテンシを大いに短縮し、かつ、電子機器のフルエンシ(例えば、タッチレイテンシ)を改善することができる、ことが分かる。
本願のいくつかの実施形態は電子機器を提供する。電子機器は、表示スクリーン(例えば、タッチスクリーン)、メモリ、及び1つ以上のプロセッサを含み得る。表示スクリーン及びメモリはプロセッサへ結合されている。メモリは、コンピュータプログラムコードを記憶するよう構成されており、コンピュータプログラムコードはコンピュータ命令を含む。プロセッサがコンピュータ命令を実行する場合に、電子機器は、上記の方法の実施形態で電子機器によって実行された機能又はステップを実行し得る。電子機器の構造については、図2に示される電子機器200の構造を参照されたい。
本願の実施形態はシステム・オン・チップを更に提供する。図17に示されるように、システム・オン・チップは、少なくとも1つのプロセッサ1701及び少なくとも1つのインターフェース回路1702を含む。プロセッサ1701及びインターフェース回路1702は、ラインを使用することによって相互接続され得る。例えば、インターフェース回路1702は、他の装置(例えば、電子機器のメモリ)から信号を受信するよう構成され得る。他の例として、インターフェース回路1702は、他の装置(例えば、電子機器のプロセッサ1701又はタッチスクリーン)へ信号を送信するよう構成され得る。例えば、インターフェース回路1702は、メモリに記憶されている命令を読み出し、命令をプロセッサ1701へ送信してもよい。命令がプロセッサ1701によって実行される場合に、電子機器は、上記の実施形態における各ステップを実行することを可能にされ得る。確かに、システム・オン・チップは、他のディスクリート部品を更に含んでもよい。これは、本願のこの実施形態で特に限定されない。
本願の実施形態は、コンピュータ記憶媒体を更に提供する。コンピュータ記憶媒体は、コンピュータ命令を含み、コンピュータ命令が上記の電子機器で実行される場合に、電子機器は、上記の方法の実施形態で電子機器によって実行された機能又はステップを実行することを可能にされる。
本願の実施形態は、コンピュータプログラム製品を更に提供する。コンピュータプログラム製品がコンピュータで実行される場合に、コンピュータは、上記の方法の実施形態で電子機器によって実行された機能又はステップを実行することを可能にされる。
実施に関する上記の説明は、当業者が、便宜上、及び、記載を簡潔にするために、上記の機能モジュールの分割が説明のための例として使用されている、とを明りょうに理解することを可能にする。実際の用途では、上記の機能は、異なるモジュールに割り当てられ、要件に応じて実装され得る。すなわち、装置の内部構造は、上記の機能の全部又はいくつかを実装するよう、異なる機能モジュールに分割される。
本願で提供されているいくつかの実施形態で、開示されている装置及び方法は、他の様態で実装されてもよいことが理解されるべきである。例えば、記載されている装置の実施形態は、一例にすぎない。例えば、モジュール又はユニットの分割は、論理的な機能分割にすぎず、実際の実施では他の分割であってもよい。例えば、複数のユニット又はコンポーネントは、他の装置に結合又は一体化されてもよく、あるいは、いくつかの特徴は、無視されてもよく、又は実行されなくてもよい。更に、表示又は議論されている相互結合又は直接結合若しくは通信接続は、何らかのインターフェースを使用することによって実装されてもよい。装置又はユニット間の間接結合又は通信接続は、電気的な、機械的な、又は他の形式で実装されてもよい。
別個の部分として記載されているユニットは、物理的に分離していてもいなくてもよく、ユニットとして表示されている部分は、1つ以上の物理ユニットであってよく、1つの場所に位置していてもよく、あるいは、異なる場所に分散していてもよい。ユニットのいくつか又は全部は、実施形態の解決法の目的を達成するために実際の要件に基づき選択されてもよい。
更に、本願の実施形態における機能ユニットは、1つのプロセッシングユニットに組み込まれてもよく、あるいは、ユニットの夫々は物理的に単独で存在してもよく、あるいは、2つ以上のユニットが1つのユニットに一体化されてもよい。一体化されたユニットは、ハードウェアの形で実装されてもよく、あるいは、ソフトウェア機能ユニットの形で実装されてもよい。
いったいかされsがソフトウェア機能ユニットの形で実装され、独立した製品として販売又は使用される場合に、一体化されたユニットは、読み出し可能な記憶媒体に記憶されてもよい。かような理解に基づいて、本願の技術的解決法は本質的に、あるいは、従来技術に寄与する部分、又は技術的解決法の全部若しくはいくつかは、ソフトウェア製品の形で実装されてもよい。ソフトウェア製品は、記憶媒体に記憶され、本願の実施形態で記載されている方法のステップの全部又はいくつかを実行するようにデバイス(シングルチップのマイクロコンピュータ、チップ、などであってよい)又はプロセッサ(processor)に命令するためのいくつかの命令を含む。上記の記憶媒体には、USBフラッシュドライブ、リムーバブルハードディスク、リード・オンリー・メモリ(read only memory,ROM)、ランダム・アクセス・メモリ(random access memory,RAM)、磁気ディスク、又は光ディスクなどの、プログラムコードを記憶することができる如何なる媒体も含まれる。
上記の説明は、本願の具体的な実施にすぎず、本願の保護範囲を限定する意図はない。本願で開示されている技術範囲内の如何なる変形又は置換も、本願の保護範囲内に入るべきである。従って、本願の保護範囲は、特許請求の範囲の保護範囲に従うべきである。
本願は、2019年7月3日付けで「METHOD FOR IMAGE PROCESSING BASED ON VERTICAL SYNCHRONIZATION SIGNALS AND ELECTRONIC DEVICE」との発明の名称で中国国家知識産権局に出願された中国特許出願第201910596178.X号と、2019年7月9日付けで「METHOD FOR IMAGE PROCESSING BASED ON VERTICAL SYNCHRONIZATION SIGNALS AND ELECTRONIC DEVICE」との発明の名称で中国国家知識産権局に出願された中国特許出願第201910617101.6号とに対する優先権を主張するものであり、これらの中国特許出願はいずれも、それらの全文を参照により本願に援用される。
図2は、本願の実施形態に従う電子機器200の構造の概略図である。図2に示されるように、電子機器200は、プロセッサ210、外部メモリインターフェース220、内部メモリ221、ユニバーサル・シリアル・バス(universal serial bus,USB)インターフェース230、充電管理モジュール240、電力管理モジュール241、バッテリ242、アンテナ1、アンテナ2、モバイル通信モジュール250、無線通信モジュール260、オーディオモジュール270、スピーカ270A、電話レシーバ270B、マイクロホン270C、ヘッドセットジャック270D、センサモジュール280、キー290、モータ291、インジケータ292、カメラ293、表示スクリーン294、及び加入者識別モジュール(subscriber identification module,SIM)カードインターフェース295、などを含んでもよい。
表示スクリーン294は、画像、映像、などを表示するよう構成される。表示スクリーン294は表示パネルを含む。表示パネルは、液晶ディスプレイ(liquid crystal display,LCD)、有機発光ダイオード(organic light-emitting diode、OLED)、アクティブマトリクス有機発光ダイオード(active-matrix organic light emitting diode,AMOLED)、フレックス発光ダイオード(flex light-emitting diode,FLED)、ミニLED、マイクロLED、マイクロOLED、量子ドット発光ダイオード(quantum dot light emitting diode,QLED)、などであってもよい。
オーディオモジュール270は、デジタルオーディオ情報を出力のためにアナログオーディオ信号に変換するよう構成され、また、アナログオーディオ入力をデジタルオーディオ信号に変換するよう構成される。オーディオモジュール270は、オーディオ信号をエンコード及びデコードするよう更に構成されてもよい。「ラウドスピーカ」とも呼ばれるスピーカ270は、オーディオ電気信号を音響信号に変換するよう構成される。「イヤピース」とも呼ばれる電話レシーバ270Bは、オーディオ電気信号を音響信号に変換するよう構成される。「マイク」又は「電気音響変換器」とも呼ばれるマイクロホン270Cは、音響信号を電気信号に変換するよう構成される。ヘッドセットジャック270Dは、有線ヘッドセットへ接続するよう構成される。
他の例として、図6A(b)に示されるように、電子機器は、垂直同期信号1に応答して、「描画2」、「レンダリング2」及び「画像フレーム組み立て2」を実行し得る。図6A(b)に示されるように、時間t7で、「描画2」及び「レンダリング2」は終了している。時間t3での垂直同期信号2が到着する前に、電子機器は、時間t
7 でレイヤ組み立てを実行すること、つまり、「画像フレーム組み立て2」を実行することを開始し得る。すなわち、電子機器は、時間t3での垂直同期信号2の到着を待たずに、「画像フレーム組み立て2」を実行し始め得る。
例えば、フォーカスアプリケーションが一例として使用される。上記の例を参照して、アプリケーションaがフォーカスアプリケーションであることが仮定される。図6Cに示されるように、電子機器は、時間t15でアプリケーションaのための「レンダリングa」を完了し、時間t6でアプリケーション1のための「レンダリング1」を完了する。場合(2)で、電子機器は時間t15では「レンダリング1」を完了していないが、電子機器は、時間t15でフォーカスアプリケーションのための「レンダリングa」を完了している。従って、電子機器は、時間t15でレイヤ組み立てを実行し得る(つまり、「画像フレーム組み立てa」を実行する)。他の例として、図6Cに示されるように、電子機器は、時間t16でアプリケーションaのための「レンダリングb」を完了し、時間t
7 でアプリケーション1のための「レンダリング2」を完了する。場合(2)で、電子機器は時間t16では「レンダリング2」を完了していないが、電子機器は、時間t16でフォーカスアプリケーションのための「レンダリングb」を完了している。従って、電子機器は、時間t16でレイヤ組み立てを実行し得る(つまり、「画像フレーム組み立て1+b」を実行する)。
例えば、フォーカスアプリケーションの予めセットされたレイヤが一例として使用される。上記の例を参照して、アプリケーションaがフォーカスアプリケーションであることが仮定される。図6Dに示されるように、電子機器は、時間t15でアプリケーションaのための「レンダリングa」を完了し、時間t6でアプリケーション1のための「レンダリング1」を完了する。電子機器は、時間t15より前の時間t17で「レンダリングa」の中の予めセットされたレイヤのレンダリングを完了している。「レンダリングa」は、「レンダリングa1」及び「レンダリングa2」を含んでもよい。「レンダリングa1」は、「レンダリングa」における予めセットされたレイヤのレンダリングである。従って、図6Dに示されるように、電子機器は、時間t17でレイヤ組み立てを実行し(つまり、「画像フレーム組み立てa1」を実行し)、すなわち、「レンダリングa1」によって実行された予めセットされたレイヤに対してレイヤ組み立てを実行し得る。他の例として、図6Dに示されるように、電子機器は、時間t16でアプリケーションaのための「レンダリングb」を完了し、時間t
7 でアプリケーション1のための「レンダリング2」を完了する。電子機器は、時間t16より前の時間t18で「レンダリングb」の中の予めセットされたレイヤのレンダリングを完了している。「レンダリングb」は、「レンダリングb1」及び「レンダリングb2」を含んでもよい。「レンダリングb1」は、「レンダリングb」における予めセットされたレイヤのレンダリングである。従って、電子機器は、時間t18でレイヤ組み立てを実行し(つまり、「画像フレーム組み立て1+a2+b1」を実行し)、すなわち、「レンダリング1」、「レンダリングa2」、及び「レンダリングb1」によって実行された予めセットされたレイヤに対してレイヤ組み立てを実行し得る。
図16(c)は、携帯電話機2が本願のこの実施形態における方法を実行する後の、機械手の速度が100mm/sである場合の「コンタクト」アプリケーションのスライドテストシナリオのテスト結果を示す。図16(c)に示されるように、携帯電話機2が本願のこの実施形態における方法を実行する後には、タッチ応答時間は65msから84msである。