英特尔与微软* 发布可变速率着色支持

1.2x Speedup

简介

英特尔与微软* 联手在 DirectX* 12 和英特尔即将发布的 Gen11 硬件中支持可变速率着色 (VRS)。两家公司在旧金山举办的 2019 年游戏开发者大会 (GDC) 上宣布了这一消息,并展示了 Firaxis Games* 的演示。它为精通 DirectX 12 的开发人员在游戏中充分利用 VRS 奠定了重要基础。

VRS 支持对游戏着色速率进行精细化控制,使智能着色变得相对简单。它以最小的代码修改,将像素着色资源分配到最重要、能产生最大视觉影响的地方。

例如,开发人员可能更关心较近的对象、目标区域和迎面而来的对手,因此会降低背景中的视觉质量。通过以这种方式控制细节级别 (LOD) 资源,开发人员可以缩短复杂场景的渲染时间,同时保持重要视觉组件的质量。

英特尔游戏开发人员关系工程师 Laura Wieme 表示,通过与不同领域的开发人员交流互动,团队在新功能实施准备方面有了更深刻地认识和了解。她解释说:“我们必须让 VRS 的集成、设置和控制变得非常简单,这样开发人员才能轻松采用这项技术”。她的团队与主要开发人员召开了多次会议,充分吸收了潜在用户的反馈。

她说:“多年来我们在游戏开发社区积累了丰富的经验,所以英特尔在这方面可以提供巨大的价值。我们预估了游戏开发人员使用 VRS 的方式,但也广泛征求了业界的反馈意见,以便充分了解实现广泛采用所必需满足的要求。”

Wieme 是计算机图形学和计算机视觉方面的专家。她获得了电影和动画专业的本科学位,并获得了罗彻斯特理工学院颁发的计算机科学高等学位。她强调,VRS 项目是一项团队工作,并特别提到了英特尔的两位同事:Adam Lake 和 Kelly Gawne,Adam Lake 与微软合作进行了展示,是推动 API(应用编程接口) 开发的重要力量,而 Kelly Gawne 将 VRS 技术集成至 Unreal Engine*(她在台上展示了这项技术)。

Wieme 表示 VRS 以英特尔之前的像素着色工作为基础,“我们参与了早期的开发阶段。”多位工程师表示当时是“用于在 GPU 管道中灵活控制着色速率的新颖架构”。该技术被称为粗糙像素着色 (CPS),可以降低各种应用的着色成本。

通过限制并将着色速率量化为一组有限的与屏幕对齐的网格,可以将着色和可见性分离。因此它比其他方法更简单,对 GPU 管道的改动更少。在譬如渲染高像素密度显示、注视点渲染、运动和离焦模糊自适应着色等场景中,该架构支持以可编程的方式控制着色速率。此外,CPS 支持在单通道中以多种速率进行着色,因此开发人员可以选择与频率内容最匹配的着色速率。

目前,多家厂商开始使用 VRS。随着越来越多的开发人员迁移至 DirectX 12,添加 VRS 将成为提升 GPU 效率的重要一步。

微软完成 API 之前,Wieme 的团队已经测试了新硬件功能,对驱动程序进行了早期评估,并模拟了各种硬件配置。她回忆说:“我们必须充分简化 API,以便开发人员想要采用 VRS,并以最少的代码修改来使用 VRS。我们进行了大量调查,以找到在应用中使用 VRS 的最佳方式,并为开发人员提供这些建议。”

Intel’s Kelly Gawne describes variable rate
图 1.英特尔 Kelly Gawne(左)在 2019 GDC 演示中介绍可变速率着色的优势。(图片来源:英特尔® 软件

当这项工作在 2019 年 3 月举办的 GDC 上展示时,他们的努力有了回报。与微软合作进行的演示强调了英特尔对该技术发展的承诺,并透露英特尔® 硬件即将支持该技术。

英特尔还通过使用 Unreal Engine 创建的演示展示了一种 Gen11 硬件配置。Wieme 表示:“这是首批展示开发人员如何使用 VRS 的引擎集成之一。我们吸引了一大批有兴趣使用 VRS 实现加速的人。”

Unreal Engine demo running on Gen11
图 2.英特尔的 Unreal Engine 演示,在 Gen11 硬件上运行,右上角是不断更新的指标。(图片来源:英特尔软件

这是开发人员第一次有机会了解这项新技术,因此英特尔希望他们能够近距离了解该技术。用户可以暂停游戏并仔细研究屏幕。“我很感兴趣,” Wieme 说。开发人员问了许多深刻的技术问题,Wieme 说参展人员对 Gen11 版本官方支持 VRS 技术感到兴奋。

微软在最近的博客文章中表示:“对于屏幕中的每个像素,我们都可以调用着色器计算该像素应有的颜色。我们非常高兴宣布 DirectX 12 成为首个为可变速率着色提供广泛硬件支持的图形 API。”

GDC 期间,微软与 Firaxis Games 联手在 ‘VRS on/VRS off’ 配置下运行《文明 6*》。演示在两块分屏中显示几乎相同的视觉质量;左侧启用了 VRS,运行速度更快;右侧禁用 VRS。

Civilization VI demo
图 3.Firaxis Games 与微软的《文明 6》演示:左侧启用 VRS,运行速度更快,但两者的视觉质量几乎相同。(图片由微软提供)

VRS 硬件支持仍在开发中,但随着英特尔全新 Gen11 显卡硬件的推出,VRS 将在 2019 年晚些时候获得显著发展。展望未来,Gen11 将提升几乎所有主流英特尔® 处理器的性能。

英特尔渴望与独立软件厂商合作开发相关算法和渲染技术,以进一步探索和利用 VRS。请登录英特尔® 开发人员专区,了解有关 VRS 集成和 Gen11 硬件的最新信息。未来还可查找示例代码(支持 VRS 的 Windows® 10 RS6 版本)并了解其他重要计划 — 确保自己做好准备,充分利用这些技术。

资料来源

英特尔® 处理器显卡 Gen11 架构

英特尔视频系列:2019 年游戏开发者大会

Palumbo, Alessio:微软推出 API 和开发人员的辛勤努力让可变速率着色在 GDC 2019 上大放异彩

Vaidyanathan, Karthik; ;Salvi, Marco;Toth, Robert;Foley, Tim;A., Tomas;Nilsson, Jim;Munkberg, Jacob;Hasselgren, Jon;Sugihara, Masamichi;Clarberg, Franz;Lefohn, Aaron:粗糙像素着色

Van Rhyn, Jacques:可变速率着色:大锤世界中的手术刀

有关编译器优化的更完整信息,请参阅优化通知