JPH07182536A - System and device for plotting - Google Patents
System and device for plottingInfo
- Publication number
- JPH07182536A JPH07182536A JP5323694A JP32369493A JPH07182536A JP H07182536 A JPH07182536 A JP H07182536A JP 5323694 A JP5323694 A JP 5323694A JP 32369493 A JP32369493 A JP 32369493A JP H07182536 A JPH07182536 A JP H07182536A
- Authority
- JP
- Japan
- Prior art keywords
- depth information
- buffer
- plotting
- command
- commands
- 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
- Image Generation (AREA)
Abstract
Description
【0001】[0001]
【産業上の利用分野】本発明は、計算機端末などの表示
に関し、特にクライアントサーバ型のウィンドウシステ
ムにおける表示の高速化に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to display on a computer terminal and the like, and more particularly to speeding up display in a client-server type window system.
【0002】[0002]
【従来の技術】従来のクライアントサーバ型のウィンド
ウシステムにおける表示方式では、応用プログラムであ
るクライアント側から表示プログラムであるサーバ側へ
描画コマンドが送られた時、これを受け付けた順に逐次
に表示していた。このような例としてXウィンドシステ
ムがあげられる。Xウィンドシステムにおけるサーバク
ライアントの通信の規約については、たとえば「Xlib P
rogramming Manual by Adrian Nye,O'Reilly & Associa
tes,Inc.」「X Protocol Reference Manual by Robert
W. Scheifler,O'Reilly & Associates,Inc.」に説明が
ある。特徴の一つとして通信路が順序性を保ったメッセ
ージストリームであることが挙げられる。2. Description of the Related Art In a conventional display method in a client-server type window system, when a drawing command is sent from a client side, which is an application program, to a server side, which is a display program, the drawing commands are sequentially displayed in the order in which they are received. It was An example of this is the X window system. For the protocol of server / client communication in the X window system, see "Xlib P
rogramming Manual by Adrian Nye, O'Reilly & Associa
tes, Inc.``X Protocol Reference Manual by Robert
W. Scheifler, O'Reilly & Associates, Inc. ”. One of the characteristics is that the communication path is a message stream that maintains order.
【0003】[0003]
【発明が解決しようとする課題】従来の逐次表示方式で
はクライアントから受け付けた描画コマンドを逐次に表
示していたので高速化の限界があり、これが第1の問題
である。これを並列に表示することによって性能を上げ
ようとする場合、描画コマンドの処理の追い越しによる
表示の不正が第2の問題となる。In the conventional sequential display method, the drawing commands received from the client are sequentially displayed, so there is a limit to speeding up, which is the first problem. When it is attempted to improve the performance by displaying them in parallel, the second problem is display injustice due to overtaking of the processing of the drawing command.
【0004】追い越しによる不正について、例を用いて
説明する。表示画面上で大きな赤い丸の上に小さな青い
三角形を描画することを考える。逐次表示方式では、ま
ず赤い丸を書く描画コマンドを送り、次に青い三角形を
書く描画コマンドを送ると、これを順に表示するので目
的が達成される。一方、並列表示方式では、大きな赤い
丸の描画中に、小さな青い三角形の描画を始めてしまう
と、両者が重なり合う部分で描画処理が追い越し、先に
小さな青い三角形が描画されその後で大きな赤い丸が描
画される可能性があり、この場合小さな青い三角形は表
示画面上に残らなくなり問題である。Fraud due to overtaking will be described using an example. Consider drawing a small blue triangle on top of a large red circle on the display screen. In the sequential display method, when a drawing command for writing a red circle is first sent and then a drawing command for writing a blue triangle is sent, the drawing commands are sequentially displayed, thereby achieving the purpose. On the other hand, in the parallel display method, if you start drawing a small blue triangle while drawing a large red circle, the drawing process will be overtaken in the overlapping area, the small blue triangle will be drawn first, and then the large red circle will be drawn. This is a problem in which small blue triangles do not remain on the display screen.
【0005】[0005]
【課題を解決するための手段】上記問題を解決するため
に、描画順序制御のためのZバッファ、上記Zバッファ
に描画コマンドの受付順番号を格納する手段を設け、お
よび受け付けた複数の描画コマンドは複数のプロセッサ
に分配して実行するとともに、 1)新たに描画すべき描画コマンドを受け付けた時、格
納していた描画コマンドの受付順番号を1増やし再格納
するとともに、この新たな受付順番号をZバッファで用
いる深さ情報として描画コマンドに付加してプロセッサ
に分配し、 2)描画実行時には、表示画面の各ドット毎に、描画コ
マンドに付加された深さ情報とZバッファに既に書き込
まれている深さ情報を比較し、描画コマンドに付加され
た深さ情報の方が大きかった場合のみ新たな深さ情報を
Zバッファに書き込むとともに表示メモリへの描画を行
なう、 との構成とした。In order to solve the above problems, a Z buffer for drawing order control, means for storing an acceptance sequence number of drawing commands in the Z buffer, and a plurality of accepted drawing commands are provided. Distributes to multiple processors and executes: 1) When a drawing command to be newly drawn is accepted, the stored drawing command acceptance order number is incremented by 1 and stored again, and this new acceptance order number Is added to the drawing command as depth information used in the Z buffer and distributed to the processors. 2) When drawing is executed, the depth information added to the drawing command and the depth information already added to the Z buffer are already written for each dot on the display screen. The depth information added to the drawing command is compared, and new depth information is written to the Z buffer only when the depth information added to the drawing command is larger. For drawing to the display memory, and the configuration of the.
【0006】[0006]
【作用】上記構成により、並列に実行される描画コマン
ドは、先に受け付けた描画コマンドには小さい値の深さ
情報が、後から受け付けた描画コマンドには大きな値の
深さ情報が付加されるので、描画コマンド処理の追い越
しが起こった場合にも、Zバッファに格納された深さ情
報を比較では、後から受け付けたコマンドのみ上書きを
行なうことが可能であり、画面表示に不正が起こること
はなくなる。With the above structure, the drawing commands executed in parallel have the depth information of a small value added to the drawing command received first and the depth information of a large value added to the drawing command received later. Therefore, even if the drawing command processing is overtaken, the depth information stored in the Z buffer can be compared, and only the command received later can be overwritten. Disappear.
【0007】[0007]
【実施例】本発明の第1の実施例を図1、図2および図
3を用いて説明する。本実施例では図3のフローが図1
の中の複数のCPUでそれぞれ動作することにより、図
1の計算機システムがサーバとして機能するものであ
る。図1の計算機システムは計算機本体101と表示装
置102からなる。計算機本体101には複数のCPU
(プロセッサ)104、105、主記憶106、描画制
御装置107、表示記憶108、およびZバッファ10
9を含む。CPU104、105、主記憶106、描画
制御装置107はバス103により結合されている。バ
ス103の延長上には、図示しないクライアント側の装
置が通信制御装置を介して接続される。説明図としてC
PU104およびCPU105をの2台のみ図示した
が、これはCPUの数を限定するものではない。DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS A first embodiment of the present invention will be described with reference to FIGS. 1, 2 and 3. In this embodiment, the flow of FIG.
The computer system in FIG. 1 functions as a server by operating each of a plurality of CPUs in the computer. The computer system shown in FIG. 1 includes a computer main body 101 and a display device 102. Multiple CPUs in the computer body 101
(Processor) 104, 105, main memory 106, drawing control device 107, display memory 108, and Z buffer 10
Including 9. The CPUs 104 and 105, the main memory 106, and the drawing control device 107 are connected by a bus 103. On the extension of the bus 103, a client-side device (not shown) is connected via a communication control device. C as an illustration
Although only two of the PU 104 and the CPU 105 are shown, this does not limit the number of CPUs.
【0008】図2は図1の主要部に、実施例のデータ構
造を付記して示したものである。主記憶106の一部の
領域には、受け付けバッファ201と受け付け順カウン
タ205が形成される。受け付けバッファ201にはク
ライアントである応用プログラムから送られてきた描画
コマンドが、描画コマンド202、203、204のよ
うにバッファリングされる。システムの動作中には実際
にバッファリングされているコマンドの数は変化し、バ
ッファが空になる場合もある。受け付け順カウンタ20
5は、受け付けられた描画コマンドが描画実行コマンド
であったときにカウント値が更新されるカウンタであ
る。一方、表示記憶108およびZバッファ109は、
表示装置102の表示画面のピクセルのそれぞれに対応
したアドレスをもつ。表示記憶108にはそのピクセル
の赤、緑、青の各成分の輝度を示す色情報207が、Z
バッファ109にはそのピクセルについて描画を行うべ
きか、つまり対応するアドレスの色情報207を更新す
べきか否かを参照するための深さ情報206が格納され
る。FIG. 2 is a diagram in which the data structure of the embodiment is added to the main part of FIG. A reception buffer 201 and a reception order counter 205 are formed in a partial area of the main memory 106. Drawing commands sent from the application program as a client are buffered in the reception buffer 201 like drawing commands 202, 203, and 204. The number of commands actually buffered may change during system operation, and the buffer may become empty. Reception order counter 20
Reference numeral 5 is a counter whose count value is updated when the received drawing command is a drawing execution command. On the other hand, the display storage 108 and the Z buffer 109 are
It has an address corresponding to each pixel of the display screen of the display device 102. In the display memory 108, color information 207 indicating the brightness of each of the red, green, and blue components of the pixel is Z
The buffer 109 stores depth information 206 for referring to whether or not drawing should be performed for the pixel, that is, whether or not the color information 207 at the corresponding address should be updated.
【0009】図3は実施例の動作を示すフローチャート
である。本フローチャートの流れに添って実施例の動作
を説明する。本フローチャートをプログラム化したもの
がCPU104、CPU105など、複数のCPUの上
で動作する。FIG. 3 is a flow chart showing the operation of the embodiment. The operation of the embodiment will be described along the flow of this flowchart. The program of this flowchart operates on a plurality of CPUs such as the CPU 104 and the CPU 105.
【0010】まずステップ301では同期の確認をと
る。同期の要求は後で述べるステップ309で出され
る。続いて受け付けバッファ201を調べ(ステップ3
02)、空ならば中断する(ステップ303)。受け付
けバッファ201が空ではない場合、受け付けバッファ
から描画コマンドを取り出し(ステップ304)、描画
実行コマンドであるか調べ(ステップ305)、描画実
行コマンドでなければ、対応するその他処理を実行し
(ステップ306)、ステップ301に戻る。描画実行
コマンドならば、受付順カウンタ205の値を1増やし
(ステップ307)、受付順カウンタ205の値を調べ
る(ステップ308)。受付順カウンタ205がオーバ
フローして0に戻っていたならば、ステップ309に進
み、さもなければステップ309ないし311をスキッ
プして、ステップ312へ進む。ステップ309では全
プロセッサ間で同期をとる。続いて描画制御装置107
にZバッファ109のクリアを命令し(ステップ31
0)、同期を解除し(ステップ311)。ステップ31
2に進む。描画制御装置107はZバッファ109中に
ドット対応で存在する深さ情報206をすべて0にす
る。ステップ312では、更新された受付順カウンタ2
05の値を「深さ情報」とし、ステップ305で取り出
した描画コマンドに付加し、これによって描画制御装置
に描画を命令する。描画制御装置107は命令にしたが
ってピクセル単位に展開した描画を行う。具体的には、
描画を行うべき各ピクセルについて、Zバッファ中の深
さ情報206と描画コマンド中の深さ情報を比較し、描
画コマンド中の深さ情報の方が大きかった場合にのみ、
Zバッファ中の深さ情報206を、描画コマンド中の深
さ情報をもって更新し、表示記憶108中の色情報20
7を、描画コマンド中の描画色をもって更新する。Zバ
ッファ中の深さ情報206の方が描画コマンド中の深さ
情報より大きい場合には、そのピクセルについては色情
報207の更新をおこなわず、描画コマンドの示す次の
ピクセルについての同様な比較、処理にうつる。描画コ
マンドで示された全ての描画対象がピクセルについて同
様な処理が終わると、ステップ301に戻る。First, in step 301, synchronization is confirmed. The request for synchronization is made in step 309, which will be described later. Then, the acceptance buffer 201 is examined (step 3
02), if it is empty, the process is interrupted (step 303). If the reception buffer 201 is not empty, a drawing command is taken out from the reception buffer (step 304), and it is checked whether it is a drawing execution command (step 305). If it is not a drawing execution command, the corresponding other processing is executed (step 306). ), And returns to step 301. If it is a drawing execution command, the value of the reception order counter 205 is incremented by 1 (step 307), and the value of the reception order counter 205 is checked (step 308). If the reception order counter 205 overflows and has returned to 0, the process proceeds to step 309. Otherwise, steps 309 to 311 are skipped and the process proceeds to step 312. In step 309, all processors are synchronized. Then, the drawing control device 107
To clear the Z buffer 109 (step 31
0), and the synchronization is released (step 311). Step 31
Go to 2. The drawing control device 107 sets all the depth information 206 that corresponds to dots in the Z buffer 109 to 0. In step 312, the updated reception order counter 2
The value of 05 is set as "depth information", which is added to the drawing command extracted in step 305, thereby instructing the drawing control device to perform drawing. The drawing control device 107 draws in a pixel unit according to a command. In particular,
For each pixel to be drawn, the depth information 206 in the Z buffer is compared with the depth information in the drawing command, and only when the depth information in the drawing command is larger,
The depth information 206 in the Z buffer is updated with the depth information in the drawing command, and the color information 20 in the display memory 108 is updated.
7 is updated with the drawing color in the drawing command. If the depth information 206 in the Z buffer is greater than the depth information in the drawing command, the color information 207 is not updated for that pixel, and a similar comparison is made for the next pixel indicated by the drawing command. Transfer to processing. When all the drawing targets indicated by the drawing command have been processed in the same way for the pixels, the process returns to step 301.
【0011】以上のように、複数のCPU104、10
5のうちのいずれかがステップ309で同期を要求し、
ステップ311で同期を解除するまでの特別な期間をの
ぞけば、複数のCPUで図3のフローが互いに非同期、
並列に実行される。つまり複数の描画コマンドが並列に
実行される。しかしながら、ピクセル単位で見ると、現
に表示記憶108中に格納されている色情報を設定した
描画コマンドよりも後から受け付けられた描画コマンド
による上書きである場合にしかそのピクセルへの上書き
(色情報の更新)は実行されない。したがって、互いに
非同期、並列に実行される描画コマンドの実行の進捗に
追越しが生じても、後から受け付けられた描画コマンド
の描画結果による表示が、先に受け付けられた描画コマ
ンドにより上書きを受けて消失するという表示の不正が
生じない。As described above, the plurality of CPUs 104, 10
Any of the 5 requests sync at step 309,
Except for a special period until the synchronization is released in step 311, the flow of FIG.
Executed in parallel. That is, a plurality of drawing commands are executed in parallel. However, when viewed on a pixel-by-pixel basis, the pixel is overwritten (color information is overwritten) only when the overwriting is performed by a drawing command received later than the drawing command for which the color information currently stored in the display memory 108 is set. Update) is not executed. Therefore, even if the progress of the execution of drawing commands that are executed asynchronously and in parallel with each other is overtaken, the display of the drawing result of the drawing command accepted later is overwritten by the drawing command accepted first and disappears. There is no display fraud.
【0012】本実施例によれば、同期を必要とするのは
Zバッファをクリアする時のみであり、描画を高度に並
列実行できる。According to this embodiment, the synchronization is required only when the Z buffer is cleared, and the drawing can be executed in a highly parallel manner.
【0013】[0013]
【発明の効果】本発明によれば、複数の描画コマンドを
受け付けるような表示システムにおいて、Zバッファの
機構を用いることにより、描画順序の制約によらず並列
に描画実行が可能となる。According to the present invention, in a display system that accepts a plurality of drawing commands, by using the mechanism of the Z buffer, it is possible to execute drawing in parallel regardless of restrictions on the drawing order.
【図1】本発明の実施例を示す計算機システムである。FIG. 1 is a computer system showing an embodiment of the present invention.
【図2】本発明の実施例を示すデータ構造である。FIG. 2 is a data structure showing an embodiment of the present invention.
【図3】本発明の実施例を示すフローチャートである。FIG. 3 is a flowchart showing an embodiment of the present invention.
101…計算機本体、102…表示装置、103…バ
ス、104,105…CPU、106…主記憶、107
…描画制御装置、108…表示記憶、109…Zバッフ
ァ。101 ... Computer main body, 102 ... Display device, 103 ... Bus, 104, 105 ... CPU, 106 ... Main memory, 107
... drawing control device, 108 ... display memory, 109 ... Z buffer.
Claims (4)
画方法において、描画コマンドの受付順をZバッファに
おける深さ情報とすることにより描画コマンドの描画順
序制御にZバッファを用いることを特徴とする描画方
法。1. A drawing method in which drawing is performed using a plurality of drawing commands, and the Z buffer is used for drawing order control of drawing commands by setting the order of acceptance of drawing commands as depth information in the Z buffer. Method.
複数の描画コマンドを複数のプロセッサに分配し、同時
に描画実行する描画方法。2. The drawing method according to claim 1, wherein a plurality of received drawing commands are distributed to a plurality of processors and drawing is executed simultaneously.
の深さ情報が最大値に達したら全プロセッサが同期を取
ってZバッファをクリアする描画方法。3. The drawing method according to claim 2, wherein when the depth information of the Z buffer reaches the maximum value, all the processors synchronously clear the Z buffer.
する描画コマンドをそれぞれが受け付け、それぞれが受
け付けた描画コマンドにしたがって同一表示画面に描画
処理を行う複数のプロセッサを備えた描画処理装置にお
いて、前記複数のプロセッサ全体としての描画コマンド
の受け付け順を示すカウンタと、前記表示画面の各ピク
セルに対応して表示情報とその表示情報の深さ情報を示
す記憶手段を備え、前記それぞれのプロセッサは前記カ
ウンタの値を受け付けた描画コマンドの深さ情報として
取り込み、上記記憶手段の各ピクセルに対して、既に記
憶されているそのピクセルの深さ情報に比べて取り込ん
だ深さ情報がより後の受け付け順を示す時にのみ受け付
けた描画コマンドに基づく当該ピクセルの表示情報と深
さ情報の更新を行って描画処理を実行し、既に記憶され
ている深さ情報に比べて取り込んだ深さ情報がより以前
の受け付け順を示す時には当該ピクセルに対する描画処
理を行わないことを特徴とする描画処理装置。4. A drawing processing apparatus comprising a plurality of processors, each of which receives a drawing command generated by an application program which is a client, and performs drawing processing on the same display screen according to the drawing command received by each of the plurality of processors. A counter that indicates the order in which the drawing commands are accepted by the processor as a whole and a storage unit that indicates the display information and the depth information of the display information corresponding to each pixel of the display screen are provided. Is received as depth information of the received drawing command, and for each pixel of the above-mentioned storage means, when the depth information taken in indicates a later acceptance order as compared with the depth information of the pixel already stored. Update the display information and depth information of the pixel based on the drawing command received only Run the drawing process Te, already drawing processing apparatus characterized by not performing drawing processing for the pixel when the depth information captured than the depth information stored indicates the earlier accepted order.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5323694A JPH07182536A (en) | 1993-12-22 | 1993-12-22 | System and device for plotting |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5323694A JPH07182536A (en) | 1993-12-22 | 1993-12-22 | System and device for plotting |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH07182536A true JPH07182536A (en) | 1995-07-21 |
Family
ID=18157560
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5323694A Pending JPH07182536A (en) | 1993-12-22 | 1993-12-22 | System and device for plotting |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH07182536A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6529198B1 (en) | 1999-03-16 | 2003-03-04 | Nec Corporation | Parallel rendering device |
-
1993
- 1993-12-22 JP JP5323694A patent/JPH07182536A/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6529198B1 (en) | 1999-03-16 | 2003-03-04 | Nec Corporation | Parallel rendering device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1092192B1 (en) | Double buffered graphics and video accelerator having a write blocking memory interface and method of blocking write in the memory | |
US6331854B1 (en) | Method and apparatus for accelerating animation in a video graphics system | |
US7432933B2 (en) | System and method utilizing multiple processes to render graphical data | |
JP2004280125A (en) | Video/graphic memory system | |
CN116821040B (en) | Display acceleration method, device and medium based on GPU direct memory access | |
JP2006060596A (en) | Image transfer using drawing command hooking | |
EP1947602B1 (en) | Information processing device, graphic processor, control processor, and information processing method | |
US20020109697A1 (en) | Method for reducing transport delay in a synchronous image generator | |
JPH10500514A (en) | Computer workstation | |
JPH07182536A (en) | System and device for plotting | |
US6166724A (en) | Method and apparatus for sequencing palette updates in a video graphics system | |
JPH0219917A (en) | Multi-window control method and information processor | |
JP2006058668A (en) | Image transfer using drawing command hooking | |
US7561155B1 (en) | Method for reducing transport delay in an image generator | |
JPH05205026A (en) | Method and device for processing simultaneous pick event | |
JP2006285901A (en) | Transfer of image using transparent window | |
JPH0798579A (en) | Picture display system | |
JP2000098996A (en) | Image display device | |
JPH02302881A (en) | Data plotting system | |
JPH07168946A (en) | Plotting system and display device | |
JPH0772850A (en) | Device for displaying moving image | |
JP2611476B2 (en) | Image data enlargement processing method | |
JPH0793169A (en) | Inter-process communication system | |
JPH06250812A (en) | Multiwindow system | |
JPH035790A (en) | Data display device |