CN1173299C - 队列存储切换指令减少闲置时间的计算机绘图系统与方法 - Google Patents

队列存储切换指令减少闲置时间的计算机绘图系统与方法 Download PDF

Info

Publication number
CN1173299C
CN1173299C CNB011119004A CN01111900A CN1173299C CN 1173299 C CN1173299 C CN 1173299C CN B011119004 A CNB011119004 A CN B011119004A CN 01111900 A CN01111900 A CN 01111900A CN 1173299 C CN1173299 C CN 1173299C
Authority
CN
China
Prior art keywords
switching command
instruction
queue
instruction queue
drawing engine
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
CNB011119004A
Other languages
English (en)
Other versions
CN1377011A (zh
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.)
Silicon Integrated Systems Corp
Original Assignee
Silicon Integrated Systems 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 Silicon Integrated Systems Corp filed Critical Silicon Integrated Systems Corp
Priority to CNB011119004A priority Critical patent/CN1173299C/zh
Publication of CN1377011A publication Critical patent/CN1377011A/zh
Application granted granted Critical
Publication of CN1173299C publication Critical patent/CN1173299C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Abstract

一种以队列存储切换指令来减少闲置时间的计算机绘图系统及方法,包括:指令队列,从系统总线接收指令;绘图引擎,接收所述指令队列所输出的指令,并执行绘图动作;一切换指令队列,接收所述指令队列的切换指令;以及显示驱动器,控制影像显示动作;指令队列在所述绘图引擎闲置且切换指令队列还有空间时,先将切换指令传给该切换指令队列,而将后续的非切换指令传送至绘图引擎,以减少绘图引擎的闲置时间。切换指令队列在绘图引擎闲置且收到显示控制器传来的垂直触发信号时,送出一切换指令。

Description

