[发明专利]图形流水线状态的快速重新配置有效
申请号: | 201210161130.4 | 申请日: | 2007-06-07 |
公开(公告)号: | CN102982504A | 公开(公告)日: | 2013-03-20 |
发明(设计)人: | R·斯里尼瓦桑;R·马尔科维奇;S·格拉森伯格 | 申请(专利权)人: | 微软公司 |
主分类号: | G06T1/20 | 分类号: | G06T1/20 |
代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 潘明婳 |
地址: | 美国华*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 图形 流水线 状态 快速 重新 配置 | ||
本申请是国际申请号为PCT/US2007/013410、国际申请日为2007年6月7日、进入中国国家阶段的申请号为200780024522.3、发明名称为“图形流水线状态的快速重新配置”的发明专利申请的分案申请。
技术领域
本发明涉及优化图形流水线。
背景技术
在屏幕上渲染并显示三维(3-D)图形通常涉及许多运算和计算。在简单的图形系统中,这一计算根据中央处理单元(CPU)和图形处理单元(GPU)的某一等级的协作或共享处理来发生。在一个示例性场景中,在处理了指令并且在CPU中发生了某些初始计算之后,将定义要渲染的对象的一组坐标点或顶点存储在视频存储器中以供图形流水线中的GPU进一步处理。当图形程序员经由一组可用的图形API来开发图形应用程序时,该程序员一般指示要由一组算法元素来处理的一组顶点。该数据被发送到图形流水线,且每一顶点通过图形流水线中一组固定的GPU子单元来流传送。称为镶嵌器(tesselator)的这些子单元之一根据被设计成有效地覆盖所表示的对象的表面的预定算法将图形数据分成简单的多边形。之后,有时称为着色器或“着色器程序”的一个或多个可编程着色器单元可以处理该数据并对图形数据执行专门的操作。着色器可包括例如,顶点着色器、几何着色器和像素着色器。
单个着色器可以接收着色器常量的不同组合,并且取决于所提供的特定着色器常量的组合,由着色器生成的输出将变化。这些着色器常量可以指定,例如如何组合像素、如何读入和读出数据、以及在纹理的情况下如何从该纹理中提取值。着色的过程是计算密集型的,并且是复杂的过程。当这些特定着色器在图形流水线中操作时,由于发生在每一阶段的操作,存在有规律的瓶颈。
“状态”指的是由着色器程序解释的资源。在任何给定实例下,图形流水线包含大量的动态状态(渲染状态、着色器、着色器常量变量、资源/存储器绑定等)。状态的不同组合允许各种模拟材料和视觉效果。
该状态的一个分量是在执行着色器程序之前需要被绑定到GPU的一组着色器常量。由于用于实现图形流水线的硬件在任何给定实例下可以仅处于一种配置,因此期望的是减少设置状态(例如,着色器常量)和向GPU发出命令所花费的时间。
某些着色器利用了保存着色器常量的组或聚集的常量缓冲区(而非常量寄存器)。常量缓冲区可以允许更迅速地将着色器常量设置到GPU,因为着色器常量的聚集被分组在一起。
尽管有这些进步,但是仍期望高效地管理状态以避免冗余的求值和设备状态修改。例如,期望提供用于高效地安排在不同着色器处使用的常量缓冲区(或其它资源)以便更高效地将状态设置到GPU的技术。
发明内容
提供了用于重新配置包括多个资源的依赖性树的技术。该依赖性树跟踪不同着色器资源之间的关系或依赖性。每一特定资源被绑定到该依赖性树中的父对象的槽。根据这些技术,扫描该依赖性树中的每一依赖性,并且计算与该依赖性树的每一不同重新配置(着色器的重新映射或重新构建)相关联的成本。依赖性树的每一重新配置改变特定资源(CB)所绑定到的具体槽。然后可以选择减少或最小化用于在更高级状态之间转换的设备重新配置的数量的该依赖性树的特定重新配置。换言之,可以选择最小化需要重新绑定以在当前加载的着色器之间转换/切换的槽的数量的依赖性树的特定重新配置。在一个实现中,这些技术可以对于离线内容生成和存储来执行(例如,如果着色器设置是事先已知的,则分析着色器,重新映射依赖性,然后将着色器保存回盘)。在一个替换实现中,在应用程序运行时/加载时动态地执行该方法(例如,如果着色器设置事先未知)。
提供本概述以便以简化的形式介绍将在以下详细描述中进一步描述的一些概念。本概述并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于限制所要求保护的主题的范围。
附图说明
用于优化图形流水线的性能的系统和方法参考附图来进一步描述,附图中:
图1是表示具有其中可实现本发明的各种计算设备的示例性网络环境的框图;
图2是表示其中可实现本发明的示例性非限制计算环境的框图;
图3示出了包括图形子单元的示例性图形系统,该图形子单元包括图形处理单元(GPU)和用于相关联的图形流水线的示例性硬件配置。
图4是表示公共着色器核的硬件和软件组件的示例性、非限制性实施例的框图;
图5A示出了依赖性树的示例性、非限制性框图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软公司,未经微软公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210161130.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:旋转电机的制造方法和旋转电机
- 下一篇:磁浮轴承