当前位置: 首页 > 专利查询>英特尔公司专利>正文

用于渲染场景的装置和相关的自动存储器管理方法制造方法及图纸

技术编号:2948667 阅读:219 留言:0更新日期:2012-04-11 18:40
本发明专利技术通过在入库和渲染阶段之间提供对库存储器的自动管理而优化了区域渲染过程中的性能。本发明专利技术的实施例提供了一种机制,利用这种机制,入库器和渲染器自动地共享一个物理存储器页面池,从而建立库缓冲区,并在这些库缓冲区已用于渲染之后再次利用它们。这是按下列方式来进行的,使得多个入库的场景可同时排队等候,除例外情况之外无需软件的干预。因此消除了对区域渲染库缓冲存储器进行软件管理的需要。也可对要入库和渲染的多个场景进行排队,而无需软件的干预。(*该技术在2022年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术一般地涉及图形系统,更具体而言涉及图形渲染(rendering)系统。
技术介绍
计算机图形系统被广泛用于在二维视频显示屏幕上显示对象的图形表示。当前的计算机图形系统提供非常细致的表示并用于多种应用中。在典型的计算机图形系统中,显示屏幕上所要表示的对象被分解成多个图形图元(primitive)。图元是图形显示的基本组成部分,并可包括点、线、向量和多边形(例如三角形和四边形)。通常,利用硬件/软件方案来渲染或画出下述图形图元,所述图形图元代表显示屏幕上正被表示的一个或多个对象的视图。要被渲染的三维对象的图元由主机计算机以图元数据的方式来定义。例如,当图元是三角形时,主机计算机可以按照其顶点的X、Y和Z坐标以及每个顶点的红、绿和蓝(R、G和B)颜色值来定义图元。在具体应用中可以使用其它图元数据。图像渲染是将基于对象的高级描述转换为用于在某个显示设备上显示的图形化图像。例如,在将三维对象或场景的数学模型转换为位图(bitmap)图像期间,就会发生图像渲染动作。图像渲染的另一个例子是将一个HTML文档转换为一个用于在计算机监视器上显示的图像。通常,称为图形渲染引擎的硬件设备执行这些图形处理任务。图形渲染引擎通常将场景渲染到随后将被输出到图形输出设备的缓冲区中,但某些渲染引擎可能将其二维输出直接写到输出设备中。图形渲染引擎插入图元数据来计算表示每个图元的显示屏幕像素,并计算每个像素的R、G和B颜色值。这里所用的图形渲染系统(或子系统)指的是在应用程序和图形输出设备之间的所有级别的处理。图形引擎可以提供一种或多种模式的渲染,包括区域渲染(zone rendering)。区域渲染通过实现最优的渲染缓存利用率,由此缓解像素颜色和深度存储器读/写的瓶颈,以此来试图提高整体的3D渲染性能。在区域渲染中,屏幕被划分成区域阵列,并对各个区域生成对应的指令库(instruction bin),所述指令库用来保存渲染每个子图像所需的所有图元和状态设置指令。只要一个图元与一个区域相交(或者可能相交),则将该图元指令置于该区域的库中。一些图元将与一个以上的区域相交,这种情况下该图元指令被复制到对应的多个库中。继续这个过程,直到整个场景被分类到各个库中。在为与一个图元相交的每个区域都建立库的第一次扫描之后,进行第二次逐个区域的渲染扫描。具体而言,形成所有区域的库以生成最终的图像。传统的区域渲染系统缺乏效率,这是因为它们需要对各种功能的全面软件干预和/或管理,所述功能包括但不限于库存储器功能、以及为了入库(binning)和渲染而对多个场景的排队。因此需要的是这样一种方法、装置和系统,其可以在入库和渲染阶段之间对库存储器进行自动管理。附图说明图1示出了一个计算机系统的实施例框图,该计算机系统包括用于对区域渲染进行自动存储器管理的图形设备的实施例。图2示出了一种图形设备的实施例的框图,该图形设备包括图形入库引擎、图形渲染引擎、库、库存储器池、库指针列表和场景计数器。图3示出了包括多个区域和几何图元的区域渲染器屏幕视图的实施例。图4示出了库存储器池存储区和图形设备的实施例的具体框图,所述图形设备包括图形入库引擎、图形渲染引擎、库存储器池环形缓冲区寄存器、控制寄存器和待处理场景计数器。图5示出了库指针列表和相关库的一个实施例的具体框图。图6示出了库存储器池环形缓冲存储区和相关联的库存储器池环形缓冲区寄存器的一个实施例的流程图。图7示出了用于自动存储器管理的过程的一个实施例的流程图。具体实施例方式本专利技术通过在入库和渲染阶段之间提供对库存储器的自动管理,而在基于图块(tile based)的渲染(例如区域渲染)期间对图形性能进行优化。利用本专利技术的实施例所提供的机制,入库器和渲染器自动地共享一个物理存储器页面池,从而建立库缓冲区,并在这些库缓冲区已用于渲染之后再次利用它们。这是按下列方式来进行的,即多个入库的场景可同时排队等候,除例外情况之外无需软件的干预。因此基本上最小化了对区域渲染库缓冲存储器进行软件管理的需要。这些特性增强了系统的性能。在详细的描述中给出了大量的具体细节以提供对本专利技术的充分理解。但是,本领域的技术人员将理解到,没有这些具体细节也可以实现本专利技术。此外,没有详细地描述公知的方法、过程、组件和电路,以免模糊了本专利技术。接下来的详细描述中的某些部分按照对计算机中数据位或二进制信号的操作的算法和符号表示来展现。这些算法描述和表示是数据处理领域的技术人员用来向本领域其他技术人员传达其工作内容的手段。算法在这里(以及一般地)被认为是产生所期望结果的自相一致的步骤序列。这些步骤包括对物理量的物理操纵。虽然不是必需的,但通常这些量采用能被存储、传送、组合、比较或者操纵的电信号或磁信号的形式。为通用起见,将这些信号称为位、值、元素、符号、字符、项、数等常常被证明是方便的。但是应该理解,所有这些以及类似的术语将与合适的物理量相关联,并仅仅是应用到这些量上的方便的标记。除非在后面的讨论中专门给出了相反的陈述,应该认识到在整个说明书中,采用诸如“处理”或“计算(computing或calculating)”或“确定”等术语的讨论,指的是计算机或计算系统或类似的电子计算设备的下列动作和过程,即将表示为该计算系统的寄存器和/或存储器中的物理(电子)量的数据操纵并转换成类似地表示为该计算系统的存储器、寄存器或其它这样的信息存储、传输或显示设备中的物理量的其它数据。本专利技术的实施例可以在硬件或软件、或者两者的组合中实现。但是,本专利技术的实施例可被实现为在可编程系统上执行的计算机程序,该系统包括至少一个处理器、数据存储系统(包括易失性和非易失性存储器和/或存储元件)、至少一个输入设备、以及至少一个输出设备。可对输入数据应用程序代码以执行这里所描述的功能并产生输出信息。输出信息可以以已知的方式被应用到一个或多个输出设备。为了这一应用目的,处理系统包括任何具有处理器的系统,所述处理器例如是数字信号处理器(DSP)、微控制器、专用集成电路(ASIC)或者微处理器。程序可以用高级过程性或面向对象的编程语言来实现,以和处理系统通信。如果需要,程序还可以用汇编语言或机器语言来实现。实际上,本专利技术在范围上并不限于任何具体的编程语言。在任何情况下,该语言都可以是经过编译的语言或解释性的语言。程序可以被存储在通用或专用可编程处理系统可读的存储介质或设备(例如硬盘驱动器、软盘驱动器、只读存储器(ROM)、CD-ROM设备、闪存设备、数字多功能盘(DVD)或其它存储设备)上,用于当该存储介质或设备被处理系统读取时,配置并操作该处理系统来执行这里所描述的过程。还可认为本专利技术的实施例可被实现为机器可读的存储介质,其被配置来和处理系统一起使用,其中如此配置的存储介质使得处理系统以特定和预定义的方式操作,来执行这里所描述的功能。在图1中示出这样一种处理系统的例子。示例系统100可以被用来例如执行根据本专利技术的方法的处理,例如这里所描述的实施例。示例系统100可表示基于可从英特尔公司得到的微处理器的处理系统,尽管也可以使用其它系统(包括具有其它微处理器的个人计算机(PC)、工程工作站、机顶盒等等)。在一个实施例中,示例系统100可以运行可从微软公司得到的WINDOWSTM操本文档来自技高网...

【技术保护点】
一种用于渲染包括几何图元的场景的装置,包括:入库引擎;渲染引擎;和自动存储器管理器,用于在入库引擎和渲染引擎之间管理存储器页面,其包括:用于存储存储器页面的存储区;和包括第一寄存器和第二寄存器的多个存储区寄存器,其中,所述第一寄存器包含指向所述存储区中若干存储位置的信息,所述入库引擎可从所述存储位置获取存储器页面以建立缓冲区,这些缓冲区是用一条包括回收命令的缓冲区指令来发起的,并且其中,所述第二寄存器包含指向所述存储区中若干存储位置的信息,所述渲染引擎可响应于与所形成的缓冲区相关联的回收命令而自动地将存储器页面返还到所述存储位置。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:阿迪蒂亚斯里尼瓦斯彼得多伊尔
申请(专利权)人:英特尔公司
类型:发明
国别省市:US[]

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

1