队列存储切换指令减少闲置 时间的计算机绘图系统与方法
技术领域
本发明涉及一种计算机绘图系统与方法,特别是涉及以队列存储切换指令来减少闲置时间的计算机绘图系统与方法。
背景技术
图1所示为一般3D显示控制流程。在一般的3D(3维)显示的控制流程中,3D应用程序100使用一些如Direct3D以及OpenGL等特殊3D图形数据库101来辅助最终3D显示的设计。这些图形数据库101将3D对象转换成具有绘图属性(drawing attribute)的图形数据元素(primitive)。该3D对象(object)从定义对象的实体座标(world coordinate)被转换成定义屏幕上投影座标位置的屏幕座标(screen coordinate)。之后,显示装置驱动器103将具有特殊硬件指令的图形数据元素传送至图形加速装置104,再利用该图形加速装置104将图形描绘于显示器105上。
图2显示一般应用于3D显示控制流程的图形加速装置的控制方块图。如图2所示,一般的图形加速装置104包含一指令队列106、一绘图引擎(engine)107以及一存储器控制器108。指令队列106经由系统总线从显示装置驱动器103接收3D图形数据元素的绘图指令,并以队列方式存储这些指令。接着,绘图引擎107依序接收指令队列106的指令并加以执行。绘图引擎107所计算并产生的数据利用存储器控制器108经由存储器总线存储至图形存储器109。
在多媒体动画的应用中,绘图系统一般都使用两组或多组的存储器缓冲器来存储数据。如图3所示,是一种使用三组存储器缓冲器的绘图系统。第一组缓冲器是所谓的前台缓冲器(front buffer),其余的缓冲器则称为后台缓冲器(back buffer)。当系统在显示前台缓冲器的影像时,3D的描绘系统可以将新的影像数据写入后台缓冲器。换言之,即描绘系统描绘下一张显示的影像于后台缓冲器时,显示系统则将前台缓冲器的影像显示于屏幕上。而当后台缓冲器的影像完成时,绘图系统即可进行切换(flip)动作,将完成的后台缓冲器切换成前台缓冲器,由此显示完成的影像。所以,只要动画需要,此切换动作即持续进行,如图3B与图3C所示。
当绘图系统在后台缓冲器完成下一张图片的所有图形数据元素(primitive)后,该绘图系统即产生一缓冲器切换指令。在绘图系统完成下一张图片并请求切换功能之后,若前台缓冲器的影像仍在显示,则显示装置控制器不会允许绘图程序将新的影像描绘在仍在显示的缓冲器上。因此,为了避免造成影像撕裂(tearing),影像装置控制器会持续询问,并等到绘图引擎107闲置(idle)以及检测到显示器的垂直同步信号后才进行切换指令。此种切换方式即所谓的软件切换。但是在此种状态下,当遇到切换指令时,该指令会停留在指令队列,且影像装置控制器会持续询问是否可进行切换,造成主机(host)的动作会被闲置且应用程序停止(stalled),直到图形加速装置完成切换指令。所以,此种软件切换的控制流程会浪费绘图引擎的资源。
发明内容
鉴于上述问题,本发明的一个目的是提供一种利用硬件控制切换指令的来减少闲置时间的计算机绘图系统与方法。
本发明的另一目的是提供一种以硬件队列存储切换指令来减少闲置时间的计算机绘图系统与方法。
为达到上述目的,本发明提供一种以队列存储切换指令来减少闲置时间的计算机绘图系统,包括:一指令队列,用于从一系统总线接收指令;一绘图引擎,用于接收所述指令队列所输出的指令,并执行绘图动作;一切换指令队列,用于接收所述指令队列的切换指令;以及一显示驱动器,用于控制影像显示动作;其中所述指令队列在所述绘图引擎闲置且切换指令队列还有空间时,先将切换指令传给该切换指令队列,而将后续的非切换指令传送至所述绘图引擎,以减少绘图引擎的闲置时间。
另外,本发明的切换指令队列在绘图引擎闲置且收到显示控制器传来的垂直触发信号时,才送出一切换指令。
本发明还提供一种以队列存储切换指令来减少闲置时间的计算机绘图方法,包括以下步骤:接收指令,由一指令队列从系统总线接收并存储指令;执行绘图,由一绘图引擎接收所述指令队列的绘图指令,并执行绘图动作;存储切换指令,在所述绘图引擎闲置时,由一切换指令队列接收并存储所述指令队列的切换指令;以及进行切换,当所述切换指令队列存储有切换指令并且检测到影像垂直同步信号时,执行切换动作,并送出存储在所述切换指令队列的一切换指令;通过事先将切换指令传给所述切换指令队列,将后续的非切换指令继续传送至所述绘图引擎,从而减少绘图引擎的闲置时间。
由于本发明的以硬件队列存储切换指令来减少闲置时间的计算机绘图系统与方法利用位于图形加速装置内的切换队列预先存储切换指令,并在检测到显示器的垂直同步信号后,才执行切换指令。因此,绘图引擎可在等待垂直同步信号的期间,继续进行绘图指令的执行,而减少显示装置驱动器闲置等待的时间,提高图形加速装置的效率。
附图说明
以下参考附图,详细说明本发明以队列存储切换指令来减少闲置时间的计算机绘图系统的优选实施例。
图1为传统的3D显示控制流程。
图2为传统的图形加速装置的方块图。
图3为传统的使用后台缓冲器的示意图。
图4为本发明的实施例使用的图形加速装置的方块图。
图5为本发明的实施例使用的指令与存储器缓冲器的配置图。
附图标号说明:
10图形加速装置
11指令队列
12绘图引擎
13切换指令队列
14存储器控制器
具体实施方式
图4显示按照本发明的一个实施例的计算机绘图系统的图形加速装置的方块图。如图4所示,图形加速装置10包含指令列队11、绘图引擎12、切换指令队列13以及存储器控制器14。其中,指令队列11经由系统总线从显示装置驱动器103读取指令,而绘图引擎12依序接收指令队列11的绘图指令并加以执行。绘图引擎12所计算并产生的数据则利用存储器控制器14经由存储器总线存储至图形存储器(图中未示出)。
其次,切换指令队列13为一个存储器队列,用来接收从指令队列11传来的切换指令。切换指令队列13的存储器容量根据所使用的后台缓冲器的个数决定,即后台缓冲器的个数越多,切换指令列队13的存储器容量必须越大。该切换指令队列13在队列已满时,会传送一队列已满信号至指令队列11,用来通知指令队列11不可送出绘图指令至绘图引擎12,因此时已没有可描绘的后台缓冲器。
存储于指令队列11的指令可被区分成两类,一类是传送至绘图引擎12的绘图指令,而另一类是传送至切换指令队列13的切换指令。当绘图引擎12将一影像描绘完毕并处于闲置状态时,指令队列11会将一切换指令传送至切换指令队列13存储。因此该切换指令不会停留在指令队列11,所以不会阻挡后续的下一张影像的绘图指令继续传送至绘图引擎12。进一步,当切换指令队列13存储有至少一个切换指令时,该切换指令队列13会持续检测显示器的显示状态。当切换指令队列13检测到显示器的垂直同步信号时,该切换指令队列13即送出(pop-out)一切换指令,并通知存储器控制器14执行切换动作。
所以,本发明的图形加速装置可有效利用绘图引擎12闲置后至产生显示器的垂直同步信号的时间,使绘图引擎12利用该段时间继续处理绘图指令,进而减少图形加速装置的等待时间。
图5说明应用于本发明的实施例的指令与存储器的关系图。如图5所示,本发明所使用的缓冲器包含区域A、B与C。区域A目前为前台缓冲器,并存储第Fn-1个画面的影像。区域B目前为第一后台缓冲器,并存储第Fn个画面的影像。区域C目前为第二后台缓冲器,并存储第Fn+1个画面的影像。显示于图5的连续指令为Cn-2、Cn-1、Cn、Flip、Cn+2、Cn+3、Cn+4、…。因此,如图5所示,绘图指令Cn-2、Cn-1、Cn会被描绘于区域B的第一后台缓冲器,而绘图指令Cn+2、Cn+3、Cn+4、…会被描绘于区域C的第二后台缓冲器。当属于第Fn个画面的影像的指令被执行完毕时,绘图引擎12即送出闲置信号(idle),此时Flip指令即从指令队列11被推入切换指令队列13。因此,指令队列11即可继续将属于第Fn+1个画面的影像的指令Cn+2、Cn+3、Cn+4、…发送至绘图引擎12,不需等到显示器的垂直同步信号产生。
所以,本发明利用切换指令队列事先存储切换指令,让下一张画面的绘图指令可继续发送至绘图引擎,而不必等到前台缓冲器的影像显示完毕。这样,可有效减少绘图引擎的闲置等待时间,提高了图形处理的效率。
以上虽然用本发明的优选实施例详细说明了本发明以队列存储切换指令来减少闲置时间的计算机绘图系统和方法,但本发明并不局限于此。只要不脱离本发明的精神与范围,本领域技术人员可进行各种变形或变更。本发明的保护范围由所附权利要求书来界定。

