High Performance Post-Processing

link:

http://www.gdcvault.com/play/1014304/Advanced-Visual-Effects-with-DirectX

 

主要介绍computer shader硬件结构特性,以及在DOF系列feature上的引用。

这是一个比较hardcore的ppt,nice。

dx11和compute shader牛逼太多了,希望业界能够快速进入这个时代。


 

ThreadGroup

显卡里的多核架构和cpu端多核架构很多地方是重复的,重复部分跳过,看下特别的:thread group。

thread group是一组thread,他们有一个shared memory,这个是其强力的核心,其中的thread可以彼此共享资源,比如说做一个blur,传统pixel shader就是每一个fragment读取13个点来做blur,这样12个fragment就是12*13的读取量。

如果变成thread group的方式就是大家彼此之间有共享,大量的重复读取可以省略了。

 

 


 

Divergence

 

理论上thread是独立运行的,实际上在硬件里是一组组的(这个一组和thread group不是一个东西),叫做wavefront,在nv里目前是32个一组,amd里面是64.

于是有一个现象就是针对branch,如果一个wavefront里的thread在branch中走同一个分支,那么另一个分支会被跳过,否则就会都被都执行。

下图可以看见,性能差距还是比较大的。

 

 

实际应用中,是一个具体情况具体分析,在走同一个branch的情况下是很赚的,否则就亏,那么对于pixel shader可以看出两种情况下的选择优劣:

 

 


 

compute shader

dx11以及direct compute在显卡日益强劲的今天,即便只是针对于graphics,相对于dx9可以说革命性的。

计算模型从原先的vs,ps,texture unit, rasterizer进一步的解放出来,tessellation只是小试牛刀,更大的自由度给hardcore programmer更大的发挥空间。

在这片算法蓝海里,在相当长时间里,可以创造出更多的利用这些硬件的pipeline和solution。

硬件能力的提升是一步步走的,而且相对于所有人是一样的。

算法的提升则可以获得更快的速度,正是这些让同一个时代的工作室创造出不同时代的游戏。

就像ps3上的spu带来的东西一样,强力并且长期积累的工作室在一段时间之后会取得压倒性优势。

 

compute shader可以让程序员更好的控制计算资源的分配。

 

 


 

其他

shader model 5.0里面的unordered access view很不错,pixel shader可以输出到任意地方,而不是像sm4里面只能是固定的一个地方。这个对象近景depth of field都是非常有好处的。

 

说到这里之后其他的就顺理成章,比如加法就要用多线程思维来做prefix sum的算法,同理DOF也方便多了。

在做Bokeh效果,就是第一个图里面背景亮的点是一个“亮片”的效果,使用unorded access view,一个brightpass输出亮的点到一个buffer,再用这个buffer当新的顶点用,生成一个个亮片,效果现在很流行。

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
并行和高性能计算是指利用多个处理单元或计算机并行工作来增加计算速度和处理能力的一种计算方法和技术。 并行计算是指将复杂的问题划分为多个子任务,然后并行处理这些子任务,最后将结果合并得到最终结果的计算方式。它通过同时利用多个处理单元进行计算,能够显著提高计算速度和处理能力。并行计算广泛应用于涉及大数据处理、科学模拟、图像处理等需要高计算能力的领域。 高性能计算是指通过使用高性能计算机、并行计算技术和优化算法等手段,来解决需要大量计算和存储资源的复杂问题。高性能计算在科学、工程、金融等领域有着广泛的应用,如气象预测、基因组测序、流体力学模拟等。高性能计算的关键在于充分利用计算机的计算和存储资源,通过优化算法和并行计算技术来提高计算速度和处理能力。 并行和高性能计算的发展主要受到计算机硬件和软件技术的推动。随着处理器核心数量的增加和计算机集群的发展,可以同时运行多个任务和并行计算的能力得到了显著提升。同时,优化算法和并行编程模型的不断发展,也为并行和高性能计算提供了更好的支持。 综上所述,并行和高性能计算是一种利用多个处理单元或计算机并行工作来增加计算速度和处理能力的计算方法和技术,广泛应用于各个需要大量计算和处理资源的领域,对于解决复杂问题和推动科学技术进步具有重要作用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值