[发明专利]用于高效实时渲染预先不知道的图形的图形引擎和环境有效
申请号: | 201680033140.6 | 申请日: | 2016-05-13 |
公开(公告)号: | CN107743636B | 公开(公告)日: | 2021-07-23 |
发明(设计)人: | N·C·贝格曼;S·M·吉斯;A·M·潘格博恩 | 申请(专利权)人: | 苹果公司 |
主分类号: | G06T1/20 | 分类号: | G06T1/20;G06T1/60;G06T15/00;G06T15/50;G06T17/00;G06F3/14;G06F9/451 |
代理公司: | 中国贸促会专利商标事务所有限公司 11038 | 代理人: | 吴信刚 |
地址: | 美国加*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 高效 实时 渲染 预先 知道 图形 引擎 环境 | ||
本公开涉及图形系统的操作以及用于从应用程序输出起延伸到像素形式或其它形式的视觉内容呈现的图形系统的设计和/或操作的多种架构。一般来讲,本发明的多个实施方案设想了高层级图形框架,用于接收来自应用的图形请求。图形请求被高层级框架分析,并分选到命令语句分组中用于执行。命令语句被分选以导致下层硬件最有效的处理,并且分组利用便于硬件功能性的严密控制的低层级标准库而被分别提交给GPU。
背景技术
本文公开的发明涉及图形处理领域,并且非限制性地涉及将来自应用的图形请求提供给渲染或呈现硬件的软件操纵。
图形处理器单元(GPU)对于处理数据并行图形任务来说已经变得重要。开发者现在认识到非图形数据并行任务也可由GPU处理,从而利用其大规模并行能力。供应商和标准化组织已经创建了由于开发者编程交互的高层级而使图形数据并行任务更易于编程的应用编程接口(API)。然而还存在更靠近硬件并且一般通过应用高层级API的输出而被采用的低层级API(库/框架等)。换句话讲,高层级API一般只是准备程序代码用于对低层级API的应用。
图形处理的新情形使得能够实现速度和效率的高水平。然而,为了实现这些有益效果,一般需要自定义编程和其它机制。例如,渲染流水线的一个标准过程开始于应用进行对于当前屏幕图形导致改变的图形改变时。应用使用高层级框架/库来实现这个改变,并且从应用的角度看来,改变被提交给渲染服务或渲染服务器。高层级框架/库然后遍历屏幕图形,并发出绘图命令(可能对于低层级框架/库)以重新描绘屏幕的适当区部。因此,硬件被用于为屏幕创建新像素。然而,在将内容送交帧缓冲器之前常常可能使用若干渲染遍次。有时可使用多个渲染遍次以增量地将数据朝着其可显示形式移动。例如,效果可顺序地应用于相同图形元件–照明、阴影、反射、镜面光照等等。此外,可使用多个渲染遍次,用于创建单个帧的片断或子集以后续被组合形成这个完整帧。在任何情况下,使用多个渲染遍次都导致延迟,延迟可以是依赖于系统速度和图形复杂性和变化速率的因素。例如,在游戏应用中,图形的广度和复杂性可能是非常需要资源的。幸运的是,对于大多数游戏应用,可显示图形的范围大多是预先确定的。例如,游戏应用通常事先知道所有资产、状态向量和几何形状。换句话讲,当游戏加载或游戏等级加载时,应用通常知道游戏可能显示的可显示图形的基本范围。此外,即使考虑不知道所述基本范围的游戏,最通常也事先知道图形的大多数。对可显示图形的这个预先确定的知道就允许游戏应用预渲染图形片断,由此避免运行时–即在对于屏幕需要图形时的延迟问题。
遗憾的是,用于计算环境中普通显示的内容许多都不是预先知道或预先确定的。例如,普通用户界面动作、网页、甚至所存储的文档如PDF一般在其第一相关联图形请求之前对于图形系统是未知的。图形有时甚至对于适当的应用也是未知的(例如,Acrobat阅读器在用户打开文档之前并不知道该文档的内容)。此外,游戏应用是在有繁重图形考虑的情况下进行设计的,因此应用本身能帮助管理工作负荷并使用非标准图形工具和技术。
发明内容
本公开整体涉及计算机编程领域。更具体地,但并非限制性地,本公开涉及对于非预先知道或预先确定的图形的有效实时渲染。对于这些类型的图形资产,本发明的多个实施方案将渲染任务分成用于在图形硬件诸如GPU上执行的命令语句。为了在硬件上的有效处理,命令语句然后被分组。例如,每个分组可依赖于相同GPU状态向量,从而所有命令语句是通过GPU状态来进行组织。一旦命令语句被组织到分组中,每个分组就可被送交给硬件并被渲染到并非帧缓冲器的缓冲存储器中。最后,各种结果可被组合到帧缓冲器中用于显示。
本发明的一些实施方案设想了高层级图形框架,用于接收来自应用的图形请求。图形请求被高层级框架分析,并分选到命令语句的分组中用于执行。命令语句被分选以导致下层硬件最有效的处理,并且分组被分别提交给GPU。向GPU的提交可使用有利于硬件功能性的严密控制的低层级标准库。这样,可使用标准框架来渲染非预先确定的图形;并且渲染是以使CPU工作最小化(例如更少的GPU状态改变)、增加并行性和节省电力的方式来进行的。
附图说明
图1示出了可例如被用作最终用户机器或开发者机器的一种代表性计算机节点。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苹果公司,未经苹果公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201680033140.6/2.html,转载请声明来源钻瓜专利网。