当前位置: 首页 > 专利查询>DR什雷纳专利>正文

在帧缓冲器中形成开窗显示制造技术

技术编号:6694705 阅读:228 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及在帧缓冲器中形成开窗显示。一种使用延迟绘图命令的开窗显示通过处理向帧缓冲器(30)的图块(22)进行写入的绘图命令以形成被存储在图块存储器(40)内的一个或多个新像素值而进行操作。还形成脏像素数据,其指示图块存储器内的哪些像素是存储新像素值的脏像素和图块存储器中的哪些像素是不存储新像素值的干净像素。根据脏像素数据,存储在图块存储器内的新像素值被写入帧缓冲存储器。存储在帧缓冲器存储器内的与图块存储器内的干净像素相对应的像素保持不变,因为其未被写入。

【技术实现步骤摘要】

本专利技术涉及数据处理系统领域。更特别地,本专利技术涉及数据处理系统内的帧缓冲 存储器中的开窗显示的形成。
技术介绍
公知的是某些数据处理系统使用开窗显示。开窗显示被诸如运行由微软公司制 造的Windows XP操作系统和诸如Linux的操作系统的X Windows系统组件的那些系统利 用。在此类系统内,由应用程序或负责保持显示的背景、从而在帧缓冲存储器内形成像素值 的程序来生成绘图命令,所述像素值在被驱动时将在产生的期望开窗显示中显示结果。此 类开窗显示通常包括在背景上的多个可能重叠的窗口。可以改变窗口的显示顺序,并且可 以在用户输入的控制下在尺寸和位置方面修改窗口。当进行此类修改时,窗口管理程序通 常向应用程序或背景绘图程序发出开窗控制命令,使得这些随后又向图形系统发出绘图命 令,以便向帧缓冲存储器中进行要求的新像素值的写入以进行开窗显示。附图的图1和2举例说明此类系统。图1举例说明具有在其上面形成第一窗口 4 和第二窗口 6的背景图像2的开窗显示。第二窗口 6在显示顺序方面高于第一窗口 4,因此 当第二窗口 6覆盖第一窗口 4的一部分时,则第一窗口 4的该部分被隐藏。诸如用计算机 鼠标进行的用户输入可以将第二窗口 6移动至如所示的开窗显示内的不同位置,并且这导 致先前被第二窗口 6覆盖的那部分第一窗口 4变得暴露,而先前被显示的第一窗口 4的其 它不同部分现在被第二窗口 6隐藏。图2示意性地举例说明对用户输入进行响应已生成开窗控制命令的窗口管理器 8,所述开窗控制命令分别被传递至负责第二窗口 6的第一应用程序12、负责第一窗口 4的 第二应用程序14和负责绘制背景图像2的背景绘图程序16。所述开窗控制命令可以例如 指定窗口管理器8命令第一应用程序12、第二应用程序14或背景绘图程序16使用其相关 图形内容进行绘图的屏幕的区域。然后,第一应用程序12、第二应用程序14和背景绘图程 序16生成被传递至图形系统的绘图命令。这些绘图命令导致由图形系统在帧存储器内的 相关部分处生成必要的像素值。因此,如果第二窗口 6被移动,使得第一窗口 4现在是完全 可见的,则第一窗口 4的右上方角将要求由第二应用程序14进行绘制。由窗口管理器8生 成的开窗控制命令发布开窗控制命令,该开窗控制命令指示第二应用程序14现在生成用 于第一窗口 4的右上方角的像素数据。第二应用程序14对此开窗控制命令进行响应以向 图形系统发布绘图命令以生成用于其窗口 4的现在暴露的右上方角的像素值。相对于图1和2举例说明和讨论的系统和机制是基于这样的假设,即当向图形系 统发布绘图命令时,其基本上被立即遵照执行并写入存储用于被显示的当前图像的像素值 的帧缓冲存储器。图形系统被假设为可以在没有延迟的情况下访问帧缓冲存储器,并且在 绘图命令被图形系统接收到时响应于该绘图命令来读和写像素值。显示通常采用的此类布 置利用单缓冲帧缓冲存储器和立即模式的图形渲染(rendering)。正在变得普遍的另一种形式的图形系统利用基于图块(tile)的图形渲染。此类系统非常适合于低成本且低功率的实施方式,因为其一般以存储器被访问的方式更加高效。 特别地,基于图块的系统通常使用延迟渲染并在双缓冲模式下操作。在此类系统中,接收绘 图命令并对其进行分析以识别总帧内的哪些图块包含将被那些绘图命令改变的像素值。为 此,帧被划分成多个图块。因此,绘图命令被“分仓(binned)”到绘图命令的图块列表中,每 个图块列表包含用于将形成的图像数据的新的帧的所有绘图命令,其改变相关图块内的像 素值。当已经生成用于新的帧的所有绘图命令并将其分仓到多个图块列表中时,然后单独 地处理图块列表以生成用于被存储在图块存储器内的那些图块的像素值。当图块的处理完 成时,图块存储器的内容被写出到帧缓冲存储器。当已经处理了所有图块且相关图块的内容被存储器写出到帧缓冲器时,然后新的 帧数据完成,并且可以通过在双缓冲布置中交换活动帧缓冲器来显示。此类基于双缓冲图 块的渲染系统不适合于支持开窗显示。更特别地,在开窗显示中,当用户输入要求修改在基于图块的系统内显示的像素 值时,通常将要求首先从像素值的当前帧读取每个图块的内容,修改像素值的每个图块,并 随后将像素值的每个图块写回到帧缓冲器。每个图块的所有像素值的此读和写要求不利地 高数目的存储器访问,这降低速度并增加能量消耗。
技术实现思路
从一方面看,本专利技术提供一种形成开窗显示的方法,所述方法包括步骤 处理向帧缓冲存储器的图块写入的一个或多个绘图命令以形成将被写入所述图块的一个或多个新像素值;将所述一个或多个新像素值存储在图块存储器内;形成脏(dirty)像素数据,其指示所述图块存储器内的哪些像素是存储所述一个或多 个新像素值的脏像素和所述图块存储器中的哪些像素是不存储所述一个或多个新像素值 的干净像素;以及根据所述脏像素数据,将存储在所述图块存储器的所述脏像素内的所述一个或多个新 像素值写入所述帧缓冲存储器的相应位置,存储在所述帧缓冲存储器内的与所述图块存储 器内的干净像素相对应的像素值被保持不变。本技术认识到在帧缓冲存储器中的开窗显示中,如果当处理向帧缓冲存储器内的 图块进行写入的绘图命令时,系统还生成指示图块内的哪些像素已被改变并存储新像素值 的脏像素数据,则可以使用此脏像素数据来控制新像素值对帧缓冲存储器的写入,而不必 首先从帧缓冲存储器读出像素值的现有图块。脏像素数据指示用与被保持不变的图块内的 干净像素相对应的帧缓冲存储器内的现有像素数据向帧缓冲存储器内的要求像素位置进 行写入,因为未对这些干净像素位置进行写入。这样,更快且更高效地实现开窗显示的支 持。系统仍使用图块存储器,新的像素值在被写入帧缓冲存储器之前被写入该图块存储器 中,并且脏像素数据的动作用于指示从图块存储器进行的写入,使得只有新像素值被写入 帧缓冲存储器,因此,以适当的方式保持真缓冲存储器内的不变像素值。 应认识到此类系统内的图块可以具有多种不同的尺寸。在一种极端情况下,图块 可以与帧缓冲器一样大小,并且图块存储器能够存储用于帧缓冲存储器的一整套数据。在 另一极端情况下,图块的尺寸可以是单个像素。然而,通常,图块是一起对应于帧缓冲存储器中的开窗显示的多个图块中的一个。图块尺寸的典型值可以是16X16个像素,虽然将认 识到可以选择不同的图块尺寸,并且本技术适用于所有这些图块尺寸。 可以对多个图块中的每一个单独地执行处理、存储、形成和写入的步骤以形成帧 缓冲存储器中的开窗显示的全帧。该处理的基于图块的性质通过使用并行硬件来执行处 理、存储、形成和写入的步骤而非常适合于加速。可以存储所生成的绘图命令而不立即在保持一个或多个延迟绘图命令的命令仓 库内遵照执行。然后,可以关于所述多个图块中的每一个读取此命令仓库内的延迟绘图命 令,从而提取向当前正在被处理的图块进行写入的一个或多个延迟绘图命令。所述一个或多个绘图命令的存储可以包括通过识别哪些绘图命令向所述多个图 块中的哪些进行写入并为所述多个图块中的每一个形成单独的分仓仓库进行的绘图命令 的分仓,向所述图块进行写入的延迟命令被存储到所述单独的分仓仓库中。通过在绘图命 令正在被延迟时以这种方式有效地将其分类,形成用于每个图块的分仓仓库,然本文档来自技高网
...

【技术保护点】
1.一种形成开窗显示的方法,所述方法包括步骤:处理向帧缓冲存储器的图块写入的一个或多个绘图命令以形成将被写入所述图块的一个或多个新像素值;将所述一个或多个新像素值存储在图块存储器内;形成脏像素数据,其指示所述图块存储器内的哪些像素是存储所述一个或多个新像素值的脏像素和所述图块存储器中的哪些像素是不存储所述一个或多个新像素值的干净像素;以及根据所述脏像素数据,将存储在所述图块存储器的所述脏像素内的所述一个或多个新像素值写入所述帧缓冲存储器的相应位置,存储在所述帧缓冲存储器内的与所述图块存储器内的干净像素相对应的像素值被保持不变。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:DR什雷纳IV德弗罗E索尔加德TJ奥尔森
申请(专利权)人:DR什雷纳IV德弗罗E索尔加德TJ奥尔森
类型:发明
国别省市:GB

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

1