0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

微软DirectX 12 Ultimate解读 到底有哪些变化

工程师邓生 来源:超能网 作者:倪嘉声 2020-03-21 13:47 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

微软已经推出DirectX 12的最新升级版——DirectX 12 Ultimate,这可以说是DirectX 12从2015年正式上线以来最为重大的一次更新,它加入了许多新的特性,实际上其中的部分特性已经在去年十月份已经预告过了,原本它应该会作为Direct3D 12 Feature Levels 12_2出现的,不过这次微软改名部上线了,给新版本DirectX 12加了个“Ultimate”的后缀,那今后比DirectX 12 Ultimate更强的新版本会叫什么呢?

首先DirectX 12 Ultimate中新增的特性主要有四大块,分别是DirectX Raytracing 1.1、可变速率渲染、Mesh渲染器和采样器反馈(Sampler Feedback)。

DirectX Raytracing 1.1

DirectX Raytracing(DXR)是微软在2018年为DirectX 12引入的新特性,让它支持实时光线追踪处理。1.0版本的DXR在软件特性上比较基础,可以说它是围绕着Turing架构的硬件实现而设计的,当时也没有从软件开发角度去考虑如何实现光追。而1.1版本扩展了DirectX 12在光线追踪方面的软件特性,让它的效率更高,同时对开发者也更友好。主要有三点:

允许GPU直接调用光追

跑在GPU上面的着色器在1.1版本中可以直接调用光线追踪,而无需折返CPU来调用。这项功能对于自适应光线追踪场景非常有用,尤其是在基于着色器实现的剔除、排序、分类和细化等场景中。基本上今后的光线追踪工作可以在GPU上面准备并立即生成。

按需加载光线追踪着色器

当玩家在游戏世界中移动、新的物件变为可见的过程中,流式引擎可以根据此时的画面需求来加载新的光线追踪着色器,提高处理过程的效率。

内联光线追踪

内联光线追踪(Inline raytracing)是目前基于动态着色器的光线追踪的一种替代形式,你可以将其理解为一种简化的光线追踪。开发者在内联光线追踪过程中将有更大的控制权,并且可以在任意的着色阶段调用它,包括计算着色和像素着色阶段。它与传统基于动态着色器的光线追踪可以混合使用,对于简单的场景,内联光线追踪将会提供更好的性能表现,而在复杂场景中,基于动态着色器的光线追踪将会提供更好的运行效果。

可变速率着色

可变速率渲染(Variable Rate Shading)是一项由NVIDIA在其Turing GPU上率先引入的加速着色特性,具体介绍可以看我们的课堂文章:《超能课堂(212):VRS可变速率着色为什么可以提高帧数?》,这边就简单讲一下它的原理,而不再赘述细节了。

简单来说,VRS的原理是通过改变单次像素着色器操作所处理的像素数量,来改变屏幕不同区域的着色质量。简单来说,它可以改变同个画面中不同部分的渲染精细度,它的用处是提高画面帧数。

在不开启VRS的情况,也就是正常情况下,一帧画面的所有像素都是独立着色的;而开启VRS之后,原本独立的像素被分成了一个个像素块,它们会共享着色结果,此时GPU会根据程序员设定的重要性分级为所有像素块分配不同的着色精细度。拿上面的图片为例,车辆和远景部分的像素仍然是独立着色的,但快速变动的道路和路边的像素块就是区块共同着色的,此时由于显卡的计算资源得到了节约,所以游戏的帧数会有所提高。

在NVIDIA以外,Intel已经在Ice Lake处理器中的第11代核显中加入了针对VRS的支持,而AMD方面则暂时没有相关支持,不过他们也已经宣布将会在RDNA 2架构中加入相关支持。

Mesh着色器:下一代几何处理管线的基础

在过去的二十年中,传统的几何图形处理管线已经增加了好几个阶段了,不过它的核心理念仍然基于传统的光栅化预着色方法的,放在今天已经过于复杂,并且拖累处理效率。硬件和软件开发者都希望改变这一现状,于是,DirectX 12引入了Mesh着色器,它为开发者提供了前所未有的可编程能力。