Claims (5)

1.一种以队列存储切换指令来减少闲置时间的计算机绘图系统,包括:
一指令队列,用于从一系统总线接收指令;
一绘图引擎,用于接收所述指令队列所输出的指令,并执行绘图动作;
一切换指令队列,用于接收所述指令队列的切换指令;以及
一显示驱动器,用于控制影像显示动作;
其中所述指令队列在所述绘图引擎闲置且切换指令队列还有空间时,先将切换指令传给该切换指令队列,而将后续的非切换指令传送至所述绘图引擎,以减少绘图引擎的闲置时间。
2.如权利要求1所述的以队列存储切换指令来减少闲置时间的计算机绘图系统,其中所述切换指令队列在收到所述显示控制器传来的垂直同步信号时,送出一切换指令。
3.如权利要求1所述的以队列存储切换指令来减少闲置时间的计算机绘图系统,其中所述切换指令队列传送一队列已满信号至所述指令队列。
4.一种以队列存储切换指令来减少闲置时间的计算机绘图方法,包括以下步骤:
接收指令,由一指令队列从系统总线接收并存储指令;
执行绘图,由一绘图引擎接收所述指令队列的绘图指令,并执行绘图动作;
存储切换指令,在所述绘图引擎闲置时,由一切换指令队列接收并存储所述指令队列的切换指令;以及
进行切换,当所述切换指令队列存储有切换指令并且检测到影像垂直同步信号时,执行切换动作,并送出存储在所述切换指令队列中的一切换指令;
通过事先将切换指令传给所述切换指令队列,将后续的非切换指令继续传送至所述绘图引擎,从而减少绘图引擎的闲置时间。
5.如权利要求4所述的以队列存储切换指令来减少闲置时间的计算机绘图方法,其中还包含当所述切换指令队列已满时,由所述切换指令队列传送一队列已满信号至所述指令队列的步骤。
CNB011119004A 2001-03-26 2001-03-26 队列存储切换指令减少闲置时间的计算机绘图系统与方法 Expired - Fee Related CN1173299C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB011119004A CN1173299C (zh) 2001-03-26 2001-03-26 队列存储切换指令减少闲置时间的计算机绘图系统与方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB011119004A CN1173299C (zh) 2001-03-26 2001-03-26 队列存储切换指令减少闲置时间的计算机绘图系统与方法

