JP2013210826A - 情報処理装置、描画処理システム、描画処理方法およびプログラム - Google Patents

情報処理装置、描画処理システム、描画処理方法およびプログラム Download PDF

Info

Publication number
JP2013210826A
JP2013210826A JP2012080453A JP2012080453A JP2013210826A JP 2013210826 A JP2013210826 A JP 2013210826A JP 2012080453 A JP2012080453 A JP 2012080453A JP 2012080453 A JP2012080453 A JP 2012080453A JP 2013210826 A JP2013210826 A JP 2013210826A
Authority
JP
Japan
Prior art keywords
load
cpu
low
display screen
monitoring unit
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.)
Granted
Application number
JP2012080453A
Other languages
English (en)
Other versions
JP5984205B2 (ja
Inventor
Keiki Inoue
京騎 井上
Naomi Ozaki
尚美 尾崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
NEC Solution Innovators Ltd
Original Assignee
NEC Corp
NEC System Technologies Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Corp, NEC System Technologies Ltd filed Critical NEC Corp
Priority to JP2012080453A priority Critical patent/JP5984205B2/ja
Publication of JP2013210826A publication Critical patent/JP2013210826A/ja
Application granted granted Critical
Publication of JP5984205B2 publication Critical patent/JP5984205B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】描画処理において、処理対象を予め指定しておく必要無しに、より効率的に描画負荷を軽減させられるようにする。
【解決手段】CPU監視部113が、低負荷描画処理部114およびシステム描画処理部115としての処理を行うCPUの負荷を検出する。そして、描画制御部112は、システム標準の描画の発生頻度と、CPU監視部113が検出したCPUの負荷とに基づいて、表示装置14の具備する表示画面の表示する画像に対する低負荷描画処理部114による更新タイミングの制御の有無を切り替える。
【選択図】図1

Description

本発明は、情報処理装置、描画処理システム、描画処理方法およびプログラムに関する。
情報処理装置が行う描画処理に関連して幾つかの技術が提案されている。
例えば、特許文献1に記載のCRT画面表示方式では、画面の表示要求に応じて計算機システムによりCRT表示器に画面を表示するCRT画面表示方式において、ある定められた時間内に複数の表示要求があった場合、当該時間内の最新の表示要求のみを受付処理し、それ以前の表示要求を間引きする。
これにより、伝送渋滞がなくなると共に、応答速度が速くなり、その結果、計算機付負荷を軽減することができる、とされている。
また、特許文献2に記載の地図表示装置は、表示部を備え、現在位置や所望の地点を含む地図画像を表示部に表示する。描画処理アプリケーションが単位地図データを表示する際、描画時間計測部が描画時間を計測する。そして、描画処理アプリケーションが地図画像をスクロール処理する際、描画時間が所定の閾値を超える場合、描画方法変更部は、単位地図データに含まれる描画方法が異なるデータのうち、処理負荷の大きい描画方法を用いるデータを選択して処理負荷の小さな描画方法に変更し、描画方法変更部が変更した描画方法に基づいて地図データを描画処理して表示部に表示された地図画像をスクロールする。
これにより、スクロール処理の負荷を効果的に軽減できる、とされている。
また、特許文献3に記載のサーバ装置は、受信手段によって受信された制御命令の操作対象が、記憶手段に制御命令と関連付けて記憶されたアプリケーション・プログラムである場合には、制御命令に関連付けて記憶された間引き処理方法を用いて、受信した複数の制御命令に対する間引き処理を実行する間引き処理手段を備える。
これにより、入力コマンドの間引き量を適応的に制御して、表示画像の品質を維持しながら遅延時間を短縮することができる、とされている。
特開昭62−066324号公報 特開2008−151750号公報 特開2007−328594号公報
しかしながら、特許文献1に記載のCRT画面表示方式は、画面の表示処理に要する時間よりも短い周期で表示要求がある場合に対処するものであり、CPU負荷軽減目的には必ずしも適合しない。例えば、情報処理装置が、CPU負荷の軽減を目的として表示要求の間引きを行っても、表示要求の時間間隔が元々長い場合には、CPU負荷軽減の効果をほとんど得られないことが考えられる。一方、元々長い表示要求を間引きすることで、画面表示の更新間隔が過大に延びてしまい、ユーザの情報把握(例えば処理状況の把握)に支障をきたすおそれがある。
また、特許文献2に記載の地図表示装置でも、描画時間が長くなっている原因が、描画処理以外の処理を行ってCPU負荷が上昇したためである場合、描画処理方法を変更しても、スクロール処理の負荷軽減の効果をほとんど得られないことが考えられる。一方、描画処理方法を変更して簡易な描画を行うことで、ユーザの得られる情報が減少してしまうおそれがある。
また、特許文献3に記載のサーバ装置では、記憶手段が間引き処理対象を予め記憶しておく必要がある。すなわち、ユーザが、間引き処理対象を予め指定しておく必要がある。
本発明は、上述の課題を解決することのできる情報処理装置、描画処理システム、描画処理方法およびプログラムを提供することを目的としている。
この発明は上述した課題を解決するためになされたもので、本発明の一態様による情報処理装置は、システム標準の描画の描画情報に基づいて画像データを生成し、生成した画像データに基づく画像を表示画面に表示させる低負荷描画処理部と、少なくとも前記画像データを生成して前記表示画面に表示させる処理を実行するCPUの負荷を検出するCPU監視部と、システム標準の描画を監視して当該システム標準の描画の発生頻度を検出する描画監視部と、前記描画監視部が検出した前記システム標準の描画の発生頻度と、前記CPU監視部が検出した前記CPUの負荷とに基づいて、前記低負荷描画処理部による前記表示画面の表示する前記画像の更新タイミングの制御の有無を切り替える描画制御部と、を具備することを特徴とする。
また、本発明の一態様による描画処理システムは、通信ネットワークで接続されたサーバ装置とクライアント装置とを具備し、前記サーバ装置は、前記クライアント装置に描画命令を送信し、前記クライアント装置は、システム標準の描画の描画情報に基づいて画像データを生成し、生成した画像データに基づく画像を表示画面に表示させる低負荷描画処理部と、少なくとも前記画像データを生成して前記表示画面に表示させる処理を実行するCPUの負荷を検出するCPU監視部と、システム標準の描画を監視して当該システム標準の描画の発生頻度を検出する描画監視部と、前記描画監視部が検出した前記システム標準の描画の発生頻度と、前記CPU監視部が検出した前記CPUの負荷とに基づいて、前記低負荷描画処理部による前記表示画面の表示する前記画像の更新タイミングの制御の有無を切り替える描画制御部と、を具備することを特徴とする。
また、本発明の一態様による描画処理方法は、通信ネットワークに接続されて描画命令を受信し、当該描画命令に基づいて表示画面の画像を更新する情報処理装置の描画処理方法であって、システム標準の描画の描画情報に基づいて画像データを生成し、生成した画像データに基づく画像を表示画面に表示させる低負荷描画処理ステップと、少なくとも前記画像データを生成して前記表示画面に表示させる処理を実行するCPUの負荷を検出するCPU監視部ステップと、システム標準の描画を監視して当該システム標準の描画の発生頻度を検出する描画監視部ステップと、前記描画監視ステップにて検出した前記システム標準の描画の発生頻度と、前記CPU監視ステップにて検出した前記CPUの負荷とに基づいて、前記低負荷描画処理ステップでの、前記表示画面の表示する前記画像の更新タイミングの制御の有無を切り替える描画制御ステップと、を具備することを特徴とする。
また、本発明の一態様によるプログラムは、通信ネットワークに接続されて描画命令を受信し、当該描画命令に基づいて表示画面の画像を更新する情報処理装置に、システム標準の描画の描画情報に基づいて画像データを生成し、生成した画像データに基づく画像を表示画面に表示させる低負荷描画処理ステップと、少なくとも前記画像データを生成して前記表示画面に表示させる処理を実行するCPUの負荷を検出するCPU監視部ステップ、システム標準の描画を監視して当該システム標準の描画の発生頻度を検出する描画監視部ステップ、前記描画監視ステップにて検出した前記システム標準の描画の発生頻度と、前記CPU監視ステップにて検出した前記CPUの負荷とに基づいて、前記低負荷描画処理ステップでの、前記表示画面の表示する前記画像の更新タイミングの制御の有無を切り替える描画制御ステップと、を実行させるためのプログラムである。
本発明によれば、処理対象を予め指定しておく必要無しに、より効率的に描画負荷を軽減させることができる。
本発明の一実施形態における描画処理システムの機能構成を示す概略ブロック図である。 同実施形態において、低負荷描画処理部が行う処理の手順を示すフローチャートである。 同実施形態の描画制御部における状態遷移を示す状態遷移図である。 同実施形態において、描画制御部が行う処理の手順を示すフローチャートである。 同実施形態において、CPU監視部が行う処理の手順を示すフローチャートである。 同実施形態において、描画監視部が行う処理の手順を示すフローチャートである。 同実施形態において、描画制御部が描画休止状態から描画制御予備状態に遷移し、さらに描画制御状態、描画制御解除予備状態に遷移して描画休止状態に戻る例を示すシーケンス図である。 同実施形態において、描画制御部が描画制御解除予備状態から描画制御状態への遷移を行う例を示すシーケンス図である。 同実施形態において、描画制御部が描画制御状態から描画休止状態への遷移を行う例を示すシーケンス図である。 同実施形態において、描画制御部が描画制御予備状態から描画休止状態への遷移を行う例を示すシーケンス図である。 クライアント装置における本発明の最小構成を示す概略構成図である。
以下、図面を参照して、本発明の実施の形態について説明する。
図1は、本発明の一実施形態における描画処理システムの機能構成を示す概略ブロック図である。同図において、描画処理システム1は、リモート接続環境におけるクライアントシステムであるクライアント装置11、リモート接続環境におけるサーバシステムであるサーバ装置12、および、クライアントの画面を表示する表示装置14を具備する。
クライアント装置11とサーバ装置12とは、通信ネットワークを介して、クライアント・サーバの接続手段であるリモート接続にて接続されている。そして、サーバ装置12は、リモート接続を用いてクライアント装置11に描画命令を送信する。
ここで、サーバ装置は、描画命令として、表示装置14が表示画面に表示する画像全体(以下、「全画面」と称する。また、全画面を示す画像データを、「全画面データ」と称する)のうちの更新部分を示すデータ(以下、「差分データ」と称する)を送信する。
クライアント装置11は、描画監視部111と、描画制御部112と、CPU監視部113と、低負荷描画処理部114と、システム描画処理部115と、メインメモリ116と、VRAM(Video RAM(Random Access Memory))117とを具備する。
メインメモリ116は、クライアント装置11の具備する記憶デバイスにて実現され、各種データを記憶する。特に、メインメモリ116は、画面イメージ(画面表示用の画像データ)を格納する。
VRAM117は、メインメモリ116が記憶している画面イメージの転送を受けることで表示装置14に画面表示を行わせる。
描画監視部111は、クライアント装置11における描画の発生を監視する。具体的には、クライアント装置11がサーバ装置12からの描画命令を受信すると、システム描画処理部115が、システム標準の描画の描画情報を発生させる。そして、描画監視部111は、当該描画情報の発生を監視することで、描画処理の頻度を検出する。
CPU監視部113は、クライアント装置11におけるCPU使用率を監視する。このCPUは、少なくとも前記画像データを生成して前記表示画面に表示させる処理を実行する。具体的には、CPUは、低負荷描画処理部114としての描画処理や、システム描画処理部115としての描画処理など、各種処理を実行する。
システム描画処理部115は、システム標準の描画処理を行う。具体的には、システム描画処理部115は、メインメモリ116の記憶している画像データ(全画面データ)を、クライアント装置11からの描画命令(差分データ)に従って更新する。そして、システム描画処理部115は、更新した画像データをVRAM117に転送することで、表示装置14の表示画面に、当該画像データの画像を表示させる。ここで、システム描画処理部115は、クライアント装置11がサーバ装置12から描画命令を受信し描画を行う毎(描画が発生する毎)に、メインメモリ116からVRAM117への画像データの転送を行う。
低負荷描画処理部114は、描画命令に対応した画面イメージの更新およびメインメモリ116上の画面イメージのVRAM117への転送(描画処理)を、CPU負荷を軽減した方式で実行する。具体的には、低負荷描画処理部114は、システム描画処理部115と同様、クライアント装置11がサーバ装置12から描画命令を受信する毎に(システム描画処理部115がシステム標準の描画の描画情報を発生させる毎に)、システム描画処理部115に代わって、メインメモリ116の記憶している画像データを描画命令に従って更新する。一方、低負荷描画処理部114は、システム描画処理部115と異なり、更新した画像データを、一定周期毎にVRAM117に転送する。このように、低負荷描画処理部114は、メインメモリ116からVRAM117への画像データの転送処理の間引きを行う。
描画制御部112は、低負荷での描画の開始/休止を制御する。具体的には、描画制御部112は、低負荷描画処理部114による低負荷での描画処理と、システム描画処理部115によるシステム標準の描画処理との切替を行う。
なお、クライアント装置11は、本発明における情報処理装置の一例に該当し、描画監視部111と、描画制御部112と、CPU監視部113と、低負荷描画処理部114とを具備する。
次に、図2〜図6を参照して、描画処理システム1の動作について説明する。
図2は、低負荷描画処理部114が行う処理の手順を示すフローチャートである。低負荷描画処理部114は、クライアント装置11が起動して動作状態となると同図の処理を開始する。
同図の処理において、低負荷描画処理部114は、まず、低負荷描画を休止した状態で、描画制御部112からの低負荷描画の開始(低負荷描画開始)の通知を待ち受ける。具体的には、低負荷描画処理部114は、低負荷描画開始の通知を受けたか否かを判定する(ステップS101)。低負荷描画開始の通知を受けていないと判定した場合(ステップS101:いいえ)、ステップS101へ戻る。
一方、低負荷描画開始の通知を受けたと判定した場合(ステップS101:はい)、低負荷描画処理部114は、システム描画処理部115におけるシステム標準の描画の発生の監視を開始する(ステップS102)。そして、低負荷描画処理部114は、描画実行周期を描画待ち時間として描画タイマーを始動させる(ステップS103)。ここで、描画実行周期とは、メインメモリ116が記憶している画面イメージをVRAM117に転送する周期である。描画実行周期は、例えば、ユーザなど描画処理システム1の管理者が任意に設定可能な定数として規定される。
そして、低負荷描画処理部114は、システム描画処理部115がシステム標準の描画を発生させると、システム描画処理部115に代わってメインメモリ116上の画面イメージを逐次更新する(ステップS104)。具体的には、低負荷描画処理部114は、サーバ装置12からクライアント装置11への描画命令をシステム描画処理部115が取得すると、当該描画命令をシステム描画処理部115から取得し、システム描画処理部115に代わってメインメモリ116上の画面イメージを逐次更新する。
次に、低負荷描画処理部114は、ステップS103でカウントを開始してから描画待ち時間が経過したか否かを判定する(ステップS105)。描画待ち時間が経過していないと判定した場合(ステップS105:いいえ)、ステップS104へ戻る。
一方、描画待ち時間が経過したと判定した場合(ステップS105:はい)、低負荷描画処理部114は、メインメモリ116が記憶する画面イメージをVRAM117へ転送する(ステップS106)。これにより、低負荷描画処理部114は、複数の描画命令で更新された画面のイメージを描画周期毎にメインメモリ116からVRAM117へ転送(画面表示)する。
そして、低負荷描画処理部114は、描画制御部112から低負荷描画終了の通知を受けたか否かを判定する(ステップS107)。低負荷描画終了の通知を受けたと判定した場合(ステップS107:はい)、ステップS101へ戻る。一方、低負荷描画終了の通知を受けていないと判定した場合(ステップS107:いいえ)、ステップS104へ戻る。
低負荷描画処理部114に低負荷描画を実行させることで、クライアント装置11は、メインメモリ116上の画面イメージをVRAM117へ転送する回数を削減する。すなわち、クライアント装置11は、メインメモリ116上の画面イメージのVRAM117への転送処理の間引きを行って、システム標準の描画処理において発生していたCPU使用率の上昇を緩和する。
一方、CPU負荷および描画負荷(描画に起因するCPU負荷)が一定水準以下の場合、クライアント装置11は、低負荷描画を休止し、システム標準の描画処理を行う。なお、描画実行周期に関しては、CPUの負荷を軽減するとともに描画の不具合が発生しないレベルの描画実行周期に設定しておく。例えば、ユーザなど描画処理システム1の管理者が、描画処理システム1を使用してみて、描画実行周期の調整を行う。
図3は、描画制御部112における状態遷移を示す状態遷移図である。
同図において、描画制御部112は、描画休止状態M11と、描画制御予備状態M12と、描画制御状態M13と、描画制御解除予備状態M14とを有する。描画休止状態M11と、描画制御予備状態M12とは、システム描画処理部115に描画を行わせる状態である。一方、描画制御状態M13と、描画制御解除予備状態M14とは、低負荷描画処理部114に描画を行わせる状態である。
描画制御部112は、CPU負荷および描画負荷が一定水準以下の状況では、描画休止状態M11として、低負荷描画処理部114の低負荷での描画を休止させ、システム描画処理部115にシステム標準の描画を行わせる。
そして、描画休止状態M11において描画監視部111から描画高負荷通知を受けると、描画制御部112は、描画制御予備状態M12に遷移する(遷移T111)。ここで、描画高負荷通知とは、描画負荷(描画に起因するCPU負荷)が一定水準以上であることの通知である。描画監視部111は、後述するように、クライアント装置11がサーバ装置12から描画命令を受信して発生する描画の頻度に基づいて、描画負荷が一定水準以上となっていることを検出(推定)して、描画高負荷通知を描画制御部112に出力する。
この描画制御予備状態M12では、描画負荷が一定水準以上となっていることを描画監視部111が検出しているが、一方で、CPU監視部113は、CPU負荷一定水準以上を検出していない。すなわち、描画制御予備状態M12では、描画負荷が高くなっているものの、CPU負荷全体では比較的低負荷となっていると考えられる。そうすると、描画負荷を低減させる必要性は、まだ生じていないことになる。そこで、描画制御予備状態M12において、描画制御部112は、システム描画処理部115にシステム標準の描画を行わせる(継続させる)。
描画制御予備状態M12において、描画監視部111から描画高負荷解除通知を受けた場合、描画制御部112は、描画休止状態M11に遷移する(遷移T121)。ここで、描画高負荷解除通知とは、描画負荷が一定水準以下であることの通知である。描画監視部111は、後述するように、クライアント装置11がサーバ装置12から描画命令を受信して発生する描画の頻度に基づいて、描画負荷が一定水準以下となっていることを検出(推定)して、描画高負荷解除通知を描画制御部112に出力する。
このように、描画制御予備状態M12において、描画監視部111から描画高負荷解除通知を受けた場合、CPU負荷および描画負荷が一定水準以下の状況にあると考えられる。そこで、描画制御部112は、上記のように描画休止状態M11に遷移する。
一方、描画制御予備状態M12において、CPU監視部113からCPU高負荷通知を受けた場合、描画制御部112は、描画制御状態M13に遷移する(遷移T122)。
ここで、CPU高負荷通知とは、CPU負荷が一定水準以上であることの通知である。従って、CPU負荷と描画負荷とが共に一定水準以上にあることになる。特に、CPU高負荷通知は、CPU負荷を低減させることが少なくとも好ましい水準にあることを示す。
この場合、CPU負荷における描画負荷の割合が比較的大きく、描画負荷を低減させることで、CPU負荷の低減を期待し得る。そこで、描画制御部112は、システム描画処理部115のシステム標準の描画処理に代わり、低負荷描画処理部114に低負荷での描画処理を行わせる。これにより、描画負荷を低減し、ひいてはCPU負荷を低減できることが期待される。
描画制御状態M13において、描画監視部111から描画高負荷解除通知を受けた場合、描画制御部112は、描画休止状態M11に遷移する(遷移T131)。
ここで、描画制御状態M13において、描画監視部111から描画高負荷解除通知を受けた場合、CPU負荷は高いが、描画負荷は比較的低い状態にあると考えられる。この場合、CPU負荷における描画負荷の割合は小さく、描画負荷を低減させてもCPU負荷の低減はほとんどないと思われる。そうすると、低負荷描画処理部114が低負荷での描画を行うメリットはほとんど無く、システム描画処理部115がシステム標準の描画を行ったほうが、描画処理システム1全体の処理として適切である(例えば、ユーザのストレスが小さい)と考えられる。
そこで、描画制御部112は、上記のように描画休止状態M11に遷移して、低負荷描画処理部114の低負荷での描画処理を休止させ、代わりにシステム描画処理部115にシステム標準での描画処理を行わせる。
また、描画制御状態M13において、CPU監視部113からCPU高負荷解除通知を受けた場合、描画制御部112は、描画制御解除予備状態M14に遷移する(遷移T132)。
ここで、CPU高負荷解除通知は、CPU負荷が一定水準以下にあることの通知である。このことから、CPU負荷を低減させる必要がなくなったものとして、低負荷での描画を終了する制御も可能である。
しかし、描画負荷は引き続き一定水準以上となっている。そうすると、例えばCPU負荷の変化が激しい場合、CPU監視部113が、CPU高負荷通知とCPU高負荷解除通知とを繰り返し出力し、描画制御部112は、低負荷での描画処理とシステム標準の描画処理とを頻繁に切り替えることになり得る。この低負荷での描画処理とシステム標準の描画処理との切替の際の処理に要するCPU負荷が比較的大きい場合、切替が頻発することでCPU負荷が上昇してしまう。
そこで、描画制御部112は、描画制御解除予備状態M14において、引き続きシステム描画処理部115にシステム標準の描画を行わせる。これにより、描画処理の切替の頻発を抑制することができる。
描画制御解除予備状態M14において、CPU監視部113からCPU高負荷通知を受けた場合、描画制御部112は、描画制御状態M13に遷移する(遷移T142)。
ここで、描画制御解除予備状態M14において、CPU監視部113からCPU高負荷通知を受けた場合、CPU負荷と描画負荷とがいずれも高い状態にあると考えられる。そこで、描画制御部112は、描画制御状態M13に遷移して、引き続き低負荷描画処理部114に低負荷での描画を行わせる。
一方、描画制御解除予備状態M14において、描画監視部111から描画高負荷解除通知を受けた場合、描画制御部112は、描画休止状態M11に遷移する(遷移T141)。
ここで、描画制御解除予備状態M14において、描画監視部111から描画高負荷解除通知を受けた場合、CPU負荷と描画負荷とがいずれも低い状態にあると考えられる。そこで、描画制御部112は、描画休止状態M11に遷移して、低負荷描画処理部114の低負荷での描画を休止させ、代わりに、システム描画処理部115にシステム標準の描画を行わせる。
図4は、描画制御部112が行う処理の手順を示すフローチャートである。描画制御部112は、クライアント装置11が起動して動作状態となると同図の処理を開始する。
描画制御部112は、CPU負荷および描画負荷が一定水準以下の状況では、描画休止状態M11として、システム描画処理部115がシステム標準の描画を行う(ステップS201)。
また、描画休止状態M11において、描画制御部112は、描画監視部111からの描画負荷増加の通知(描画高負荷通知)の有無を判定する(ステップS202)。描画監視部111より描画高負荷通知を受けていないと判定した場合(ステップS202:いいえ)、ステップS201へ戻り、描画休止状態M11を維持する。
一方、描画監視部111より描画高負荷通知を受けたと判定した場合(ステップS202:はい)、描画制御部112は、描画制御予備状態M12に遷移する(ステップS203、遷移T111)。描画制御予備状態M12において、描画制御部112は、システム描画処理部115の描画を継続させる。
また、描画制御予備状態M12において、描画制御部112は、描画監視部111からの描画低負荷の通知(描画高負荷解除通知)の有無を判定する(ステップS204)。描画監視部111より描画高負荷解除通知を受けたと判定した場合(ステップS204:はい)、ステップS201へ戻る。この場合、描画制御部112は、ステップS201にて描画休止状態M11に遷移する(遷移T121)。
一方、描画監視部111より描画高負荷解除通知を受けていないと判定した場合(ステップS204:いいえ)、描画制御部112は、CPU監視部113からのCPU高負荷の通知(CPU高負荷通知)の有無を判定する(ステップS205)。
CPU監視部113よりCPU高負荷通知を受けていないと判定した場合(ステップS205:いいえ)、ステップS203へ戻り、描画制御予備状態M12を維持する。
一方、CPU監視部113よりCPU高負荷通知を受けたと判定した場合(ステップS205:はい)、描画制御部112は、システム描画処理部115の描画を中止させるとともに、低負荷描画処理部114に低負荷描画の開始を通知(低負荷描画開始通知)して低負荷での描画を行わせる(ステップS206)。
そして、描画制御部112は、描画制御状態M13に遷移する(ステップS207、遷移T122)。描画制御状態M13において、描画制御部112は、低負荷描画処理部114に描画を行わせる。
また、描画制御状態M13において、描画制御部112は、描画監視部111からの描画負高荷解除通知の有無を判定する(ステップS208)。描画監視部111より描画高負荷解除通知を受けたと判定した場合(ステップS208:はい)、描画制御部112は、システム描画処理部115によるシステム標準の描画に切り替えるとともに、低負荷描画処理部114に低負荷での描画の休止を通知(低負荷描画休止通知)して低負荷での描画を休止させる(ステップS213)。
その後、ステップS201へ戻る。この場合、描画制御部112は、ステップS201にて描画休止状態M11に遷移する(遷移T131)。
一方、ステップS208において、描画監視部111より描画高負荷解除通知を受けていないと判定した場合(ステップS208:いいえ)、描画制御部112は、CPU監視部113からのCPU低負荷の通知(CPU高負荷解除通知)の有無を判定する(ステップS209)。CPU監視部113よりCPU高負荷解除通知を受けていないと判定した場合(ステップS209:いいえ)、ステップS207へ戻り、描画制御状態M13を維持する。
一方、CPU監視部113よりCPU高負荷解除通知を受けたと判定した場合(ステップS209:はい)、描画制御部112は、描画制御解除予備状態M14に遷移する(ステップS210、遷移T132)。描画制御解除予備状態M14において、描画制御部112は、低負荷描画処理部114の描画を継続させる。
また、描画制御解除予備状態M14において、描画制御部112は、描画監視部111からの描画高負荷解除通知の有無を判定する(ステップS211)。描画監視部111より描画高負荷解除通知を受けたと判定した場合(ステップS211:はい)、ステップS213へ進む。この場合、描画制御部112は、ステップS213の次のステップS201において、遷移T141にて描画休止状態M11に遷移する。
一方、ステップS211において、描画監視部111より描画高負荷解除通知を受けていないと判定した場合(ステップS211:いいえ)、描画制御部112は、CPU監視部113からのCPU高負荷通知の有無を判定する(ステップS212)。CPU監視部113よりCPU高負荷通知を受けていないと判定した場合(ステップS212:いいえ)、ステップS210へ戻り、描画制御解除予備状態M14を維持する。
一方、CPU監視部113よりCPU高負荷通知を受けたと判定した場合(ステップS212:はい)、ステップS207へ戻る。この場合、描画制御部112は、ステップS207において、遷移T142にて描画制御状態M13に遷移する。
図5は、CPU監視部113が行う処理の手順を示すフローチャートである。CPU監視部113は、クライアント装置11が起動して動作状態となると同図の処理を開始する。
同図の処理において、CPU監視部113は、まず、カウンタやフラグの初期化を行う(ステップS301)。具体的には、CPU監視部113は、CPU低負荷カウンタの値を0に設定(ゼロリセット)し、CPU高負荷カウンタの値を0に設定(ゼロリセット)し、CPU負荷フラグの値を低に設定する。
次に、CPU監視部113は、CPU監視周期を待ち受けるためのCPU負荷監視タイマーを始動させる(ステップS302)。そして、CPU監視部113は、CPU負荷監視タイマーが満了したか否か、すなわち、CPU監視周期が経過したか否かを判定する(ステップS303)。
CPU負荷監視タイマーが満了していないと判定した場合(ステップS303:いいえ)、ステップS303へ戻る。すなわち、CPU監視部113は、CPU監視周期の経過を待ち受ける。
一方、CPU負荷監視タイマーが満了したと判定した場合(ステップS303:はい)、CPU監視部113は、クライアント装置11のCPU使用率を取得する(ステップS304)。そして、CPU監視部113は、CPU使用率が閾値(CPU使用率制限値)を超えているか否かを判定する(ステップS305)。
CPU使用率が閾値を超えていると判定した場合(ステップS305:はい)、CPU監視部113は、CPU低負荷カウンタの値を0に設定(ゼロリセット)する(ステップS306)。
また、CPU監視部113は、CPU負荷フラグの値が高か低かを判定する(ステップS307)。CPU負荷フラグの値が高であると判定した場合(ステップS307:高)、すなわち、既にCPU高負荷を通知済みの場合、ステップS302へ戻る。
一方、CPU負荷フラグの値が低であると判定した場合(ステップS307:低)、CPU監視部113は、CPU高負荷カウンタの値を1増加させる(ステップS308)。
そして、CPU監視部113は、CPU高負荷カウンタの値がCPU高負荷周期数に達したか否かを判定する(ステップS309)、すなわち、CPU監視部113は、CPU使用率がCPU使用率制限値を越える状態が一定時間継続したか否かを判定する。なお、CPU使用率がCPU使用率制限値を越える状態が一定時間継続したことを、「CPU負荷>CPU高負荷指標」と表記する。
CPU高負荷カウンタの値がCPU高負荷周期数に達していないと判定した場合(ステップS309:いいえ)、ステップS302へ戻る。
一方、CPU高負荷カウンタの値がCPU高負荷周期数に達したと判定した場合(ステップS309:はい)、CPU監視部113は、CPU負荷フラグの値を高に設定する(ステップS310)。また、CPU監視部113は、描画制御部112にCPU高負荷を通知(CPU高負荷通知)する(ステップS311)。
その後、ステップS302へ戻る。
一方、ステップS305において、CPU使用率が閾値を超えていないと判定した場合(ステップS305:いいえ)、CPU監視部113は、CPU高負荷カウンタの値を0に設定(ゼロリセット)する(ステップS312)。
また、CPU監視部113は、CPU負荷フラグの値が高か低かを判定する(ステップS313)。CPU負荷フラグの値が低であると判定した場合(ステップS313:低)、すなわち、既にCPU高負荷解除を通知済みの場合、ステップS302へ戻る。
一方、CPU負荷フラグの値が高であると判定した場合(ステップS313:高)、CPU監視部113は、CPU低負荷カウンタの値を1増加させる(ステップS314)。
そして、CPU監視部113は、CPU低負荷カウンタの値がCPU低負荷周期数に達したか否かを判定する(ステップS315)、すなわち、CPU監視部113は、CPU使用率がCPU使用率制限値を越えない状態が一定時間継続したか否かを判定する。なお、CPU使用率がCPU使用率制限値を越えない状態が一定時間継続したことを、「CPU負荷<CPU低負荷指標」と表記する。
CPU低負荷カウンタの値がCPU低負荷周期数に達していないと判定した場合(ステップS315:いいえ)、ステップS302へ戻る。
一方、CPU低負荷カウンタの値がCPU低負荷周期数に達したと判定した場合(ステップS315:はい)、CPU監視部113は、CPU負荷フラグの値を低に設定する(ステップS316)。また、CPU監視部113は、描画制御部112にCPU負荷がCPU負荷指標を下回ったことを通知(CPU高負荷解除通知)する(ステップS317)。
その後、ステップS302へ戻る。
なお、CPU使用率制限値、CPU監視周期、CPU高負荷周期数、CPU低負荷周期数に関しては、例えば、任意の値を設定可能としておき、描画処理システム1を運用した状態において、ユーザなど描画処理システム1の管理者が適切な値に調整する。
図6は、描画監視部111が行う処理の手順を示すフローチャートである。描画監視部111は、クライアント装置11が起動して動作状態となると同図の処理を開始する。
同図の処理において、描画監視部111は、まず、カウンタやフラグの初期化を行う(ステップS401)。具体的には、描画監視部111は、描画低負荷カウンタの値を0に設定(ゼロリセット)し、描画高負荷カウンタの値を0に設定(ゼロリセット)し、描画負荷フラグの値を低に設定し、描画命令実行時刻の値を、現在時刻から所定の時間(描画実行周期)を減算した時刻に設定する。
次に、描画監視部111は、システム標準の描画を検出したか否かを判定する(ステップS402)。具体的には、描画監視部111は、システム標準の描画の発生(描画処理の開始)の通知を受けたか否かを判定する。
システム標準の描画の発生を検出していないと判定した場合(ステップS302:いいえ)、ステップS402へ戻る。すなわち、描画監視部111は、システム標準の描画の発生を待ち受けることで、システム標準の描画の発生周期(描画命令の発生周期)を監視する。
一方、システム標準の描画の発生を検出したと判定した場合(ステップS302:はい)、描画監視部111は、描画命令実行時刻として記憶している時刻を、前描画命令実行時刻として記憶する(ステップS403)。そして、描画監視部111は、現在時刻を描画実行時刻に更新する(ステップS404)。このように、描画監視部111は、描画命令の発生を検出したことに伴い、前描画命令実行事項(前回の描画命令を受けた時刻)と、描画命令実行時刻(最新の描画命令を受けた時刻)とを更新する。
次に、描画監視部111は、描画命令実行時刻から前描画命令実行時刻を減算した時間が、所定の時間(描画実行周期)未満か否かを判定する(ステップS405)。すなわち、描画監視部111は、描画命令の発生周期が、判定閾値としての描画実行周期未満か否かを判定する。
描画命令の発生周期が描画実行周期未満であると判定した場合(ステップS405:はい)、描画監視部111は、描画低負荷カウンタの値を0に設定(ゼロリセット)する(ステップS406)。
また、描画監視部111は、描画負荷フラグの値が高か低かを判定する(ステップS407)。描画負荷フラグの値が高であると判定した場合(ステップS407:高)、すなわち、既に描画高負荷を通知済みの場合、ステップS402へ戻る。
一方、描画負荷フラグの値が低であると判定した場合(ステップS407:低)、描画監視部111は、描画高負荷カウンタの値を1増加させる(ステップS408)。
そして、描画監視部111は、描画高負荷カウンタの値が描画高負荷周期数に達したか否かを判定する(ステップS409)。すなわち、描画監視部111は、描画命令の発生周期が閾値(描画実行周期)より短い状態が、一定期間(描画高負荷周期数)継続したか否かを判定する。なお、描画命令の発生周期が描画実行周期より短い状態が、描画高負荷周期数継続したことを、「描画負荷>描画高負荷指標」と表記する。
描画高負荷カウンタの値が描画高負荷周期数に達していないと判定した場合(ステップS409:いいえ)、ステップS402へ戻る。
一方、描画高負荷カウンタの値が描画高負荷周期数に達したと判定した場合(ステップS409:はい)、描画監視部111は、描画負荷フラグの値を高に設定する(ステップS410)。また、描画監視部111は、描画制御部112に描画高負荷を通知(描画高負荷通知)する(ステップS411)。
その後、ステップS402へ戻る。
一方、ステップS405において、描画命令の発生周期が描画実行周期以上であると判定した場合(ステップS405:いいえ)、描画監視部111は、描画高負荷カウンタの値を0に設定(ゼロリセット)する(ステップS412)。
また、描画監視部111は、描画負荷フラグの値が高か低かを判定する(ステップS413)。描画負荷フラグの値が低であると判定した場合(ステップS413:低)、すなわち、既に描画高負荷解除を通知済みの場合、ステップS402へ戻る。
一方、描画負荷フラグの値が高であると判定した場合(ステップS413:高)、描画監視部111は、描画低負荷カウンタの値を1増加させる(ステップS414)。
そして、描画監視部111は、描画低負荷カウンタの値が描画低負荷周期数に達したか否かを判定する(ステップS415)。すなわち、描画監視部111は、描画命令の発生周期が閾値(描画実行周期)より長い状態が、一定期間(描画低負荷周期数)継続したか否かを判定する。なお、描画命令の発生周期が描画実行周期より長い状態が、描画低負荷周期数継続したことを、「描画負荷<描画低負荷指標」と表記する。
描画低負荷カウンタの値が描画低負荷周期数に達していないと判定した場合(ステップS415:いいえ)、ステップS402へ戻る。
一方、描画低負荷カウンタの値が描画低負荷周期数に達したと判定した場合(ステップS415:はい)、描画監視部111は、描画負荷フラグの値を低に設定する(ステップS416)。また、描画監視部111は、描画制御部112に描画負荷が描画負荷指標を下回ったことを通知(描画高負荷解除通知)する(ステップS417)。
その後、ステップS302へ戻る。
なお、描画実行周期、描画高負荷周期数、描画低負荷周期数に関しては、例えば、任意の値を設定可能としておき、描画処理システム1を運用した状態において、ユーザなど描画処理システム1の管理者が適切な値に調整する。
次に、図7〜図10を参照して、描画処理システム1の動作の例について説明する。
図7は、描画制御部112が描画休止状態M11から描画制御予備状態M12に遷移し、さらに描画制御状態M13、描画制御解除予備状態M14に遷移して描画休止状態M11に戻る例を示すシーケンス図である。
同図に示すメインメモリ116は、図1を参照して説明したように、低負荷描画処理部114やシステム描画処理部115が画面イメージを展開し画面更新を実行する対象となるメインメモリである。またVRAM117は、低負荷描画処理部114やシステム描画処理部115がメインメモリ116上の画面イメージを転送することで表示装置14に画面表示を行わせる対象となるVRAMである。
図7において、シーケンスS501〜S502では、描画命令が連続して発生し始めた状態にある。ここでは、描画制御部112は描画休止状態M11にあり、描画命令の発生周期が描画実行周期を超えるのを待ち受ける。
そして、描画周期が描画実行周期より短い状況が一定期間継続(描画負荷>描画高負荷指標)すると(シーケンスS502)、描画負荷がCPU負荷の要因となる可能性があるため、描画制御部112は、描画休止状態M11から描画制御予備状態M12に遷移する。シーケンスS502〜シーケンスS503では、描画制御部112は描画制御予備状態M12にある。
描画制御予備状態M12において、CPU使用率がCPU使用率制限値を超える状態が一定期間継続(CPU負荷>CPU高負荷指標)した場合、描画負荷がCPU高負荷の要因と考えられる。そこで、描画制御部112は、低負荷描画処理部114に低負荷での描画処理を開始させ、描画制御予備状態M12から描画制御状態M13に遷移する。シーケンスS503〜S504では、描画制御部112は描画制御状態M13にあり、低負荷描画処理部114に低負荷での描画処理を行わせる。
この描画制御状態M13では、低負荷描画処理部114は、描画命令が発生する毎に、メインメモリ116の記憶する画面イメージへの描画を逐次実施する。一方、VRAM117への画面イメージの転送については、低負荷描画処理部114は、いくつかの転送を間引いた状態で描画実行周期毎に行う。これにより、CPU負荷の要因である画面イメージのVRAM117への転送回数を低減でき、描画に起因するCPU使用率の上昇を緩和させることができる。
描画制御状態M13において、CPU使用率がCPU使用率制限値を下回る状態が一定時間継続(CPU負荷<CPU高負荷指標)した場合(シーケンスS504)、低負荷描画処理部114が低負荷での描画処理を行った効果としてCPU使用率の上昇が緩和されたと考えられる。そこで、描画制御部112は、描画制御状態M13から描画制御解除予備状態M14に遷移する。シーケンスS504〜S505では、描画制御部112は描画制御解除予備状態M14にある。
この描画制御解除予備状態M14では、描画制御部112は、低負荷描画処理部114に低負荷での描画処理を継続させながら、CPU負荷および描画負荷が通常レベルまで回復するのを待つ。
描画制御解除予備状態M14において、描画周期が描画実行周期より長い状況が一定期間継続(描画負荷<描画低負荷指標)した場合(シーケンスS505)、CPU負荷、描画負荷ともに比較的低い状態で安定していることになる。この場合、システム描画処理部115がシステム標準の描画処理を行っても、CPU高負荷の状態にはならないと考えられる。そこで、描画制御部112は、描画制御解除予備状態M14から描画休止状態M11に遷移し、低負荷描画処理部114の低負荷での描画処理を休止させ、システム描画処理部115でのシステム標準の描画処理に切り替える。シーケンスS505〜S506では、描画制御部112は、描画休止状態M11にある。
このように、描画休止状態M11では、描画命令の発生する周期が通常レベルに戻った状態にあり、低負荷描画処理部114の低負荷での描画に代わって、システム描画処理部115が、システム標準の描画を行う。システム描画処理部115は、システム標準の描画において、画面イメージのVRAM117への転送を逐次行う。
図8は、描画制御部112が描画制御解除予備状態M14から描画制御状態M13への遷移T142を行う例を示すシーケンス図である。
同図に示すメインメモリ116およびVRAM117は、図1や図7に示すものと同一である。
図8において、シーケンスS601〜S605の、描画休止状態M11から描画制御解除予備状態M14までの遷移は、図7のシーケンスS501〜S505の場合と同様である。
一方、シーケンスS605では、図7のシーケンスS505の場合と異なり、CPU負荷の変動が激しく、再びCPU負荷がCPU高負荷制限値を超えている(CPU負荷>CPU高負荷指標)。この場合、描画制御部112は、描画制御解除予備状態M14から描画制御状態M13に遷移する。シーケンスS605〜S606では、描画制御部112は、描画制御状態M13にある。
その後、再びCPU負荷がCPU高負荷制限値より低い状態が一定時間継続した場合(CPU負荷<CPU高負荷指標、シーケンスS606)、描画制御部112は、描画制御状態M13から描画制御解除予備状態M14へ遷移する。シーケンスS606〜S607では、描画制御部112は、描画制御解除予備状態M14にある。
このように、CPU負荷が安定しない状態では、描画制御部112は、描画制御状態M13と描画制御解除予備状態M14との遷移を繰り返して、低負荷描画処理部114に低負荷での描画を継続させながら、描画負荷およびCPU負荷の安定した回復を待つ。
図9は、描画制御部112が描画制御状態M13から描画休止状態M11への遷移T131を行う例を示すシーケンス図である。
同図に示すメインメモリ116およびVRAM117は、図1や図7に示すものと同一である。
図9において、シーケンスS701〜S704の、描画休止状態M11から描画制御状態M13までの遷移は、図7のシーケンスS501〜S504の場合と同様である。
一方、シーケンスS704では、図7のシーケンスS504の場合と異なり、描画周期が描画実行周期を下回る状態が一定時間継続(「描画負荷<描画負荷指標」)している。この場合、CPU負荷において描画負荷が要因となっている割合は小さく、低負荷描画処理部114に低負荷での描画処理を行わせてもCPU負荷はほとんど変わらないと考えられる。そうすると、画面更新頻度を低減させた描画処理を低負荷描画処理部114に行わせるよりも、システム描画処理部115がシステム標準の描画を行うようにして画面更新頻度を確保したほうが、描画処理システム1全体の処理として良好であると考えられる。すなわち、表示装置14の画面表示の更新頻度を低減させてもCPU負荷はほとんど低減しないので、通常の更新頻度で画面表示を更新したほうが、ユーザのストレスが小さいと考えられる。
そこで、シーケンスS704において、描画制御部112は、描画制御状態M13から描画休止状態M11に遷移する。シーケンスS704〜S705では、描画制御部112は、描画休止状態M11にある。
描画休止状態M11では、描画制御部112は、低負荷描画処理部114の低負荷での描画を休止させ、代わってシステム描画処理部115が、システム標準の描画を行う。そして、描画制御部112は、再び描画命令の発生状況が描画高負荷制限値を超えるまで待機する。
このように、CPU負荷が高い状態にある場合、描画制御部112は、描画の負荷状況に基づいて、低負荷描画処理部114に低負荷での描画を行わせるか、システム描画処理部115がシステム標準の描画を行うようにするかを判定する。これにより、低負荷描画処理部114に低負荷での描画を行わせてもCPU負荷の緩和に有効でない状況であれば、描画制御部112は、システムによる描画を継続しながら、CPU負荷が通常レベルに回復するか、あるいは描画負荷が高い状態となるのを待つ。
図10は、描画制御部112が描画制御予備状態M12から描画休止状態M11への遷移T121を行う例を示すシーケンス図である。
同図に示すメインメモリ116およびVRAM117は、図1や図7に示すものと同一である。
図10において、シーケンスS801〜S803の、描画休止状態M11から描画制御予備状態M12までの遷移は、図7のシーケンスS501〜S503の場合と同様である。具体的には、シーケンスS801〜S802では、描画命令が連続して発生し始めた状態にある。ここでは、描画制御部112は描画休止状態M11にあり、描画命令の発生周期が描画実行周期を超えるまで待機する。
そして、描画周期が描画実行周期より短い状況が一定期間継続(描画負荷>描画高負荷指標)すると(シーケンスS802)、描画負荷がCPU負荷の要因となる可能性があるため、描画制御部112は、描画休止状態M11から描画制御予備状態M12に遷移する。シーケンスS802〜シーケンスS803では、描画制御部112は描画制御予備状態M12にある。
一方、シーケンスS803では、図7のシーケンスS503の場合と異なり、描画周期が描画実行周期より長い状況が一定期間継続(描画負荷<描画低負荷指標)している。この場合、システム描画処理部115がシステム標準の描画処理を行っても、描画負荷が要因でCPU高負荷の状態にはならないと期待し得る。
そこで、描画制御部112は、描画制御予備状態M12から描画休止状態M11に遷移する。シーケンスS803〜S804では、描画制御部112は、描画休止状態M11にある。
描画休止状態M11では、描画制御予備状態M12に引き続き、描画制御部112は、システム描画処理部115のシステム標準の描画処理を継続し、低負荷描画処理部114の低負荷での描画処理を休止させる。そして、描画制御部112は、再び描画命令の発生状況が描画高負荷制限値を超えるまで待機する(描画休止状態M11を維持する)。
このように、描画処理システム1では、低負荷描画処理部114に低負荷での描画を開始させるまでに、描画およびCPUの負荷傾向を監視する期間が設けられている。これにより、描画周期が短い状態であってもCPU負荷上昇の原因となっていない場合は、システム描画処理部115にシステム標準の描画処理を継続させて安定した描画状態を維持することができる。
以上のように、描画監視部111は、システム標準の描画が発生した頻度を検出し、CPU監視部113が、低負荷描画処理部114およびシステム描画処理部115としての処理を行うCPUの負荷を検出する。そして、描画制御部112は、描画監視部111の検出した、システム標準の描画が発生した頻度と、CPU監視部113が検出したCPUの負荷とに基づいて、表示装置14の具備する表示画面の表示する画像に対する低負荷描画処理部114による更新タイミングの制御(具体的には、VRAM117への画像データ転送の間引き)の有無を切り替える。
これにより、処理対象を予め指定しておく必要無しに、より効率的に描画負荷を軽減させることができる。
ここで、低負荷描画処理部114は、全画面イメージのVRAM117への転送回数を低減する(間引く)ことでCPU負荷を軽減し得る。
もっとも、描画負荷(描画処理に起因するCPU負荷)が小さい状態では、全画面イメージのVRAM117への転送回数を間引いても、CPU負荷の軽減効果をほとんど得られないおそれがある。
そこで、クライアント装置11は、描画命令とCPU負荷の両方を監視することで、描画に起因するCPU負荷の上昇を識別することができ、他の原因でCPU負荷が増大した場合には、システム標準の描画を継続する。
これにより、クライアント装置11(描画制御部112)は、描画負荷の低減にてCPU負荷を低減可能な場合は、低負荷描画処理部114に低負荷での描画を行わせることで、CPU負荷を低減させる。一方、描画負荷を低減させてもCPU負荷をほとんど低減させられない場合には、クライアント装置11(描画制御部112)は、システム描画処理部115がシステム標準の描画を行うようにして、描画品質の安定性を高めることができる。
このように、クライアント装置11は、より効率的に(すなわち、CPU負荷低減の効果を得られる場合に限定して)描画負荷を軽減させることができる。また、クライアント装置11では、例えばVRAM117への画面イメージの転送を抑制する描画命令を指定しておくなど、処理対象を予め指定しておく必要が無い。
また、描画制御部112は、システム標準の描画が発生した頻度が所定の頻度より多い状態にあり、かつ、CPU監視部113が検出したCPUの負荷が所定の負荷より大きい状態にあると判定すると、表示画面の表示する画像の更新頻度を低負荷描画処理部114に抑制させる状態(描画制御状態M13)に遷移する。そして、当該状態にて、システム標準の描画が発生した頻度が所定の頻度より少ない状態にあると判定すると、描画制御部112は、表示画面の表示する画像をシステム描画処理部115が更新する頻度の抑制を解除する状態(描画休止状態M11)に遷移する(遷移T131)。すなわち、遷移T131では、描画制御部112は、低負荷描画処理部114を休止させ、システム描画処理部115に描画処理を切り替える。
これにより、CPU負荷が高い場合でも、描画負荷が低いため描画負荷を低減させてもCPU負荷の低減効果が限定的である場合には、描画負荷の低減を行わずに(システム描画処理部115にシステム標準の描画を行わせて)、描画の安定性を得ることができる。
また、描画制御部112は、システム標準の描画が発生した頻度が所定の頻度より多い状態にあり、かつ、CPU監視部113が検出したCPUの負荷が所定の負荷より大きい状態にあると判定すると、表示画面の表示する画像をシステム描画処理部115が更新する頻度を抑制する状態(描画制御状態M13)に遷移する。具体的には、システム標準の描画が発生する毎に、システム描画処理部115に代わって低負荷描画処理部114に描画を行わせることで、メインメモリ116からVRAM117への画面イメージの転送の間引きを行わせる。そして、当該状態にて、CPU監視部113が検出したCPUの負荷が所定の負荷より小さい状態にあると判定すると、表示画面の表示する画像をシステム描画処理部115が更新する頻度の抑制を継続する(描画制御解除予備状態M14)。さらに、システム標準の描画が発生した頻度が所定の頻度より少ない状態にあると判定すると、描画制御部112は、表示画面の表示する画像をシステム描画処理部115が更新する頻度の抑制を解除する状態(描画休止状態M11)に遷移する。
このように、描画制御部112は、描画負荷が高くCPU負荷の低い状態では、低負荷描画処理部114に低負荷での描画を継続させるので、描画負荷が高い状態でCPU負荷の変動が大きい場合にも、低負荷描画処理部114による処理とシステム描画処理部115による処理との切替の頻発を防止し得る。これにより、当該切替の頻発のためにCPU負荷が上昇することを防止し得る。
次に、図11を参照して、クライアント装置11における本発明の最小構成について説明する。
図11は、クライアント装置11における本発明の最小構成を示す概略構成図である。
同図を参照すると、図1に示す各部のうち、描画監視部111と、描画制御部112と、CPU監視部113と、低負荷描画処理部114とが示されている。
かかる構成において、図1の構成について説明したのと同様に、CPU監視部113は、描画処理を含む各種処理を行うCPUの負荷を検出する。そして、描画制御部112は、描画監視部111が検出したシステム標準の描画の発生頻度と、CPU監視部113が検出したCPUの負荷とに基づいて、表示画面の表示する画像に対する低負荷描画処理部114による更新タイミングの制御の有無を切り替える。具体的には、描画制御部112は、システム標準の描画処理に代えて低負荷描画処理部114に描画処理を行わせるか否かの切換を行う。
これにより、処理対象を予め指定しておく必要無しに、より効率的に描画負荷を軽減させることができる。
なお、クライアント装置11の全部または一部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各部の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
以上、本発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計変更等も含まれる。
1 描画処理システム
11 クライアント装置
111 描画監視部
112 描画制御部
113 CPU監視部
114 低負荷描画処理部
115 システム描画処理部
116 メインメモリ
117 VRAM
12 サーバ装置
14 表示装置

Claims (7)

  1. システム標準の描画の描画情報に基づいて画像データを生成し、生成した画像データに基づく画像を表示画面に表示させる低負荷描画処理部と、
    少なくとも前記画像データを生成して前記表示画面に表示させる処理を実行するCPUの負荷を検出するCPU監視部と、
    システム標準の描画を監視して当該システム標準の描画の発生頻度を検出する描画監視部と、
    前記描画監視部が検出した前記システム標準の描画の発生頻度と、前記CPU監視部が検出した前記CPUの負荷とに基づいて、前記低負荷描画処理部による前記表示画面の表示する前記画像の更新タイミングの制御の有無を切り替える描画制御部と、
    を具備することを特徴とする情報処理装置。
  2. 前記情報処理装置は、前記表示画面の表示画像の更新内容を示す差分データを受信する毎に前記システム標準の描画の描画情報を発生させ、
    前記低負荷描画処理部は、前記描画情報が発生する毎に前記表示画面の全画面データを更新するとともに、更新した前記全画面データに基づいて前記表示画面の表示する前記画像を更新させるタイミングを制御する
    ことを特徴とする請求項1に記載の情報処理装置。
  3. 前記描画制御部は、前記システム標準の描画の発生頻度が所定の頻度より多い状態にあり、かつ、前記CPU監視部が検出した前記CPUの負荷が所定の負荷より大きい状態にあると判定すると、前記表示画面の表示する前記画像を更新する頻度を抑制する状態に遷移し、当該状態にて、前記前記システム標準の描画の発生頻度が所定の頻度より少ない状態にあると判定すると、前記表示画面の表示する前記画像を更新する頻度の抑制を解除する状態に遷移する、ことを特徴とする請求項1に記載の情報処理装置。
  4. 前記描画制御部は、前記システム標準の描画の発生頻度が所定の頻度より多い状態にあり、かつ、前記CPU監視部が検出した前記CPUの負荷が所定の負荷より大きい状態にあると判定すると、前記表示画面の表示する前記画像を更新する頻度を抑制する状態に遷移し、当該状態にて、前記CPU監視部が検出した前記CPUの負荷が所定の負荷より小さい状態にあると判定すると、前記表示画面の表示する前記画像を更新する頻度の抑制を継続し、さらに、前記システム標準の描画の発生頻度が所定の頻度より少ない状態にあると判定すると、前記表示画面の表示する前記画像を更新する頻度の抑制を解除する状態に遷移する、ことを特徴とする請求項1に記載の情報処理装置。
  5. 通信ネットワークで接続されたサーバ装置とクライアント装置とを具備し、
    前記サーバ装置は、前記クライアント装置に描画命令を送信し、
    前記クライアント装置は、
    システム標準の描画の描画情報に基づいて画像データを生成し、生成した画像データに基づく画像を表示画面に表示させる低負荷描画処理部と、
    少なくとも前記画像データを生成して前記表示画面に表示させる処理を実行するCPUの負荷を検出するCPU監視部と、
    システム標準の描画を監視して当該システム標準の描画の発生頻度を検出する描画監視部と、
    前記描画監視部が検出した前記システム標準の描画の発生頻度と、前記CPU監視部が検出した前記CPUの負荷とに基づいて、前記低負荷描画処理部による前記表示画面の表示する前記画像の更新タイミングの制御の有無を切り替える描画制御部と、
    を具備することを特徴とする描画処理システム。
  6. 通信ネットワークに接続されて描画命令を受信し、当該描画命令に基づいて表示画面の画像を更新する情報処理装置の描画処理方法であって、
    システム標準の描画の描画情報に基づいて画像データを生成し、生成した画像データに基づく画像を表示画面に表示させる低負荷描画処理ステップと、
    少なくとも前記画像データを生成して前記表示画面に表示させる処理を実行するCPUの負荷を検出するCPU監視部ステップと、
    システム標準の描画を監視して当該システム標準の描画の発生頻度を検出する描画監視部ステップと、
    前記描画監視ステップにて検出した前記システム標準の描画の発生頻度と、前記CPU監視ステップにて検出した前記CPUの負荷とに基づいて、前記低負荷描画処理ステップでの、前記表示画面の表示する前記画像の更新タイミングの制御の有無を切り替える描画制御ステップと、
    を具備することを特徴とする描画処理方法。
  7. 通信ネットワークに接続されて描画命令を受信し、当該描画命令に基づいて表示画面の画像を更新する情報処理装置に、
    システム標準の描画の描画情報に基づいて画像データを生成し、生成した画像データに基づく画像を表示画面に表示させる低負荷描画処理ステップと、
    少なくとも前記画像データを生成して前記表示画面に表示させる処理を実行するCPUの負荷を検出するCPU監視部ステップ、
    システム標準の描画を監視して当該システム標準の描画の発生頻度を検出する描画監視部ステップ、
    前記描画監視ステップにて検出した前記システム標準の描画の発生頻度と、前記CPU監視ステップにて検出した前記CPUの負荷とに基づいて、前記低負荷描画処理ステップでの、前記表示画面の表示する前記画像の更新タイミングの制御の有無を切り替える描画制御ステップと、
    を実行させるためのプログラム。
JP2012080453A 2012-03-30 2012-03-30 情報処理装置、描画処理システム、描画処理方法およびプログラム Active JP5984205B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012080453A JP5984205B2 (ja) 2012-03-30 2012-03-30 情報処理装置、描画処理システム、描画処理方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012080453A JP5984205B2 (ja) 2012-03-30 2012-03-30 情報処理装置、描画処理システム、描画処理方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2013210826A true JP2013210826A (ja) 2013-10-10
JP5984205B2 JP5984205B2 (ja) 2016-09-06

Family

ID=49528605

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012080453A Active JP5984205B2 (ja) 2012-03-30 2012-03-30 情報処理装置、描画処理システム、描画処理方法およびプログラム

Country Status (1)

Country Link
JP (1) JP5984205B2 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003248895A (ja) * 2002-02-25 2003-09-05 Nippon Signal Co Ltd:The 画像式車両感知システム及び画像式車両感知方法
JP2009267919A (ja) * 2008-04-28 2009-11-12 Toshiba Corp 動画像復号器
JP2010224974A (ja) * 2009-03-24 2010-10-07 Dainippon Screen Mfg Co Ltd 基板処理装置ならびに基板処理装置におけるグラフ描画周期決定方法およびグラフ描画方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003248895A (ja) * 2002-02-25 2003-09-05 Nippon Signal Co Ltd:The 画像式車両感知システム及び画像式車両感知方法
JP2009267919A (ja) * 2008-04-28 2009-11-12 Toshiba Corp 動画像復号器
JP2010224974A (ja) * 2009-03-24 2010-10-07 Dainippon Screen Mfg Co Ltd 基板処理装置ならびに基板処理装置におけるグラフ描画周期決定方法およびグラフ描画方法

Also Published As

Publication number Publication date
JP5984205B2 (ja) 2016-09-06

Similar Documents

Publication Publication Date Title
KR102221658B1 (ko) 동적 프레임 레이트 지원을 이용한 전력 최적화 기법
CN113126739A (zh) 屏幕刷新速率的智能调整
CN103207659B (zh) 切换方法和电子设备
US20130246715A1 (en) Communication apparatus, load distribution method, and recording medium
EP3663925B1 (en) Method for processing refreshing display abnormality, and terminal
JP2019537086A (ja) オーディオコンテンツおよびビジュアルコンテンツのための管理システム
JP2014215558A (ja) メモリ制御装置、および携帯端末
CN113781949B (zh) 图像显示方法、显示驱动芯片、显示屏模组及终端
US20150301585A1 (en) Data processing method, data processing apparatus, and storage medium
CN106612458A (zh) 帧速率控制方法以及相关图像处理装置
RU2665234C2 (ru) Способ и аппарат для отображения контента
US9052796B2 (en) Asynchronous handling of an input stream dedicated to multiple targets
JP5984205B2 (ja) 情報処理装置、描画処理システム、描画処理方法およびプログラム
JP2018508801A (ja) シンク要求を使用したリフレッシュレート制御
US20120137302A1 (en) Priority information generating unit and information processing apparatus
CN108011860B (zh) 一种处理广播消息的方法、装置及终端
US11320853B2 (en) Image transmission apparatus, image transmission system, and method of controlling image transmission apparatus
TW201830266A (zh) 螢幕鏡映技術
KR20150073839A (ko) 부하 라인 최적화를 위한 그래픽 전압 감소
KR102617850B1 (ko) 가변 레이트 리프레시 디스플레이를 위한 프레임 재생
CN110992862A (zh) 对电子设备执行显示控制的方法、主处理器和显示面板
US11259245B2 (en) Method and apparatus for power management of electronic device
CN112950450A (zh) 图像处理方法、装置、电子设备和可读存储介质
US11140208B2 (en) Scheduling method and terminal
WO2014147718A1 (ja) 電子機器、表示制御方法およびプログラム

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20140612

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150212

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150313

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151209

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151218

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160203

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160223

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160425

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160705

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160728

R150 Certificate of patent or registration of utility model

Ref document number: 5984205

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150