原本的管线中,GPU硬件的并行能力被隐藏,或者说是被自动化了,硬件会帮助打包操作然后并行执行它,这很高效,但也存在问题——灵活性不够。

Mesh着色器就完全改变了这一过程,它不再是针对单一顶点或图元的单一函数,而是工作在整个计算线程组中。在某一阶段中,Mesh着色器的每个线程都是针对一个顶点,而在另外一个阶段,每个线程针对着一个图元。整个线程组的内存是共享的,访问灵活度很高,同时开发人员对硬件的控制权也更大,甚至还能启发新的技术,节约内存使用量和内存带宽。

与Mesh着色器一同出现的还有一个可选的放大着色器(Amplification Shader)阶段,它运行在Mesh着色器之前,计算得到需要多少个Mesh着色器,并启动他们。

采样器反馈

最后一个大特性就是采样器反馈(Sampler Feedback),先说效果:更好的视觉质量、更短的加载时间和更少的卡顿。它的核心思想实际上就是让程序只加载必要的纹理,把资源交给更有需要的地方。

采样器反馈是允许游戏引擎去跟踪纹理采样器的使用方式,让后者向引擎提供反馈,方法是生成“反馈图(Feedback Map)”,它会记录不同纹理区域的不同驻留等级,然后程序可以根据这些反馈信息来做决策——包括该如何使用纹理采样器和要在显存中保留哪些资源等。这比原先的流程更为精确,可以更好地分配计算资源。简单来说它的实际效果就是用更少的显存渲染更大、更详细的纹理。

另外,采样器反馈还允许了一项新技术——纹理空间着色。它可以在不栅格化对象的情况下进行对象着色,其中心目的就是缓存和重用着色结果,减少GPU的计算量。

总结:面向新图形架构和下世代主机

在微软推出DirectX 12 Ultimate之后,NVIDIA和AMD就迅速地宣布已经/将要支持它,实际上,DirectX 12 Ultimate的绝大部分新特性可以说是基于Turing架构来的,NVIDIA在设计Turing架构时可能预留了相当部分的新特性是没有公开的。而AMD方面在目前只能说是一个跟进者,要用上新特性,首先要等到年底的RDNA 2架构。

DirectX 12 Ultimate的这些特性很明显有两个共通的目标,一是提高开发者对硬件的控制力,二是提高总体计算效率。这也是为下世代主机——Xbox Series X和传说中的Xbox Series S所准备的,很难说我们要等多长时间才能看到这些特性被应用到实际游戏中去——至少今年是看不到的,需要等引擎开发商、游戏开发者对新世代主机做适配或者做专门性的开发后,我们才能在PC游戏中也看到这些技术的运用。

