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

技术编号:2950584 阅读:212 留言:0更新日期:2012-04-11 18:40
一种以队列存储翻页指令来减少闲置时间的计算机绘图系统及方法,包括:指令队列,从系统总线接收指令;绘图引擎,接收所述指令队列所输出的指令,并执行绘图动作;一翻页指令队列,接收所述指令队列的翻页指令;以及显示控制器,控制影像显示动作;指令队列在所述绘图引擎闲置且翻页指令队列还有空间时,先将翻页指令传给该翻页指令队列,而将后续的非翻页指令传送至绘图引擎,以减少绘图引擎的闲置时间。翻页指令队列在绘图引擎闲置且收到显示控制器传来的垂直触发信号时,送出一翻页指令。(*该技术在2021年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及一种计算机绘图系统与方法,特别是涉及以队列存储翻页指令来减少闲置时间的计算机绘图系统与方法。附图说明图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目前为第一后本文档来自技高网...

【技术保护点】
一种以队列存储翻页指令来减少闲置时间的计算机绘图系统,包括:一指令队列,用于从一系统总线接收指令;一绘图引擎,用于接收所述指令队列所输出的指令,并执行绘图动作;一翻页指令队列,用于接收所述指令队列的翻页指令;以及一显示控制器,用于控制影像显示动作;其中所述指令队列在所述绘图引擎闲置且翻页指令队列还有空间时,先将翻页指令传给该翻页指令队列,而将后续的非翻页指令传送至所述绘图引擎,以减少绘图引擎的闲置时间。

【技术特征摘要】

【专利技术属性】
技术研发人员:叶国炜蔡忠宏涂俊安
申请(专利权)人:矽统科技股份有限公司
类型:发明
国别省市:71[中国|台湾]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利