JP2017224083A - 情報処理装置、制御方法およびプログラム - Google Patents
情報処理装置、制御方法およびプログラム Download PDFInfo
- Publication number
- JP2017224083A JP2017224083A JP2016117854A JP2016117854A JP2017224083A JP 2017224083 A JP2017224083 A JP 2017224083A JP 2016117854 A JP2016117854 A JP 2016117854A JP 2016117854 A JP2016117854 A JP 2016117854A JP 2017224083 A JP2017224083 A JP 2017224083A
- Authority
- JP
- Japan
- Prior art keywords
- processing
- unit
- information
- screen
- usage rate
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Digital Computer Display Output (AREA)
Abstract
【課題】 アニメーション描画機能を実現しつつ、他の処理の処理能力の低下を抑制できる装置、方法およびプログラムを提供する。
【解決手段】 この装置は、複数の処理を並行して実行可能な処理手段を含む情報処理装置であって、処理手段が並行して実行不可の処理の情報を排他処理情報として管理する管理手段と、管理手段が管理する排他処理情報に基づき、実行を要求された複数の処理のうち処理手段が並行して実行可能な処理を決定する決定手段と、決定された処理を実行するために必要とされる処理手段の使用率を計算する計算手段と、画面を切り替える要求を受け付ける入力手段と、受け付けた要求に従って処理手段が画面を切り替える処理を実行する際、計算手段により計算された使用率に応じて、画面を切り替える間に表示手段に表示させるために使用する、切り替え前後の画面により構成される中間画面の数を制御する制御手段とを含む。
【選択図】 図3
【解決手段】 この装置は、複数の処理を並行して実行可能な処理手段を含む情報処理装置であって、処理手段が並行して実行不可の処理の情報を排他処理情報として管理する管理手段と、管理手段が管理する排他処理情報に基づき、実行を要求された複数の処理のうち処理手段が並行して実行可能な処理を決定する決定手段と、決定された処理を実行するために必要とされる処理手段の使用率を計算する計算手段と、画面を切り替える要求を受け付ける入力手段と、受け付けた要求に従って処理手段が画面を切り替える処理を実行する際、計算手段により計算された使用率に応じて、画面を切り替える間に表示手段に表示させるために使用する、切り替え前後の画面により構成される中間画面の数を制御する制御手段とを含む。
【選択図】 図3
Description
本発明は、複数の処理を並行して実行可能な処理手段を含む情報処理装置、情報処理装置により実行される制御方法およびその制御をコンピュータに実行させるためのプログラムに関する。
スマートフォン、タブレット端末、MFP(Multi-Function Peripheral)等では、画面の切り替え(画面遷移)をスムーズに実施し、表示パフォーマンスを向上させるために、アニメーション描画機能が搭載されている。アニメーション描画機能は、元の画面と切替先の画面を分割し、切替先の画面が一部領域となる画面からその領域を順次広げた複数の画面を構成し、それらを順次切り替え表示して、最終的に切替先の全体画面を描画する機能である。
この機能は、装置全体を制御するCPUを使用して実施される。画面遷移の際、CPUの負荷率が大きいと、アニメーション描画機能を実現することができない場合や、アニメーション描画機能を実現することができたとしても、他の処理の処理能力を低下させてしまう場合がある。
この問題に鑑み、CPUを含む主制御部の負荷率が基準値を超えて大きいとき、一定期間内の画面数を減少制御し、所定の一定期間内でその全体画面状態に至るよう変移画面数を可変制御する技術が提案されている(特許文献1参照)。
従来の上記技術では、画面遷移を開始する瞬間の負荷率のみで変移画面数を決定するため、瞬間的な負荷率の変化によって影響を受ける。このため、画面遷移開始時に瞬間的に主制御部の負荷率が下がり、その後負荷率が大きい状態に戻った場合、アニメーション描画機能は実現できるが、他の処理の処理能力が低下してしまうという問題があった。
そこで、アニメーション描画機能を実現しつつ、他の処理の処理能力の低下を抑制することができる装置等の提供が望まれていた。
本発明は、上記課題に鑑みなされたものであり、複数の処理を並行して実行可能な処理手段を含む情報処理装置であって、処理手段が並行して実行不可の処理の情報を排他処理情報として管理する管理手段と、管理手段が管理する排他処理情報に基づき、実行を要求された複数の処理のうち処理手段が並行して実行可能な処理を決定する決定手段と、決定手段により決定された処理を実行するために必要とされる処理手段の使用率を計算する計算手段と、画面を切り替える要求を受け付ける入力手段と、入力手段が受け付けた要求に従って処理手段が画面を切り替える処理を実行する際、計算手段により計算された使用率に応じて、画面を切り替える間に表示手段に表示させるために使用する、切り替え前後の画面により構成される中間画面の数を制御する制御手段とを含む、情報処理装置が提供される。
本発明によれば、アニメーション描画機能を実現しつつ、他の処理の処理能力の低下を抑制することができる。
図1は、情報処理装置の全体構成の一例を示した図である。情報処理装置は、表示画面を有する装置であれば、いかなる装置であってもよく、例えばスマートフォン、タブレット端末、PC、デジタルカメラ、電子黒板、テレビ、プリンタ、スキャナ、コピー機、MFP等を用いることができる。以下、情報処理装置としてMFPを用いるものとして説明する。
MFP10は、MFPを構成するユニットとして、操作部11、原稿読み取り部12、給紙部13、印刷部14、排紙部15を備える。図1では、5つのユニットのみを例示するが、その他のユニットを備えていてもよい。
操作部11は、ユーザに対してMFP10の状態を表示し、ユーザからの要求を受け取るユニットである。MFP10の状態としては、待機状態、印刷中、読み取り中、ファックス送信中、ファックス受信中、エラー等を挙げることができる。ユーザからの要求としては、ユーザの操作を挙げることができ、ユーザの操作としては、印刷等の実行ボタンの押下、情報の入力、画面の切り替え等を挙げることができる。これらは一例であるので、これらの状態や要求に限定されるものではない。
操作部11は、MFP10の状態を表示し、ユーザからの要求を受け取るために、表示と入力の両方の機能を有するタッチパネルを備える。ここでは、表示と入力の両方の機能を有するものとして説明したが、これらが分離され、ディスプレイといった表示手段と、入力ボタンといった入力手段とを備える構成であってもよい。
原稿読み取り部12は、印刷元となる原稿を読み取るユニットである。原稿読み取り部12は、スキャナ装置と同様、原稿に光を照射する光源と、原稿を透過した光または原稿に反射した光を受光し、電気信号に変換する光電変換素子を備えることができる。
給紙部13は、印刷する紙の供給元のユニットで、給紙する紙を蓄積する給紙トレイを備えている。印刷部14は、原稿読み取り部12で読み取った原稿を、給紙部13から給紙した紙に印刷するユニットである。印刷部14の印刷方式は、インクジェット方式であってもよいし、電子写真方式であってもよい。排紙部15は、印刷部14で印刷した紙をMFP10外に排出するユニットで、排出された紙を蓄積するための排紙トレイを備えている。
図2は、MFP10のハードウェア構成の一例を示した図である。MFP10は、CPU20、ROM21、RAM22、HDD23、プロッタエンジン24、スキャナエンジン25、通信I/F26、操作I/F27、ドライブ装置28を備えている。
CPU20は、MFP10を統括的に制御する。CPU20は、その制御の際、RAM22を作業領域とし、ROM21またはHDD23に格納されているプログラムを読み出し実行する。ROM21に格納されるプログラムとしては、MFP10の起動に使用するブートプログラム、HDD23への読み書き等の入出力を制御するBIOS(Basic Input/Output System)等が挙げられる。HDD23に格納されるプログラムとしては、OS(Operating System)、各種の機能を実現するためのアプリケーション、各種の設定情報、後述する表示画面を制御するためのプログラム等が挙げられる。
プロッタエンジン24は、印刷動作を実現するハードウェアで、電子写真方式であれば、露光ユニット、感光体ドラム、現像ユニット、帯電ユニット、転写ユニット、定着ユニット等を含む。インクジェット方式であれば、ヘッド、インクタンク、キャリッジ、駆動部等を含む。これらは良く知られたものであるため、ここでは詳述しない。
スキャナエンジン25は、原稿の読み取り動作を実現するハードウェアである。スキャナエンジン25は、上記の原稿読み取り部12で説明した光源、光電変換素子等を含む。これらプロッタエンジン24およびスキャナエンジン25を利用することで、コピー機能、スキャナ機能、印刷機能、ファックス送信時の原稿読み取り、ファックス受信時の印刷出力等の各種の機能を実現する。
通信I/F26は、モデム、LAN(Local Area Network)カード等で構成され、外部ネットワークと接続し、外部ネットワークを介した通信を制御するインタフェースである。通信I/F26を利用することで、ファックス機能におけるファックス送受信を実現する。また、通信I/F26を利用することで、インターネットに接続し、操作部11にWebブラウザを使用してWebページを表示させることができ、メール送受信も実現することができる。
操作I/F27は、表示機能を有するタッチパネル等により実現され、MFP10を操作するための操作画面を表示する。
表示画面を制御するためのプログラムは、CD-ROMやUSB(Universal Serial Bus)メモリ等の記録媒体29の配布やネットワーク等により提供される。ドライブ装置28は、記録媒体29により配布される場合、記録媒体29を収容して読み取り可能にセットし、記録媒体29からHDD23にプログラムをインストールする。なお、このプログラムは、ネットワークを介してダウンロードする形式であってもよく、この場合、通信I/F26を介してHDD23にインストールすることができる。
図3は、MFP10の機能構成の一例を示したブロック図である。MFP10は、インストールされたプログラムやアプリケーション等をCPU20が実行することにより各機能部を生成する。MFP10は、機能部として、アプリケーション実行部30、タスク管理部31、排他リソース管理部32、決定部33、計算部34、制御部35、入力部36を備える。
アプリケーション実行部30は、印刷、原稿読み取り、通信といった各種の機能を実現するためのアプリケーションを実行する。アプリケーション実行部30は、MFP10を利用するトリガが発生すると、実行する単位毎にタスク管理部31にタスクを登録する。トリガは、MFP10が動作を開始するためのきっかけとなる命令や信号等で、印刷実行ボタンの押下等により発生させることができる。タスクは、CPU20が処理する仕事の最小単位である。CPU20は、複数のタスクを並行して実行することが可能な処理手段として機能する。
タスク管理部31は、図4に示すようなタスク管理テーブルを保持し、タスクを実行順に登録し、タスク管理テーブルでタスクを一元管理する。タスク管理部31は、タスクの実行が終了した場合、タスク管理テーブルから削除し、後続のタスクの順番を1つ前に移動(スライド)させる。具体的に説明すると、順番1の「プリンタ印刷」が終了すると、「プリンタ印刷」を削除し、順番2の「コピー」を順番1にスライドさせ、順番3の「スキャナ配信」を順番2にスライドさせる。タスク管理テーブルは、順番とタスク名のほか、タスクを識別するためのタスクID等を含んでいてもよい。
タスク管理部31は、タスク管理テーブルのほか、各タスクに対して設定されたタスク設定情報も保持する。この情報は、工場出荷時等に予め設定しておくことができる。図5に、このタスク設定情報を例示する。タスク設定情報は、タスク毎に「タスク名」、「使用するリソース名」、「CPU使用率」、「タスク優先度」という情報を含む。リソースは、操作部11、ROM21、RAM22、HDD23、プロッタエンジン24、スキャナエンジン25、通信I/F26等のハードウェアである。
図5中、「画面表示」というタスク名が2つあるが、1つは、ユーザからの要求を受け付けた時のタスクを示し、もう1つは、システム側で自動更新する時のタスクを示す。ユーザからの要求を受け付けた時とは、例えばユーザの操作により画面が切り替わる場合を一例として挙げることができる。システム側で自動更新する時とは、画面を一定時間毎に自動更新(リロード)する時である。
CPU使用率は、例えばCPUクロック数が1GHzと仮定した場合など、同一の条件下での使用率であり、事前検証等により、タスク毎に既知の値である。クロック数は、クロック周波数とも呼ばれ、各回路間で処理のタイミングを合わせるために使用される信号の数である。例えば、CPUクロック数が1GHzで、使用率が10%の場合、1GHz×10%=100MHzが、タスクが必要とするクロック数となる。
図5中、「フレームレート」とは、単位時間当たりに処理するフレーム数で、フレーム数は、表示する画面数、すなわち静止画像数あるいはコマ数である。タスク管理部31は、図6に示すような、画面が切り替わる場合のモード(画面遷移モード)の場合の最高フレームレートの情報を、画面遷移モード情報として保持することができる。
タスク優先度は、そのタスクにCPU20をどれだけ優先して使用させるべきかを表す。図5では、「1」に近いほど優先度が高く、「5」に近いほど優先度が低くなっている。これらの情報は、予めユーザが入力し、設定することができる。設定された優先度は、ユーザが変更するほか、制御部35等によって変更されてもよい。
MFP10は、1以上のタスクによってCPU20が使用されているときに、画面を切り替える「画面表示(ユーザ操作受付時)」というタスクを受け付けることがある。このとき、CPU20の負荷が大きいと、アニメーション描画機能を実現することができない場合や、アニメーション描画機能を実現することができたとしても、他の処理の処理能力を低下させてしまう場合がある。
決定部33は、図4に示すタスク管理テーブル、図5に示すタスク設定情報および図7に示す排他リソース管理テーブルを参照し、それらの情報に基づき、CPU20が並行して実行することができる処理を決定する。なお、処理は、タスクまたはそのタスクが使用するリソースにより実行される処理であるため、タスクまたはそのタスクが使用するリソースを決定してもよい。このため、図5に示す「タスク名」、「リソース名」は、処理の種別を表すものとして使用することができる。図5に示すように優先度が設けられている場合、「画面表示(ユーザ操作受付時)」というタスク名のタスクより優先度が高いタスクまたはそのタスクが使用するリソースを決定する。その時点で予想されるCPU20の最大負荷を計算するためである。
排他リソース管理部32は、図7に示す排他リソース管理テーブルを保持し、排他リソースの使用状況を管理する。排他リソースは、複数のタスクによって同時に利用することができないリソースであり、例えばプロッタエンジン24、スキャナエンジン25が挙げられる。排他リソースの使用状況は、各排他リソースが使用中か、未使用かという情報である。
図7に示す例では、プロッタエンジン24が「使用中」であるため、「使用中」である間は、プロッタエンジン24を利用することはできない。一方、スキャナエンジン25については、「未使用」であるため、利用することが可能である。また、通信I/F26については、排他リソースとして設定されていないので、複数のタスクよって同時に利用することが可能である。排他リソース管理テーブルは、リソース名、使用状況のほか、タスクID等を含んで構成することもできる。
再び図3を参照して、計算部34は、決定部33が決定したタスクまたはそのタスクが使用するリソースが必要とするCPU20の使用率を、タスク設定情報から取得し、それらを合計することにより計算する。
入力部36は、画面を切り替える要求を受け付ける。画像を切り替える要求は、ユーザによる画面を切り替える操作(フリック処理)とすることができる。入力部36は、画面を切り替える要求を受け付けたとき、制御部35に対して画面遷移の指示を通知する。
制御部35は、この要求に従ってCPU20が画面を切り替える処理を実行する際、画面遷移の指示を受けて、計算部34に対してCPU使用率を問い合わせる。そして、制御部35は、計算部34からCPU使用率の通知を受け、計算部34が計算した使用率に応じて、画面を切り替える間に操作部11に表示させるために使用する、切り替え前後の画面により構成される中間画面の数、例えばフレームレートを制御する。
制御部35は、これから行われる画面表示の最高フレームレートに設定したときのCPU使用率と、計算部34から取得したCPU使用率との合計が100%に収まる場合、最高フレームレート設定で表示画面を作成し、操作部11へ順に出力して表示させる。
制御部35は、その合計が100%を超えてしまう場合、100%に収まるようにフレームレートを落として表示画面を作成し、操作部11へ順に出力して表示させる。最高フレームレートが30fpsである場合、1秒間に30フレームを表示するための中間画面を作成する。中間画面は、切り替え前後の画面から構成され、その割合を変えた画面である。
以下に、計算部34および制御部35が行う具体的な処理について例をもって説明する。例えば、「プリンタ印刷」と「スキャナ配信」の2つのタスクが並行して実行され、動作しているときに、「画面表示(システム側で自動更新時)」というタスクを受け付けた場合を想定する。
図5に示すタスク設定情報を参照すると、「画面表示(システム側で自動更新時)」の優先度は、「プリンタ印刷」のプロッタエンジン、通信I/F、「スキャナ配信」のスキャナエンジン、通信I/Fのいずれのリソースに対する優先度より低い。「プリンタ印刷」では、プロッタエンジン24に20%、通信I/F26に15%のCPU使用率が必要となる。また、「スキャナ配信」では、スキャナエンジン25に30%、通信I/F26に15%のCPU使用率が必要となる。このため、CPU使用率の合計は、20+15+30+15=80%となる。つまり、必要なクロック周波数は、1GHz×80%=800MHzとなる。
すると、CPU使用率は、空きが20%しかなく、最高フレームレート設定で画面表示を行う場合に必要となる30%には10%足りない。そこで、最高フレームレートより低いフレームレートに設定し、画面表示を行うように制御する。この場合、最大の24fpsではなく、それより遅い16fpsに設定し、画面表示を行うように制御することができる。
フレームレートの計算は、以下のようにして行うことができる。最大時にCPU使用率30%(クロック周波数300MHz)で24fpsが対応できるため、CPU使用率1%(クロック周波数10MHz)では24/30fps(クロック周波数1GHz分の24/300)が対応できる。このとき、CPU使用率の空きは20%(クロック周波数200MHz)である。このため、フレームレートは、200MHz×24/300=16fpsとして計算することができる。
この計算方法は一例であり、他の方法で計算してもよい。最大時のCPU使用率が30%で、空きが20%であるため、10%(クロック周波数100MHz)分足りない。このため、フレームレートは、24−(24×100/300)=16fpsとして計算することができる。ここでは、クロック周波数に置き換えて計算したが、CPU使用率を用いて、24−(24×10/30)のように計算してもよい。
計算部34および制御部35の具体的な処理について別の例をもってさらに説明する。例えば、「プリンタ印刷」と「スキャナ配信」の2つのタスクが並行して実行されているときに、「画面表示(ユーザ操作受付時)」というタスクを受け付けた場合を想定する。
図5に示すタスク設定情報を参照すると、「画面表示(ユーザ操作受付時)」の優先度は、「プリンタ印刷」におけるプロッタエンジン24、「スキャナ配信」におけるスキャナエンジン25より低いが、通信I/F26より高い。プロッタエンジン24に対するCPU使用率は20%で、スキャナエンジンに対するCPU使用率は30%である。このため、CPU使用率の合計は、20+30=50%となる。つまり、必要なクロック周波数は、1GHz×50%=500MHzとなる。
すると、「画面表示(ユーザ操作受付時)」に対して優先的に割り当てられるべきCPU使用率は、空きが50%分ある。最高フレームレート設定で画面表示を行う場合に必要となる使用率は30%で、充分に足りる。そこで、最高フレームレートに設定し、画面表示を行うように制御する。
最高フレームレートを設定した場合、全体のCPU使用率は80%(クロック周波数は1GHz×80%=800MHz)となる。通信I/F26を利用した処理は、残りの使用率20%(クロック周波数200MHz)を利用して行う。
操作部11に表示される画面について説明する。切り替え前の画面が、図8(a)に示す画面である。切り替え後の画面が、図8(e)に示す画面である。中間画面は、図8(b)〜(d)に示す切り替え前後の画面から構成され、その面積を変えた画面である。
図8(b)は、切り替え前の画面の左3/4の面積の部分と、切り替え後の画面の左1/4の面積の部分とを結合して作成された中間画面である。図8(c)は、切り替え前の画面の左1/2の面積の部分と、切り替え後の画面の左1/2の面積の部分とを結合して作成された中間画面である。図8(d)は、切り替え前の画面の左1/4の面積の部分と、切り替え後の画面の左3/4の面積の部分とを結合して作成された中間画面である。
ユーザによる画面の右側から左側へ向けて指を払う操作(フリック処理)により画面を切り替えた場合、最高フレームレートでは、図8(a)、図8(b)、図8(c)、図8(d)、図8(e)の順に画面が遷移する。
最高フレームレートに設定すると、CPU使用率が100%を超える場合は、フレームレートを落として表示画面を作成し、画面表示を行う。この場合、例えば、図8(a)、図8(c)、図8(e)の画面を作成し、その順に画面表示を行う。すなわち、最高フレームレートからフレームを間引いて(図8(b)、図8(d)の画面を抜いて)描画するように制御する。
これまで、MFP10が備える機能部について説明してきたが、以下、これら機能部により実行される処理を、図9を参照して詳細に説明する。アプリケーション実行部30は、例えばタスク1の実行トリガが発生し、タスク1を開始すると、タスク管理部31に対し、そのタスク1の「タスク名」の登録を依頼する(図9S1)。タスク管理部31は、自身が保持するタスク管理テーブルの最後尾の順番に「タスク名」を登録し、保存する(図9S2)。
タスク管理部31は、タスク管理テーブルに登録された全タスクの情報を取得する(図9S3)。そして、タスク管理部31は、排他リソース管理部32に対して、排他リソースの情報を要求する(図9S4)。排他リソース管理部32は、その要求を受けて、排他リソース管理テーブルに登録されている排他リソースの情報をタスク管理部31に通知する。タスク管理部31は、その排他リソースの情報を取得する(図9S5)。
タスク管理部31は、取得した全タスクの情報と、取得した排他リソースの情報とを参照し、使用中の排他リソースの情報(リソース名)を排他リソース管理部32に通知する(図9S6)。排他リソース管理部32は、その通知を受け、そのリソース名に対応する使用状況に「使用中」を設定し、排他リソースを管理する。
タスク管理部31は、取得した全タスクの情報と、取得した排他リソースの情報と、自身が保持するタスク設定情報とを決定部33に渡す(図9S7)。決定部33は、受け取った情報に基づき、並行して動作可能なタスクを決定する(図9S8)。
例えば、全タスクが「プリンタ印刷」、「スキャナ配信」、「画面表示(ユーザ操作受付時)」の3つであれば、いずれも並行して動作可能なタスクとして決定される。一方、全タスクが「プリンタ印刷」、「コピー」、「画面表示(システム側で自動更新時)」の3つである場合、使用リソースの「プロッタエンジン」が重複しているため、「プリンタ印刷」と「コピー」というタスクは並行して動作させることができない。このため、「プリンタ印刷」と「コピー」のうち、先に登録され、動作中のタスクと「画面表示(システム側で自動更新時)」とが、並行して動作可能なタスクとして決定される。
決定部33は、図5に示すように優先度が設けられている場合、「画面表示(ユーザ操作受付時)」というタスク名のタスクより優先度が高いタスクまたはそのタスクが使用するリソースを決定する。決定部33は、決定したタスクの情報を計算部34に通知する(図9S9)。
計算部34は、決定部33により決定されたタスクが使用するCPU使用率を、タスク設定情報から取得し、それらを合計することにより計算する(図9S10)。
S1からS10の間に、画面を切り替える操作が発生し、入力部36がそれを受け付けると、入力部36は、制御部35に対して画面遷移の指示を通知する(図9S11)。制御部35は、その通知を受けて、計算部34に対してCPU使用率を要求する(図9S12)。計算部34は、計算したCPU使用率を通知し、制御部35は、そのCPU使用率を取得する(図9S13)。
制御部35は、取得したCPU使用率と、これから行われる画面表示の最高フレームレートに設定したときのCPU使用率との合計から、フレームレートを決定する(図9S14)。そして、制御部35は、決定したフレームレートを設定し、それに合わせた表示画面を作成し、画面表示を行うように制御する(図9S15)。つまり、制御部35は、設定したフレームレートに合わせて必要な数の中間画面を作成し、そのフレームレートに合うタイミングで順に操作部11に出力し、順に表示させる。
タスク1が終了した場合、アプリケーション実行部30は、タスク管理部31に対してタスク1の「タスク名」を通知し、タスク1の登録の抹消を依頼する(図9S16)。タスク管理部31は、この依頼を受け、タスク管理テーブルに登録されたタスク1を削除し、その登録を抹消する(図9S17)。
タスク管理部31は、タスク管理テーブルに登録された全タスクの情報を取得する(図9S18)。そして、タスク管理部31は、排他リソース管理部32に対して、排他リソースの情報を要求する(図9S19)。排他リソース管理部32は、その要求を受けて、排他リソース管理テーブルに登録されている排他リソースの情報をタスク管理部31に通知する。タスク管理部31は、その排他リソースの情報を取得する(図9S20)。
タスク管理部31は、取得した全タスクの情報と、取得した排他リソースの情報とを参照し、使用しなくなった排他リソースの情報(リソース名)を排他リソース管理部32に通知する(図9S21)。排他リソース管理部32は、その通知を受け、そのリソース名に対応する使用状況に「未使用」を設定し、排他リソースを管理する。
タスク管理部31は、取得した全タスクの情報と、取得した排他リソースの情報と、自身が保持するタスク設定情報とを決定部33に渡す(図9S22)。ここでは、再度これらの情報を渡しているが、抹消されたタスクの情報といった変更があった情報のみを渡してもよい。
決定部33は、受け取った情報に基づき、並行して動作可能なタスクを決定する(図9S23)。決定部33は、優先度が設けられている場合、「画面表示(ユーザ操作受付時)」というタスク名のタスクより優先度が高いタスクまたはそのタスクが使用するリソースを決定する。
計算部34は、決定部33により決定されたタスクが使用するCPU使用率を、タスク設定情報から取得し、それらを合計することにより計算する(図9S24)。MFP10は、タスクの登録の依頼があるたびに、図9に示すS1からS10の処理を繰り返し、タスクの抹消の依頼があるたびに、図9に示すS16からS24の処理を繰り返す。
このようにして、MFP10が実行するタスクのうち、リソースが競合して動作しないタスクおよび画面表示の優先度を考慮したCPU使用率を計算し、そのCPU使用率に応じたフレームレートに設定し、画面表示を行うことができる。このため、最高フレームレート設定(通常設定)が可能である場合は、最高フレームレートで、可能でない場合でも、処理可能なフレームレートで画面表示を行うことができる。
CPU負荷が高い場合でも、フレームレートを落として画面表示を行うことができるので、視覚的効果を残しつつユーザにストレスを与えない画面遷移を提供することができる。
図9に示すフローは、制御部35が取得したCPU使用率が100%に達していない場合のフローである。制御部35が取得したCPU使用率が既に100%に達している場合は、図9に示すようなフレームレートを落とすことで対応することはできない。
このような場合、制御部35は、タスク管理部31に対して画面表示の優先度の変更を要求し、タスク管理部31がその優先度を変更することで対応することができる。具体的には、画面表示の優先度を高くすることができる。画面表示の優先度が高くなれば、それまで画面表示の優先度より高かったタスクまたはリソースに対するCPU使用率の一部が低くなり、決定部33で決定されるタスクまたはリソースの数が減るからである。
この場合の処理について、図10を参照して説明する。図10に示すS1からS13までの処理は、図9に示すS1からS13までの処理と同様であるため、ここではその説明を省略する。また、図10では、図9に示すS16からS24までの処理も同様であるため、その記載を省略している。
制御部35は、取得したCPU使用率が100%に達していることを確認し、タスク管理部31に対して画面表示の優先度の変更を要求する(図10S14)。タスク管理部31は、画面表示の優先度を変更し、変更された優先度を決定部33に通知する(図10S15)。このとき、全タスク情報等の必要なその他の情報を通知することもできる。決定部33は、受け取った情報に基づき、並行して動作可能なタスクを決定する(図10S16)。
計算部34は、決定部33により決定されたタスクが使用するCPU使用率を、タスク設定情報から取得し(図10S17)、それらを合計することにより計算する(図10S18)。計算部34は、計算したCPU使用率を通知し、制御部35は、そのCPU使用率を取得する(図10S19)。制御部35は、取得したCPU使用率と、これから行われる画面表示の最高フレームレートに設定したときのCPU使用率との合計から、フレームレートを決定する(図10S20)。そして、制御部35は、決定したフレームレートを設定し、それに合わせた表示画面を作成し、画面表示を行うように制御する(図10S21)。
これまで本発明を、情報処理装置、制御方法およびプログラムとして上述した実施の形態をもって説明してきたが、本発明は上述した実施の形態に限定されるものではない。本発明は、他の実施の形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。したがって、上記のプログラムは、他の各種ソフトウェアとともにROM等に予め組み込んで提供するように構成してもよい。
上記の実施形態では、上記の各機能部は、CPU20がHDD23に格納されたプログラムを読み出して実行することにより、各機能部を実現するプログラムがRAM22上にロードされ、上記の各機能部が生成されている。しかしながら、これに限られるものではなく、例えば各機能部のうちの少なくとも一部が専用のハードウェア回路(例えば半導体集積回路)で実現されていてもよい。
10…MFP、11…操作部、12…原稿読み取り部、13…給紙部、14…印刷部、15…排紙部、20…CPU、21…ROM、22…RAM、23…HDD、24…プロッタエンジン、25…スキャナエンジン、26…通信I/F、27…操作I/F、28…ドライブ装置、29…記録媒体、30…アプリケーション実行部、31…タスク管理部、32…排他リソース管理部、33…決定部、34…計算部、35…制御部、36…入力部
Claims (10)
- 複数の処理を並行して実行可能な処理手段を含む情報処理装置であって、
前記処理手段が並行して実行不可の処理の情報を排他処理情報として管理する管理手段と、
前記管理手段が管理する前記排他処理情報に基づき、実行を要求された複数の処理のうち、前記処理手段が並行して実行可能な処理を決定する決定手段と、
前記決定手段により決定された処理を実行するために必要とされる前記処理手段の使用率を計算する計算手段と、
画面を切り替える要求を受け付ける入力手段と、
前記入力手段が受け付けた前記要求に従って前記処理手段が前記画面を切り替える処理を実行する際、前記計算手段により計算された前記処理手段の使用率に応じて、前記画面を切り替える間に表示手段に表示させるために使用する、切り替え前後の画面により構成される中間画面の数を制御する制御手段とを含む、情報処理装置。 - 前記管理手段は、前記処理の種別に応じて設定された前記処理手段の使用率を管理する、請求項1に記載の情報処理装置。
- 前記制御手段は、前記管理手段で管理する前記画面を切り替える処理に対して設定された前記処理手段の使用率と、前記計算手段により計算された前記処理手段の使用率とを合計し、合計した値に応じて、前記中間画面の数を制御する、請求項2に記載の情報処理装置。
- 前記管理手段は、前記処理の種別に応じて該種別の処理の優先度を管理する、請求項2または3に記載の情報処理装置。
- 前記決定手段は、前記管理手段が管理する前記排他処理情報および前記優先度に基づき、前記実行を要求された複数の処理のうち、前記画面を切り替える処理より優先度が高く、前記処理手段が並行して実行可能な処理を決定する、請求項4に記載の情報処理装置。
- 前記制御手段は、前記管理手段に対して前記画面を切り替える処理の優先度の変更を要求し、前記決定手段は、前記管理手段により変更された前記優先度に基づき、前記処理手段が並行して実行可能な処理を決定する、請求項5に記載の情報処理装置。
- 前記管理手段は、前記実行を要求された複数の処理の情報を管理し、処理の追加または終了により前記複数の処理の情報および該処理が排他処理である場合は前記排他処理情報を更新し、
前記決定手段および前記計算手段は、前記管理手段が管理する前記複数の処理の情報が変更される度に、前記処理手段が並行して実行可能な処理を決定し、前記処理手段の使用率を計算する、請求項1〜6のいずれか1項に記載の情報処理装置。 - 前記制御手段は、前記計算手段により計算された前記処理手段の使用率に応じて、前記中間画面の数を決定し、該数の該中間画面を生成して前記表示手段に出力する、請求項1〜7のいずれか1項に記載の情報処理装置。
- 複数の処理を並行して実行可能な処理手段を含む情報処理装置により実行される制御方法であって、
前記処理手段が並行して実行不可の処理の情報を排他処理情報として管理手段で管理するステップと、
前記管理手段が管理する前記排他処理情報に基づき、実行を要求された複数の処理のうち、前記処理手段が並行して実行可能な処理を決定するステップと、
決定された処理を実行するために必要とされる前記処理手段の使用率を計算するステップと、
画面を切り替える要求を受け付けるステップと、
受け付けた前記要求に従って前記処理手段が前記画面を切り替える処理を実行する際、計算された前記処理手段の使用率に応じて、前記画面を切り替える間に表示手段に表示させるために使用する、切り替え前後の画面により構成される中間画面の数を制御するステップとを含む、制御方法。 - 請求項9に記載の制御方法に含まれる各ステップをコンピュータに実行させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016117854A JP2017224083A (ja) | 2016-06-14 | 2016-06-14 | 情報処理装置、制御方法およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016117854A JP2017224083A (ja) | 2016-06-14 | 2016-06-14 | 情報処理装置、制御方法およびプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2017224083A true JP2017224083A (ja) | 2017-12-21 |
Family
ID=60686955
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016117854A Pending JP2017224083A (ja) | 2016-06-14 | 2016-06-14 | 情報処理装置、制御方法およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2017224083A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108509318A (zh) * | 2018-03-30 | 2018-09-07 | 联想(北京)有限公司 | 一种信息处理方法和电子设备 |
-
2016
- 2016-06-14 JP JP2016117854A patent/JP2017224083A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108509318A (zh) * | 2018-03-30 | 2018-09-07 | 联想(北京)有限公司 | 一种信息处理方法和电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2666967C2 (ru) | Устройство обработки информации, способ обработки информации и носитель записи | |
US9235793B2 (en) | Information processing apparatus, storage medium, and information processing system | |
JP5708017B2 (ja) | 情報処理システム、情報処理機器、プログラム | |
US11778110B2 (en) | Image processing apparatus displaying a home screen in a fixed button mode in a state where acquisition of a recommended button information is unavailable | |
US8543677B2 (en) | Communication control device, method, and computer readable medium allowing an information processing device to be in a power saving mode for an extended period and allowing an application part to continue functioning | |
US10129426B2 (en) | Image forming apparatus having display screen with position configurable icons, information processing method, and computer-readable recording medium | |
US20100122247A1 (en) | Application platform and application | |
US9563444B2 (en) | Image forming apparatus having hibernation function according to device connection states, control method therefor, and storage medium | |
US10037591B2 (en) | Information processing apparatus and method of controlling the same | |
JP2017140708A (ja) | 通信制御方法、プログラム、及び印刷装置 | |
JP2010165059A (ja) | ユニバーサルプリンタドライバプログラム及び記録媒体 | |
US11093104B2 (en) | Icon display control apparatus that prevents messy display of icons, method of controlling same, and storage medium | |
US9924064B2 (en) | Information processing apparatus, method of controlling the same, and storage medium | |
US20170041482A1 (en) | Printing apparatus having plurality of power states and control method therefor | |
JP2011043932A (ja) | 情報処理装置 | |
JP2017224083A (ja) | 情報処理装置、制御方法およびプログラム | |
JP2012165325A (ja) | 画像処理装置、画面制御プログラム及び記録媒体 | |
US10191425B2 (en) | Device and control method | |
JP2016203542A (ja) | 画像形成装置、制御方法、及びプログラム | |
EP3644191A1 (en) | Memory system and electronic device | |
JP2015114882A (ja) | 画像形成装置、その制御方法及びプログラム | |
JP6024782B2 (ja) | 画像形成装置、カスタマイズ制御方法及びカスタマイズ制御プログラム | |
JP2019144960A (ja) | 更新管理サーバおよびプログラム | |
US20240163383A1 (en) | Information processing apparatus and method for controlling an information processing apparatus | |
JP5298980B2 (ja) | 印刷制御装置,印刷制御方法,プログラム,および記録媒体 |