责任编辑:wv

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 微软
    +关注

    关注

    4

    文章

    6719

    浏览量

    107351
  • DirectX
    +关注

    关注

    1

    文章

    10

    浏览量

    9288
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    远翔的FP6291的G11和G12到底有什么区别?

    分档≠分级、分档 =精筛选 “要理解分档,核心在于一个参数——“输入限流值”。 远翔的FP6291具输入限流功能,可通过对芯片的OC脚对地加电阻实现输入限流可调功能。 分档不是分级,G11与G12
    发表于 12-02 15:14

    汉威科技薄膜铂电阻温度传感器到底有多强

    测量温度简单吗?简单却也不简单,为了测得准,人类已经努力了上千年!薄膜铂电阻温度传感器到底有多强?为何是高端温度传感器的代表?
    的头像 发表于 11-28 11:51 484次阅读

    TFT显示模组什么功能

    是细问它到底有哪些功能特点,不少人可能就说不上来了,那接下来咱们就一起聊聊 TFT 显示模组到底有哪些关键功能。
    的头像 发表于 08-27 10:59 463次阅读
    TFT显示模组<b class='flag-5'>有</b>什么功能

    电磁干扰“江湖三兄弟”:EMC、EMI、EMS 到底有啥区别?

    电磁干扰“江湖三兄弟”:EMC、EMI、EMS 到底有啥区别?
    的头像 发表于 08-20 15:16 1831次阅读
    电磁干扰“江湖三兄弟”:EMC、EMI、EMS <b class='flag-5'>到底有</b>啥区别?

    漫画科普 | 功率放大器到底有哪些应用?带你解锁功放经典应用场景!(一)

    漫画科普 | 功率放大器到底有哪些应用?带你解锁功放经典应用场景!(一)
    的头像 发表于 06-20 20:00 779次阅读
    漫画科普 | 功率放大器<b class='flag-5'>到底有</b>哪些应用?带你解锁功放经典应用场景!(一)

    实测 PTR54LS05低功耗到底有多低

    实测 PTR54LS05低功耗到底有多低?
    发表于 04-27 10:57

    天马供折叠屏!传音TECNO三折概念机PHANTOM ULTIMATE 2亮相MWC

    3月4日,全球瞩目的 MWC(世界移动通信大会)在西班牙巴塞罗那盛大开幕,再度成为科技领域的焦点。作为传音旗下TECNO首款三折叠产品——PHANTOM ULTIMATE 2概念机震撼亮相。凭借行业
    发表于 03-07 09:39

    电烙铁焊锡到底有没有毒

    电烙铁焊锡到底有没有毒?无铅?铅? 电烙铁焊锡有毒吗? 网友吐槽称,他在PCB工厂用电烙铁焊锡一年整了,都感觉到身体开始不舒服了,腹部有点胀,焊锡有毒吗?是不是会铅中毒。 其实这个还要看工作中
    的头像 发表于 02-12 09:27 4986次阅读

    6050 Ultimate Channel Strip介绍

    的所有模块。额外的模块包括门、扩展器、信号饱和器和专门滤波器。 6050 Ultimate Channel Strip输入和输出阶段,围绕着3个模块舱,在其中可以插入超过25个模块中的任何一个。轻松
    的头像 发表于 01-22 10:29 806次阅读
    6050 <b class='flag-5'>Ultimate</b> Channel Strip介绍

    TLC2578芯片中FS与SDI到底有什么作用?

    ,还有就是一点不太懂的就是:TLC2578芯片中FS与SDI到底有什么作用。手册看了半天还是不懂!求解!谢谢!
    发表于 01-22 06:51

    6020 Ultimate EQ说明

    6020 Ultimate EQ是采用流行的模块格式、借助 McDSP 二十年设计经验的十种均衡器模型的集合。所有6020 Ultimate EQ模块均由 McDSP 设计,汲取了过去四十
    的头像 发表于 01-21 09:49 752次阅读
    6020 <b class='flag-5'>Ultimate</b> EQ说明

    RK3506到底有多香?抢先看核心板详细参数配置

    RK3506到底有多香?触觉智能已推出RK3506核心板,抢先了解核心板详细参数配置!
    的头像 发表于 01-18 11:33 3183次阅读
    RK3506<b class='flag-5'>到底有</b>多香?抢先看核心板详细参数配置

    24位或者说高分辨率的AD到底有什么用呢?

    的AD,如24位的AD,其分辨率达到很低的uV级别,我们如何考究其精度?而且AD的精度受到诸多因素的影响,其中参考源的稳定度和供电电源的稳定度对精度影响很大,参考源最低0.05%的精度,那么24位的分辨率所可以达到的精度却是要大打折扣的,请问在这样的情况下,24位或者说高分辨率的AD到底有什么用呢?
    发表于 01-07 06:49

    差分输入和和单端输入在本质上到底有什么区别?

    和和单端输入在本质 上到底有什么区别? 因为,ADC采集的信号说到底是AINP - AINN,不管单端还是差分,采集的信号都是这两个pad的差值。 2:将单端信号接在ADC的差分输入接口上可以用
    发表于 12-23 07:31

    TFP401APZP到底有没有HSYNC输出?

    请教下TI的大牛,TFP401APZP这颗IC到底有没有HSYNC输出?实测发现HSYNC无输出,是要做什么设置么?!
    发表于 12-20 07:28