Publications (2)

Publication Number Publication Date
CN1377011A CN1377011A (zh) 2002-10-30
CN1173299C true CN1173299C (zh) 2004-10-27

Family

ID=4659173

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB011119004A Expired - Fee Related CN1173299C (zh) 2001-03-26 2001-03-26 队列存储切换指令减少闲置时间的计算机绘图系统与方法

Country Status (1)

Country Link
CN (1) CN1173299C (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108803967B (zh) * 2018-04-18 2020-12-01 李世伟 聊天窗口展示方法、装置及电子设备

Also Published As

Publication number Publication date
CN1377011A (zh) 2002-10-30

Similar Documents

Publication Publication Date Title
CN1261879C (zh) 不使数据显示中断的方法
US7737983B2 (en) GPU pipeline multiple level synchronization controller processor and method
US8803898B2 (en) Forming a windowing display in a frame buffer
US6100906A (en) Method and apparatus for improved double buffering
US20070101325A1 (en) System and method for utilizing a remote memory to perform an interface save/restore procedure
CN100527087C (zh) 多核计算机系统驱动程序的支持多执行绪指令执行的方法
US7937710B1 (en) Context switch signaling method and system
US8780122B2 (en) Techniques for transferring graphics data from system memory to a discrete GPU
CN1991904A (zh) 图像处理单元的并行引擎的同步方法及系统
CN1291355C (zh) 用于区域渲染的深度写禁止
CN100369024C (zh) 直接存储访问控制装置和图像处理系统以及传输方法
JP2000331150A (ja) グラフィックス・システム、グラフィックス・オペレーションを実行する方法及びコンピュータ読取り可能媒体
US7308565B2 (en) Saving/restoring task state data from/to device controller host interface upon command from host processor to handle task interruptions
CN1173299C (zh) 队列存储切换指令减少闲置时间的计算机绘图系统与方法
CN1822656A (zh) 采用嵌入式Linux系统的电视机显示高分辨率JPEG图片的方法
US20070101330A1 (en) Data processing apparatus and method
EP3977439A1 (en) Multimedia system with optimized performance
CN115794294B (zh) vhost-user-gpu虚拟机的远程桌面实现方法及系统
CA2167755C (en) Device synchronization on a graphics accelerator
JP3530360B2 (ja) データ処理装置及びデータ処理システム
WO1999040518A1 (en) Method and apparatus to synchronize graphics rendering and display
CN1258039A (zh) 多任务处理环境中的机构允许异步访问图形适配器帧缓冲器物理存储器线性孔
CN1277167C (zh) 数码摄像装置与计算机相连时实现多模式切换的方法
TW479208B (en) Apparatus and method for minimizing idle time of the computer graphics system using hardware controlled flipping
CN115639920B (zh) 绘制方法、电子设备和可读存储介质

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20041027