JP5178562B2 - Drawing control device - Google Patents

Drawing control device Download PDF

Info

Publication number
JP5178562B2
JP5178562B2 JP2009025792A JP2009025792A JP5178562B2 JP 5178562 B2 JP5178562 B2 JP 5178562B2 JP 2009025792 A JP2009025792 A JP 2009025792A JP 2009025792 A JP2009025792 A JP 2009025792A JP 5178562 B2 JP5178562 B2 JP 5178562B2
Authority
JP
Japan
Prior art keywords
command
processing
priority
time
drawing processing
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.)
Expired - Fee Related
Application number
JP2009025792A
Other languages
Japanese (ja)
Other versions
JP2010182139A (en
Inventor
博康 根岸
義幸 加藤
晃 鳥居
良平 石田
雅樹 濱田
大介 木皿
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2009025792A priority Critical patent/JP5178562B2/en
Publication of JP2010182139A publication Critical patent/JP2010182139A/en
Application granted granted Critical
Publication of JP5178562B2 publication Critical patent/JP5178562B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Digital Computer Display Output (AREA)
  • Image Generation (AREA)

Description

本発明は、図形や文字などを描画する描画処理において、優先度付きの描画処理や描画割り込み処理を実現する描画制御装置に関する。   The present invention relates to a drawing control apparatus that realizes drawing processing with priority and drawing interrupt processing in drawing processing for drawing graphics, characters, and the like.

従来、図形や文字などを描画する描画処理において、優先度付きの描画処理や描画割り込み処理を実現する場合、優先度の低い処理から高い処理へ移行する場合は優先度の低い処理を実行中のハードウェアを一旦停止させて、ハードウェア内の処理情報を退避させ、優先度の高い処理を実行して終了後、優先度の低い処理の情報を復帰させ、優先度の低い処理を実行していた(例えば特許文献1、特許文献2、特許文献3参照)。   Conventionally, in drawing processing that draws graphics or characters, when implementing drawing processing with priority or drawing interrupt processing, when shifting from low priority processing to high processing, low priority processing is being executed The hardware is temporarily stopped, the processing information in the hardware is saved, the processing with high priority is executed and finished, the information of processing with low priority is restored, and the processing with low priority is executed. (See, for example, Patent Document 1, Patent Document 2, and Patent Document 3).

特開平7−271344号公報JP-A-7-271344 特開平11−133943号公報Japanese Patent Laid-Open No. 11-133944 特開2007−241629号公報JP 2007-241629 A

従来のグラフィックスを処理する装置ではハードウェアを一旦停止させ、内部の情報を一旦退避させる方式をとっている。このためグラフィックス描画用のハードウェアが割り込み処理に対応でき、ハードウェアの動作ステイト情報を退避と復帰させることが可能で描画処理の途中から描画再開ができる必要がある。しかし、現在のグラフィックス処理は3次元グラフィックスやベクタグラフィックスなどステイト状態が多く、ハードウェア内で持つステイト状態も多い。また処理パイプラインも深く、再動作可能な状態での割り込み処理の受け付けられる可能性やソフトウェアでの退避時間を考えるとこれらを実現できるハードウェアの実行環境は非常に少ない。   Conventional graphics processing devices employ a method in which hardware is temporarily stopped and internal information is temporarily saved. Therefore, it is necessary that the graphics drawing hardware can cope with the interrupt processing, the hardware operation state information can be saved and restored, and drawing can be resumed from the middle of the drawing processing. However, current graphics processing has many state states such as three-dimensional graphics and vector graphics, and many state states possessed in hardware. In addition, the processing pipeline is deep, and considering the possibility of accepting interrupt processing in a re-operable state and the save time in software, there are very few hardware execution environments that can realize this.

このようなハードウェア実行環境がない場合は、描画処理中には割り込みを受け付けることができず、現在動作中の処理の終了を待って次の処理を実行する必要がある。大量の3次元描画や地図描画など描画ハードウェアの占有時間が長い場合、緊急の表示を行う優先順位の高いリクエストが発生した場合に対応ができないという問題点があった。   If there is no such hardware execution environment, an interrupt cannot be accepted during the drawing process, and it is necessary to wait for the end of the currently operating process to execute the next process. When the occupation time of drawing hardware such as a large amount of three-dimensional drawing and map drawing is long, there is a problem that it is not possible to cope with a request with high priority for urgent display.

この発明は上記のような課題を解決するためになされたもので、ハードウェアが割り込み等に対応していない環境においても、優先度の高い処理が発生した時点から処理の実行開始までの時間を短縮することのできる描画制御装置を得ることを目的とする。   The present invention has been made to solve the above-described problems. Even in an environment where hardware does not support interrupts or the like, the time from when a high-priority process occurs until the start of execution of the process is reduced. It is an object of the present invention to obtain a drawing control device that can be shortened.

この発明に係る描画制御装置は、画面上に表示される各描画処理コマンドによる複数の描画領域に対して、描画優先順位を設定する優先度付き描画コマンド生成手段と、優先度付き描画コマンド生成手段から送られた描画処理コマンドを蓄積すると共に、蓄積中に、新たな描画処理コマンドが入力された場合は、新たな描画処理コマンドの優先度に応じて、描画処理コマンドの出力順を更新するキュー手段と、優先度付き描画コマンド生成手段が出力する描画処理コマンドに対して、同一アプリケーションの描画処理コマンドをグループ化し、コマンド群としてキュー手段に出力するコマンド群化手段とを備えたものである。 A drawing control apparatus according to the present invention includes a drawing command generating unit with priority and a drawing command generating unit with priority for setting a drawing priority for a plurality of drawing regions by each drawing processing command displayed on the screen. A queue that updates the drawing process command output order according to the priority of the new drawing process command when a new drawing process command is input during storage. And command grouping means for grouping drawing processing commands of the same application with respect to the drawing processing commands output by the drawing command generating means with priority and outputting the command processing group as a command group to the queuing means .

この発明の描画制御装置は、描画処理コマンドの蓄積中に新たな描画処理コマンドが入力された場合は、新たな描画処理コマンドの優先度に応じて、描画処理コマンドの出力順を更新するようにしたので、ハードウェアが割り込み等に対応していない環境においても、優先度の高い処理が発生した時点から処理の実行開始までの時間を短縮することができる。
また、優先度付き描画コマンド生成手段が出力する描画処理コマンドに対して、同一アプリケーションの描画処理コマンドをグループ化し、コマンド群としてキュー手段に出力するコマンド群化手段を備えたので、アプリケーションやタスクが異なるために発生するステイト変更回数を減らすことができ、その結果、高速な動作を行うことができる。

The drawing control apparatus according to the present invention updates the output order of drawing process commands according to the priority of the new drawing process command when a new drawing process command is input while the drawing process commands are being accumulated. Therefore, even in an environment where the hardware does not support interrupts or the like, it is possible to reduce the time from the time when processing with high priority occurs until the start of processing execution.
In addition, since the drawing processing commands output by the drawing command generating means with priority are provided with the command grouping means for grouping the drawing processing commands of the same application and outputting them to the queue means as a command group, The number of state changes that occur due to the difference can be reduced, and as a result, high-speed operation can be performed.

この発明の実施の形態1による描画制御装置を示す構成図である。It is a block diagram which shows the drawing control apparatus by Embodiment 1 of this invention. この発明の実施の形態1による描画制御装置の描画イメージとキューの状態を示す説明図である。It is explanatory drawing which shows the drawing image and state of a queue of the drawing control apparatus by Embodiment 1 of this invention. この発明の実施の形態1による描画制御装置のウィンドウシステムが動作している場合の描画イメージとキューの状態を示す説明図である。It is explanatory drawing which shows the state of a drawing image and a queue when the window system of the drawing control apparatus by Embodiment 1 of this invention is operate | moving. この発明の実施の形態1による描画制御装置のキューイング時間中に高優先度処理が発生した場合のキューの状態を示す説明図である。It is explanatory drawing which shows the state of a queue when a high priority process generate | occur | produces during the queuing time of the drawing control apparatus by Embodiment 1 of this invention. この発明の実施の形態2による描画制御装置の構成図である。It is a block diagram of the drawing control apparatus by Embodiment 2 of this invention. この発明の実施の形態3による描画制御装置の構成図である。It is a block diagram of the drawing control apparatus by Embodiment 3 of this invention. この発明の実施の形態3による監視制御装置のコマンド群化を示す説明図である。It is explanatory drawing which shows command grouping of the monitoring control apparatus by Embodiment 3 of this invention. この発明の実施の形態3による描画制御装置の変形例を示す構成図である。It is a block diagram which shows the modification of the drawing control apparatus by Embodiment 3 of this invention.

実施の形態1.
図1は、この発明の実施の形態1による描画制御装置を示す構成図である。
図1に示す描画制御装置は、演算部100、システムメモリ200、描画プロセッサ300、描画メモリ400を備えている。演算部100は、オペレーティングシステム(OS)上で複数のアプリケーションプログラムや複数のタスクを実行する演算部であり、CPUやメモリといったハードウェアや各種機能に対応したソフトウェアの組合せ、あるいは専用のハードウェアから構成されており、優先度付き描画コマンド生成手段101とキュー手段102を備えている。優先度付き描画コマンド生成手段101は、演算部100で発生する描画処理コマンド(描画コマンドまたは描画制御コマンド)に対して優先度を付与する手段である。キュー手段102は、各描画処理コマンドをキューイングするためのキュー(図示せず)を備え、優先度付き描画コマンド生成手段101から送られた描画処理コマンドを蓄積すると共に、蓄積中に、新たな描画処理コマンドが入力された場合は、その新たな描画処理コマンドの優先度に応じて、描画処理コマンドの出力順(キュー内の順序)を更新するよう構成されている。
Embodiment 1 FIG.
FIG. 1 is a block diagram showing a drawing control apparatus according to Embodiment 1 of the present invention.
The drawing control apparatus shown in FIG. 1 includes a calculation unit 100, a system memory 200, a drawing processor 300, and a drawing memory 400. The calculation unit 100 is a calculation unit that executes a plurality of application programs and a plurality of tasks on an operating system (OS), and includes a combination of hardware such as CPU and memory, software corresponding to various functions, or dedicated hardware. The drawing command generation unit 101 with priority and the queue unit 102 are configured. The drawing command generation unit 101 with priority is a unit that gives priority to a drawing processing command (drawing command or drawing control command) generated by the calculation unit 100. The queuing means 102 includes a queue (not shown) for queuing each drawing processing command, accumulates the drawing processing commands sent from the drawing command generating means 101 with priority, and creates a new one during the accumulation. When a drawing process command is input, the output order of the drawing process command (order in the queue) is updated in accordance with the priority of the new drawing process command.

システムメモリ200は、演算部100の命令コードやデータを保持するためのメモリである。描画プロセッサ300は、直線描画や領域転送などの2次元描画処理や、3次元グラフィックス処理や、ベクタグラフィックス処理などを扱えるグラフィックスアクセラレータ、グラフィックスエンジン、GPU(Graphics Processing Unit)などと呼ばれる描画用のプロセッサである。描画メモリ400は、描画プロセッサ300が描画を行う際に使用するメモリである。   The system memory 200 is a memory for holding instruction codes and data of the arithmetic unit 100. The drawing processor 300 is a drawing called a graphics accelerator, a graphics engine, a GPU (Graphics Processing Unit) that can handle two-dimensional drawing processing such as straight line drawing and area transfer, three-dimensional graphics processing, vector graphics processing, and the like. Processor. The drawing memory 400 is a memory used when the drawing processor 300 performs drawing.

次に、実施の形態1の描画制御装置の動作について説明する。
演算部100では、OS上で複数のアプリケーションや複数描画システムのタスクが動作しており、それぞれのアプリケーションやタスクが描画プロセッサ300に対して文字描画や図形描画や描画制御の描画リクエストを発行する。この描画リクエストは、描画コマンドや描画制御コマンドと対応している場合や、描画処理コマンド群として対応している場合がある。描画コマンドは、線描画、多角形描画、色変更、線幅変更などで、描画制御コマンドは画面更新やフリップ動作などである。描画処理コマンド群は、描画コマンドや描画制御コマンドを複数組み合わせられたもので、色変更+線幅変更+線描画+色変更+多角形描画+フリップなどのコマンド群である。尚、以下、単にコマンドという場合は、これら描画コマンドや描画制御コマンド、描画処理コマンド群を指すものとする。
Next, the operation of the drawing control apparatus according to the first embodiment will be described.
In the arithmetic unit 100, a plurality of applications and tasks of a plurality of drawing systems are operating on the OS, and each application or task issues a drawing request for character drawing, figure drawing, or drawing control to the drawing processor 300. This drawing request may correspond to a drawing command or a drawing control command, or may correspond to a drawing processing command group. Drawing commands include line drawing, polygon drawing, color change, line width change, and the like, and drawing control commands include screen update and flip operation. The drawing process command group is a combination of a plurality of drawing commands and drawing control commands, and is a command group such as color change + line width change + line drawing + color change + polygon drawing + flip. In the following description, the simple command refers to a drawing command, a drawing control command, and a drawing processing command group.

描画リクエストは、優先度付き描画コマンド生成手段101に入力され、描画リクエストを構成するコマンドに優先度が付与される。優先度は先に処理するものに対応するコマンドに対して優先度を高くする。優先度はアプリケーションや描画システムにおいて任意に設定することができる。
優先度が付与された描画リクエストを構成するコマンドは、優先度付き描画コマンド生成手段101に接続されたキュー手段102へ送られる。キュー手段102ではキュー内に溜まっているコマンドの優先度と、新たに入力されたコマンドの優先度を比較して、コマンドを適切な位置に挿入する。適切な挿入位置は入力されたコマンドの優先度よりも高い優先度を持つコマンドの後ろであり、かつ、描画コマンドであれば描画領域がキュー内に含まれるコマンドの描画領域と重なる場合は重なるコマンドの後ろであり、描画制御コマンドであれば描画制御の対象となる最後のコマンドの後ろである。
The drawing request is input to the drawing command generating unit 101 with priority, and the priority is given to the commands constituting the drawing request. The priority is set higher for the command corresponding to the one to be processed first. The priority can be arbitrarily set in the application or the drawing system.
The commands constituting the drawing request to which the priority is given are sent to the queue means 102 connected to the drawing command generating means 101 with priority. The queue means 102 compares the priority of the command accumulated in the queue with the priority of the newly input command, and inserts the command at an appropriate position. The appropriate insertion position is after the command with a priority higher than the priority of the input command, and if it is a drawing command, the overlapping command if the drawing area overlaps the drawing area of the command contained in the queue If it is a drawing control command, it is after the last command subject to drawing control.

図2は描画イメージとキューの状態を示す説明図であり、(a)はウィンドウの重なりがない場合、(b)はウィンドウの重なりがある場合である。
図2(a)のように、優先度の高いコマンド5が、挿入前キューに含まれるコマンドの描画領域と重ならない場合は、優先度よりも高い処理がないのでキューの先頭に挿入される。一方、図2(b)のように、優先度の高いコマンド5がキュー内に含まれるコマンド1とコマンド2の描画領域と重なる場合はコマンド2の後ろに挿入される。これらは正しい描画イメージを維持するために正しい挿入位置に決定される。
2A and 2B are explanatory diagrams showing the state of the drawing image and the queue. FIG. 2A shows a case where there is no overlapping of windows, and FIG.
As shown in FIG. 2A, when the command 5 having a high priority does not overlap with the drawing area of the command included in the pre-insertion queue, there is no processing higher than the priority, so the command 5 is inserted at the head of the queue. On the other hand, as shown in FIG. 2B, when the command 5 having a high priority overlaps with the drawing areas of the command 1 and the command 2 included in the queue, the command 5 is inserted after the command 2. These are determined at correct insertion positions in order to maintain a correct drawing image.

キュー手段102は、順次コマンドを描画プロセッサ300へ転送し、描画プロセッサ300は入力されたコマンドを処理することで描画メモリ400に描画を行う。これにより優先度の高い処理を事前に生成したコマンドよりも先に処理するようになり、割り込み的な処理を実現することができる。   The queue unit 102 sequentially transfers commands to the drawing processor 300, and the drawing processor 300 performs drawing on the drawing memory 400 by processing the input command. As a result, high priority processing is processed before commands generated in advance, and interrupt processing can be realized.

本実施の形態では、描画メモリ400に描画プロセッサ300が描画を行っているが、システムとしては描画メモリ400がなくシステムメモリ200に描画を行う場合も有効な構成である。
また、演算部100において描画領域を管理するウィンドウシステムが動作している場合には描画領域を考慮にいれた優先度付きコマンド生成を優先度付き描画コマンド生成手段101で行う。
図3は、この場合の描画イメージとキューの状態を示す説明図である。
図示のように、画面にウィンドウAとウィンドウBが設定される。ウィンドウAへのコマンドがコマンド1,コマンド2とし、ウィンドウBへのコマンドがコマンド3,コマンド4とし、キュー手段102にコマンド1から4まで順番に保持されているとする。この状況でウィンドウAに対する優先度の高いコマンド5が発生した場合、キュー手段102では、ウィンドウAへのコマンドであるコマンド2の後ろにコマンド5を挿入する。即ち、図3に示すように、ウィンドウを管理するシステムが動作している場合は、どのウィンドウに入っているかを検出するだけで、大まかな振り分けを行い、個々のコマンドの描画領域の重なり合いの検出は行わず処理を簡素化する。この際、ウィンドウ内のコマンドの描画領域の重なり合いを検出しないため、ウィンドウ内のコマンドはシーケンシャルに並べる必要があり、描画順序を保持してコマンド5はコマンド2の後に挿入されることになる。
In the present embodiment, the drawing processor 300 performs drawing in the drawing memory 400, but the system is also effective when drawing is performed in the system memory 200 without the drawing memory 400.
In addition, when a window system for managing a drawing area is operating in the arithmetic unit 100, a priority-added drawing command generation unit 101 generates a command with priority in consideration of the drawing area.
FIG. 3 is an explanatory diagram showing a drawing image and a queue state in this case.
As illustrated, window A and window B are set on the screen. Assume that commands to window A are command 1 and command 2, commands to window B are command 3 and command 4, and commands 1 to 4 are held in order in queue means 102. In this situation, when a command 5 with a high priority for the window A is generated, the queue means 102 inserts the command 5 after the command 2 that is a command to the window A. That is, as shown in FIG. 3, when the window management system is operating, it is possible to perform rough distribution by detecting which window is entered, and to detect the overlapping of the drawing areas of individual commands. Simplify the process without doing so. At this time, since the overlapping of the drawing areas of the commands in the window is not detected, the commands in the window need to be sequentially arranged, and the command 5 is inserted after the command 2 while maintaining the drawing order.

また、図3に示すように描画領域を管理するウィンドウシステムが動作している場合であっても、優先度の高い処理が描画コマンドである場合はウィンドウ内において描画領域の重なりを判定して更に描画の順番を上げることができる。図3のような場合、コマンド5の描画領域はコマンド1やコマンド2と重ならないので、コマンド1の前に挿入することが可能である。また、描画制御コマンドである場合は制御の対象となるコマンドの後ろに入れることで制御処理の順番を上げることができる。   Further, even when the window system for managing the drawing area is operating as shown in FIG. 3, if the high priority processing is the drawing command, the overlapping of the drawing areas in the window is further determined. The order of drawing can be raised. In the case shown in FIG. 3, the drawing area of command 5 does not overlap with command 1 or command 2, so it can be inserted before command 1. In the case of a drawing control command, the order of control processing can be increased by placing it behind the command to be controlled.

また、キュー手段102は、描画プロセッサ300への処理を受け付けた場合はコマンドを転送していくが、キュー手段102では所定のキューイング時間が設定されている。このキューイング時間内はコマンドをキュー手段102内に保持し、描画プロセッサ300へはコマンドを転送しない。このキューイング時間内は優先度の高いコマンドを受け付け、キュー手段102内に保持されているコマンド間で優先度処理が行われる。即ち、図4に示すように、コマンド1,2がキューイングされ、そのキューイング時間が経過すると、時刻T1で、コマンド1,2の処理が行われる。また、コマンド3,4のキューイング時間中に優先度の高いコマンド5が発生すると、コマンド処理はコマンド5が先頭となる(時刻T2)。このように、比較的描画時間のかかるコマンド3がキューイング時間内保持されているため、優先度の高いコマンド5をコマンド3の前に挿入することができ、優先度の高い処理の発生から実行までの時間を短くすることが可能になる。   In addition, the queue unit 102 transfers a command when a process to the drawing processor 300 is received, but the queue unit 102 has a predetermined queuing time set. During this queuing time, the command is held in the queuing means 102 and the command is not transferred to the drawing processor 300. During this queuing time, a command having a high priority is received, and priority processing is performed between commands held in the queue means 102. That is, as shown in FIG. 4, when the commands 1 and 2 are queued and the queuing time has elapsed, the processing of the commands 1 and 2 is performed at time T1. In addition, when a command 5 having a high priority is generated during the queuing time of the commands 3 and 4, the command processing is preceded by the command 5 (time T2). In this way, since the command 3 that takes a relatively long drawing time is held within the queuing time, the command 5 having a high priority can be inserted before the command 3, and is executed from the occurrence of the processing having a high priority. It becomes possible to shorten the time until.

以上のように、実施の形態1の描画制御装置によれば、画面上に表示される各描画処理コマンドによる複数の描画領域に対して、描画優先順位を設定する優先度付き描画コマンド生成手段と、優先度付き描画コマンド生成手段から送られた描画処理コマンドを蓄積すると共に、蓄積中に、新たな描画処理コマンドが入力された場合は、新たな描画処理コマンドの優先度に応じて、描画処理コマンドの出力順を更新するキュー手段とを備えたので、ハードウェアが割り込み等に対応していない環境においても、優先度の高い処理が発生した時点から処理の実行開始までの時間を短縮することができる。   As described above, according to the drawing control apparatus of the first embodiment, the drawing command generating unit with priority for setting the drawing priority order for a plurality of drawing regions by each drawing processing command displayed on the screen, The drawing processing command sent from the drawing command generating means with priority is accumulated, and when a new drawing processing command is input during the accumulation, the drawing processing command is processed according to the priority of the new drawing processing command. Queue means for updating the command output order, so that even in environments where hardware does not support interrupts, etc., the time from when high-priority processing occurs until the start of processing execution is shortened Can do.

また、実施の形態1の描画制御装置によれば、キュー手段は、優先順位の高い描画処理コマンドの描画領域の後側に描画される描画領域がある場合、優先順位の高い描画処理コマンドの描画領域の後側に重なっている描画領域の描画処理コマンドの後に、優先順位の高い描画処理コマンドを出力するようにしたので、描画領域が重なっている場合でも、正しい描画イメージを維持することができる。   Further, according to the drawing control apparatus of the first embodiment, the queue means draws a drawing process command having a high priority when there is a drawing area to be drawn behind the drawing area of the drawing process command having a high priority. A drawing process command with a higher priority is output after the drawing process command for the drawing area that overlaps the rear of the area, so that even if the drawing areas overlap, the correct drawing image can be maintained. .

実施の形態2.
図5は、この発明の実施の形態2における描画制御装置を示すものである。
実施の形態2の描画制御装置は、演算部100aとして、実施の形態1の優先度付き描画コマンド生成手段101とキュー手段102の構成に加えて、実行時間テーブル103、最大処理時間レジスタ104、コマンド細分化手段105を設けたものである。実行時間テーブル103は、描画処理コマンド(描画コマンドや描画制御コマンド)毎の処理時間の値を保持するテーブルである。最大処理時間レジスタ104は、各描画処理コマンドに共通する最大処理時間の値を保持するレジスタである。コマンド細分化手段105は、優先度付き描画コマンド生成手段101が出力する描画処理コマンドに対して、実行時間テーブル103を参照してその描画処理コマンドの処理時間を求め、求めた処理時間が最大処理時間レジスタ104の最大処理時間を超えていた場合は、その描画処理コマンドを細分化するよう構成されている。その他の構成は実施の形態1と同様であるため、対応する部分に同一符号を付してその説明を省略する。
Embodiment 2. FIG.
FIG. 5 shows a drawing control apparatus according to Embodiment 2 of the present invention.
The drawing control apparatus according to the second embodiment includes an execution time table 103, a maximum processing time register 104, a command in addition to the configuration of the drawing command generating means 101 with priority and the queue means 102 according to the first embodiment as the arithmetic unit 100a. Subdividing means 105 is provided. The execution time table 103 is a table that holds a processing time value for each drawing processing command (drawing command or drawing control command). The maximum processing time register 104 is a register that holds a value of the maximum processing time common to each drawing processing command. The command subdividing unit 105 obtains the processing time of the drawing process command with respect to the drawing processing command output from the drawing command generating unit 101 with priority by referring to the execution time table 103, and obtains the maximum processing time. When the maximum processing time of the time register 104 is exceeded, the drawing processing command is subdivided. Since other configurations are the same as those of the first embodiment, the corresponding parts are denoted by the same reference numerals and description thereof is omitted.

次に、実施の形態2の描画制御装置の動作について説明する。
実行時間テーブル103には各処理コマンド(描画コマンドや描画制御コマンド)が必要とする処理時間をテーブル化して保持しており、描画処理コマンドから描画時間を読み出すことができる。描画面積や描画条件などが描画時間に関係するコマンドでは、単位あたりの描画時間が保持されており、描画面積や描画条件の係数を用いた演算により描画時間の見積もりができる。
Next, the operation of the drawing control apparatus according to the second embodiment will be described.
The execution time table 103 stores the processing time required for each processing command (drawing command and drawing control command) in a table, and the drawing time can be read from the drawing processing command. In a command in which the drawing area, drawing conditions, etc. are related to drawing time, the drawing time per unit is held, and the drawing time can be estimated by calculation using the drawing area and drawing condition coefficients.

優先度付き描画コマンド生成手段101において優先度がつけられた描画処理コマンドはコマンド細分化手段105に入力される。このコマンド細分化手段105では描画処理コマンドがどのようなコマンドで構成されているかを解析し、実行時間テーブル103を参照することでコマンドが必要とする処理時間を見積もる。次に、この見積もり時間が最大処理時間レジスタ104に保持されている最大処理時間を超えるか否かを判定し、超える場合は、コマンドの細分化を行う。例えば、画面をクリアするコマンドの場合、クリアする領域を分割することで一つのコマンドにかかる時間を最大処理時間レジスタ104で示される時間内に抑える。これにより優先度の高い処理が発生した場合に、処理が実行されるまでのタイムラグを、最大処理時間レジスタ104に保持されている時間に抑えることができる。   The drawing process command given priority in the drawing command generating means 101 with priority is input to the command subdividing means 105. The command subdividing means 105 analyzes what kind of command the drawing processing command is configured, and refers to the execution time table 103 to estimate the processing time required for the command. Next, it is determined whether or not the estimated time exceeds the maximum processing time held in the maximum processing time register 104. If it exceeds, the command is subdivided. For example, in the case of a command for clearing the screen, the time taken for one command is suppressed within the time indicated by the maximum processing time register 104 by dividing the area to be cleared. Thereby, when processing with high priority occurs, the time lag until the processing is executed can be suppressed to the time held in the maximum processing time register 104.

以上のように、実施の形態2の描画制御装置によれば、描画処理コマンド毎の処理時間の値を保持する実行時間テーブルと、各描画処理コマンドに共通する最大処理時間の値を保持する最大処理時間レジスタと、優先度付き描画コマンド生成手段が出力する描画処理コマンドに対して、実行時間テーブルを参照して描画処理コマンドの処理時間を求め、求めた処理時間が最大処理時間を超えていた場合は、描画処理コマンドを細分化するコマンド細分化手段とを備えたので、優先度の高い処理が発生した時点から処理の実行開始までの時間をより短縮することができる。   As described above, according to the drawing control apparatus of the second embodiment, the execution time table that holds the processing time value for each drawing processing command, and the maximum processing time value that is common to each drawing processing command. For the drawing process command output by the processing time register and the drawing command generating means with priority, the processing time of the drawing process command is obtained by referring to the execution time table, and the obtained processing time exceeds the maximum processing time. In this case, since a command segmentation means for segmenting the drawing process command is provided, it is possible to further shorten the time from the time when a process with high priority occurs to the start of the process execution.

実施の形態3.
図6は、この発明の実施の形態3における描画制御装置を示すものである。
実施の形態3の描画制御装置は、演算部100bとして、実施の形態1の優先度付き描画コマンド生成手段101とキュー手段102の構成に加えて、コマンド群化手段106を備えている。このコマンド群化手段106は、優先度付き描画コマンド生成手段101が出力する描画処理コマンドに対して、同一アプリケーションの描画処理コマンドをグループ化し、コマンド群としてキュー手段102に出力するよう構成されている。
Embodiment 3 FIG.
FIG. 6 shows a drawing control apparatus according to Embodiment 3 of the present invention.
The drawing control apparatus according to the third embodiment includes a command grouping unit 106 as the arithmetic unit 100b in addition to the configuration of the drawing command generating unit 101 with priority and the queue unit 102 according to the first embodiment. The command grouping unit 106 is configured to group drawing processing commands of the same application with respect to the drawing processing commands output from the drawing command generating unit 101 with priority, and output the grouped commands to the queue unit 102 as a command group. .

次に、実施の形態3の描画制御装置の動作について説明する。
描画プロセッサ300では、個々の描画処理コマンド(描画コマンドや描画制御コマンド)が送られて処理される場合よりも描画処理コマンド群としてまとめて処理するほうが高速に実行できる。しかしながら、複数のアプリケーションから発生させられた描画コマンドが、交互に並ぶ場合がある。これは、例えば、ウィンドウズ・アプリケーション(ウィンドウズは商標登録)のように、複数のウィンドウを開き、両ウィンドウ内でグラフィックスのアニメーションなどが表示されている場合に発生する。このような場合、二つのアプリケーションからアニメーションの描画コマンドが生成されキューに蓄積される。
Next, the operation of the drawing control apparatus according to the third embodiment will be described.
In the drawing processor 300, processing as a group of drawing processing commands can be executed faster than when individual drawing processing commands (drawing commands and drawing control commands) are sent and processed. However, there are cases where drawing commands generated from a plurality of applications are arranged alternately. This occurs, for example, when a plurality of windows are opened and a graphics animation is displayed in both windows as in a Windows application (Windows is a registered trademark). In such a case, animation drawing commands are generated from the two applications and accumulated in the queue.

このように、描画コマンドが交互に並ぶ場合は、描画プロセッサのステイトをコマンド毎に切り替える必要があるといったことから効率が悪く性能が劣化する。尚、ここでステイトとは描画属性と呼ばれるものであり、ウィンドウ位置やサイズ、描画色、線種(実線/破線)といったものを指す。一般に、このような描画属性などは複数の描画コマンドにおいて同じものを使用することが多いため、描画コマンド毎に設定せず、同じ描画属性を使用する描画コマンドの先頭で実行する。途中で異なるアプリケーションの描画コマンドが割り込むと描画属性を頻繁に変える必要が発生してしまい、性能が劣化することになる。   Thus, when drawing commands are arranged alternately, it is necessary to switch the state of the drawing processor for each command, resulting in poor efficiency and degraded performance. Here, the state is called a drawing attribute and indicates a window position, size, drawing color, line type (solid line / broken line), and the like. In general, since the same drawing attribute is often used for a plurality of drawing commands, the drawing attribute is not set for each drawing command but is executed at the head of the drawing command using the same drawing attribute. If a drawing command of a different application is interrupted on the way, it is necessary to change the drawing attribute frequently, and the performance deteriorates.

このため、同一のステイトで処理できるものをコマンド群としてまとめて処理するほうが高速に実行できる。この処理をコマンド群化手段106で実行する。例えば図7に示すように斜線の入ったアプリケーションAが発生させたコマンド1,3,5とアプリケーションBが発生させたコマンド2,4が交互に並んだ場合、コマンドが切り替わる毎にステイトを変更する必要がある。このため、コマンド群化手段106では、アプリケーションAのコマンド1,3,5と、アプリケーションBのコマンド2,4をコマンド群化する。これにより、ステイトの変更が少なくなり高速化が図れる。   For this reason, it is possible to execute the processing at a higher speed as a group of commands that can be processed in the same state. This process is executed by the command grouping means 106. For example, as shown in FIG. 7, when commands 1, 3, and 5 generated by application A with hatching and commands 2 and 4 generated by application B are alternately arranged, the state is changed each time the command is switched. There is a need. Therefore, the command grouping means 106 groups the commands 1, 3 and 5 of the application A and the commands 2 and 4 of the application B into a command group. As a result, the number of state changes is reduced and the speed can be increased.

また、上記例では実施の形態1の構成に対してコマンド群化手段106を設けたが、図8に示すように、実施の形態2の構成に対してコマンド群化手段106を設けても良い。
図8に示す描画制御装置の演算部100cにおいて、実行時間テーブル103aは、描画処理コマンド毎の実行時間と共に、描画処理コマンド群の実行時間を保持する。最大処理時間レジスタ104aは、描画処理コマンドの最大処理時間と共に、描画処理コマンド群の最大処理時間の値を保持する。コマンド細分化手段105aは、コマンド群化手段106の出力に対して処理を行う。即ち、コマンド細分化手段105aは、コマンド群化手段106が出力する描画処理コマンドまたは描画処理コマンド群に対して、実行時間テーブル103aを参照してその描画処理コマンドまたは描画処理コマンド群の処理時間を求め、求めた処理時間が最大処理時間レジスタ104aの最大処理時間を超えていた場合は、描画処理コマンドまたは描画処理コマンド群を細分化する。
In the above example, the command grouping means 106 is provided for the configuration of the first embodiment. However, as shown in FIG. 8, the command grouping means 106 may be provided for the configuration of the second embodiment. .
In the calculation unit 100c of the drawing control apparatus shown in FIG. 8, the execution time table 103a holds the execution time of the drawing process command group together with the execution time for each drawing process command. The maximum processing time register 104a holds the maximum processing time value of the drawing processing command group together with the maximum processing time of the drawing processing command. The command segmentation unit 105 a performs processing on the output of the command grouping unit 106. That is, the command subdividing unit 105a refers to the execution time table 103a for the drawing processing command or drawing processing command group output from the command grouping unit 106, and determines the processing time of the drawing processing command or drawing processing command group. If the calculated processing time exceeds the maximum processing time of the maximum processing time register 104a, the drawing processing command or the drawing processing command group is subdivided.

以上のように、実施の形態3の描画制御装置によれば、優先度付き描画コマンド生成手段が出力する描画処理コマンドに対して、同一アプリケーションの描画処理コマンドをグループ化し、コマンド群としてキュー手段に出力するコマンド群化手段を備えたので、アプリケーションやタスクが異なるために発生するステイト変更回数を減らすことができ、その結果、高速な動作を行うことができる。   As described above, according to the drawing control apparatus of the third embodiment, the drawing processing commands of the same application are grouped with respect to the drawing processing commands output from the drawing command generating means with priority, and the commands are grouped in the queuing means. Since the command grouping means for outputting is provided, the number of state changes that occur due to different applications and tasks can be reduced, and as a result, high-speed operation can be performed.

また、実施の形態3の描画制御装置によれば、描画処理コマンドまたは描画処理コマンド群毎の処理時間の値を保持する実行時間テーブルと、各描画処理コマンドまたは描画処理コマンド群に共通する最大処理時間の値を保持する最大処理時間レジスタと、コマンド群化手段が出力する描画処理コマンドまたは描画処理コマンド群に対して、実行時間テーブルを参照して描画処理コマンドまたは描画処理コマンド群の処理時間を求め、求めた処理時間が最大処理時間を超えていた場合は、描画処理コマンドまたは描画処理コマンド群を細分化するコマンド細分化手段とを備えたので、優先度の高い処理が発生した場合に、発生から処理実行までのタイムラグを短くすることができる。   In addition, according to the drawing control apparatus of the third embodiment, an execution time table that holds a processing time value for each drawing process command or drawing process command group, and a maximum process common to each drawing process command or drawing process command group The processing time of the drawing processing command or drawing processing command group is referred to the execution time table for the maximum processing time register for holding the time value and the drawing processing command or drawing processing command group output by the command grouping means. When the calculated processing time exceeds the maximum processing time, since it has a command subdivision means for subdividing the drawing processing command or the drawing processing command group, when processing with high priority occurs, The time lag from occurrence to processing execution can be shortened.

100,100a,100b,100c 演算部、101 優先度付き描画コマンド生成手段、102 キュー手段、103,103a 実行時間テーブル、104,104a 最大処理時間レジスタ、105,105a コマンド細分化手段、106 コマンド群化手段、200 システムメモリ、300 描画プロセッサ、400 描画メモリ。   100, 100a, 100b, 100c arithmetic unit, 101 drawing command generation means with priority, 102 queue means, 103, 103a execution time table, 104, 104a maximum processing time register, 105, 105a command segmentation means, 106 command grouping Means, 200 system memory, 300 drawing processor, 400 drawing memory.

Claims (3)

画面上に表示される各描画処理コマンドによる複数の描画領域に対して、描画優先順位を設定する優先度付き描画コマンド生成手段と、
優先度付き描画コマンド生成手段から送られた描画処理コマンドを蓄積すると共に、蓄積中に、新たな描画処理コマンドが入力された場合は、当該新たな描画処理コマンドの優先度に応じて、描画処理コマンドの出力順を更新するキュー手段と
優先度付き描画コマンド生成手段が出力する描画処理コマンドに対して、同一アプリケーションの描画処理コマンドをグループ化し、コマンド群としてキュー手段に出力するコマンド群化手段とを備えた描画制御装置。
Drawing command generating means with priority for setting drawing priority for a plurality of drawing areas by each drawing processing command displayed on the screen;
The drawing processing command sent from the drawing command generating means with priority is accumulated, and when a new drawing processing command is inputted during the accumulation, the drawing processing command is processed according to the priority of the new drawing processing command. A queue means for updating the output order of commands ;
A drawing control apparatus comprising: a command grouping unit that groups drawing processing commands of the same application with respect to a drawing processing command output by a drawing command generating unit with priority and outputs the command group to a queue unit as a command group .
キュー手段は、優先順位の高い描画処理コマンドの描画領域の後側に描画される描画領域がある場合、前記優先順位の高い描画処理コマンドの描画領域の後側に重なっている描画領域の描画処理コマンドの後に、前記優先順位の高い描画処理コマンドを出力することを特徴とする請求項1記載の描画制御装置。   If there is a drawing area to be drawn behind the drawing area of the drawing process command with high priority, the queue means draws the drawing area overlapping the drawing area of the drawing process command with high priority. The drawing control apparatus according to claim 1, wherein the drawing processing command having a high priority is output after the command. 描画処理コマンドまたは描画処理コマンド群毎の処理時間の値を保持する実行時間テーブルと、
各描画処理コマンドまたは描画処理コマンド群に共通する最大処理時間の値を保持する最大処理時間レジスタと、
コマンド群化手段が出力する描画処理コマンドまたは描画処理コマンド群に対して、前記実行時間テーブルを参照して当該描画処理コマンドまたは描画処理コマンド群の処理時間を求め、当該求めた処理時間が前記最大処理時間を超えていた場合は、前記描画処理コマンドまたは描画処理コマンド群を細分化するコマンド細分化手段とを備えたことを特徴とする請求項1または請求項2記載の描画制御装置。
An execution time table that holds a processing time value for each drawing processing command or drawing processing command group;
A maximum processing time register that holds a value of a maximum processing time common to each drawing processing command or drawing processing command group;
For the drawing processing command or drawing processing command group output by the command grouping unit, the processing time of the drawing processing command or drawing processing command group is obtained by referring to the execution time table, and the obtained processing time is the maximum 3. The drawing control apparatus according to claim 1 , further comprising command subdividing means for subdividing the drawing processing command or the drawing processing command group when the processing time is exceeded.
JP2009025792A 2009-02-06 2009-02-06 Drawing control device Expired - Fee Related JP5178562B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009025792A JP5178562B2 (en) 2009-02-06 2009-02-06 Drawing control device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009025792A JP5178562B2 (en) 2009-02-06 2009-02-06 Drawing control device

Publications (2)

Publication Number Publication Date
JP2010182139A JP2010182139A (en) 2010-08-19
JP5178562B2 true JP5178562B2 (en) 2013-04-10

Family

ID=42763695

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009025792A Expired - Fee Related JP5178562B2 (en) 2009-02-06 2009-02-06 Drawing control device

Country Status (1)

Country Link
JP (1) JP5178562B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102637195A (en) * 2012-02-27 2012-08-15 王涛 Terminal system based on vector image play and realization method thereof

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6039234A (en) * 1983-08-10 1985-03-01 Mitsubishi Electric Corp Crt terminal device
JPS6270892A (en) * 1985-09-25 1987-04-01 株式会社日立製作所 Multiwindow display control system
JPH07271344A (en) * 1994-03-29 1995-10-20 Hitachi Ltd Graphic display device
JP3530360B2 (en) * 1997-10-27 2004-05-24 株式会社ルネサステクノロジ Data processing device and data processing system
JP2007101962A (en) * 2005-10-05 2007-04-19 Matsushita Electric Ind Co Ltd Display system and display controller
JP2007241629A (en) * 2006-03-08 2007-09-20 Seiko Epson Corp Information processor and program for making computer execute information processing method
JP2007328484A (en) * 2006-06-07 2007-12-20 Univ Of Tokyo Processor

Also Published As

Publication number Publication date
JP2010182139A (en) 2010-08-19

Similar Documents

Publication Publication Date Title
US11029866B2 (en) Methods, devices, and computer program products for processing data
JP3224782B2 (en) Process sharing dynamic change method and computer
US8139070B1 (en) Systems for and methods of context switching in a graphics processing system
KR20120058605A (en) Hardware-based scheduling of gpu work
CN109213607B (en) Multithreading rendering method and device
KR102346119B1 (en) Identification of primitives in the input index stream
CN104094235A (en) Multithreaded computing
KR20190126728A (en) Data processing systems
KR101869939B1 (en) Method and apparatus for graphic processing using multi-threading
US10915359B2 (en) Variable latency request arbitration
JP2014038576A (en) Rendering processing device and method using multiprocessing
CN113342485A (en) Task scheduling method, device, graphics processor, computer system and storage medium
JP5178562B2 (en) Drawing control device
US20240036921A1 (en) Cascading of Graph Streaming Processors
CN116762062A (en) Processing system utilizing selective priority-based two-stage binning
JP5726332B2 (en) Drawing control device
US11481256B2 (en) Task graph scheduling for workload processing
CN114902181A (en) GPU (graphics processing Unit) packet aggregation system
KR20160025894A (en) Method and apparatus for power control for GPU resources
US6771271B2 (en) Apparatus and method of processing image data
JP6368452B2 (en) Improved scheduling of tasks performed by asynchronous devices
US20180203700A1 (en) Processor mode switching
JP5968497B2 (en) Control method, system and program
JP2010218130A (en) Drawing control device
US11900123B2 (en) Marker-based processor instruction grouping

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110912

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120911

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120925

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121122

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20121211

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130108

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees