首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >FXAA与MSAA在现代硬件中的应用

FXAA与MSAA在现代硬件中的应用
EN

Computer Graphics用户
提问于 2019-09-09 14:04:31
回答 2查看 2.4K关注 0票数 1

是否值得在现代移动GPU上实现后处理FXAA (主要是看苹果A系列芯片),或者我应该简单地使用MSAA。进行了基本测试,实现了基本FXAA,采集了8个相邻样本,并对结果进行了平均分析。这个FXAA的性能甚至比打开MSAA要慢一些。我正在使用金属API,如果这有帮助的话。

EN

回答 2

Computer Graphics用户

发布于 2019-09-10 03:17:18

大多数移动GPU使用平铺渲染,这可以使MSAA相对于桌面GPU便宜得惊人。如果应用程序在没有过滤/模糊传递的情况下进行简单的前向渲染,则GPU可以直接在芯片上进行MSAA栅格化和解析,而无需将MSAA样本存储到内存中。这可能会使MSAA比FXAA这样的技术更快、更不耗电,FXAA依赖过滤框架缓冲区(这需要将其存储到内存中,并在采样时将其读取)。

至于图像质量,很难进行比较(而且是主观的)。FXAA可能更好地减少锯齿,取决于MSAA级别,但代价是边缘过度模糊。FXAA还可以解决着色器混叠,例如,由于粗糙的法线地图上的镜面混叠之类的事情,这是MSAA不会帮助的。最终,你将不得不做出一个选择:美感的好处(如果有的话)是否超过了增加的成本。

票数 4
EN

Computer Graphics用户

发布于 2019-09-11 03:39:53

重要的是要明白,像FXAA这样的“反混叠”技术的发明主要是为了处理这样一个事实:在延迟渲染的情况下,像多采样这样的标准方法根本不能很好地工作。为了在延迟渲染器中执行MSAA,您需要对所有G-缓冲区进行多采样,这大大增加了g-缓冲区的大小。这会给GPU的内存带宽带来更大的压力,因为你有更多的数据要读取。此外,照明通行证必须进行每个样本渲染,所以MSAA的大部分好处相比,直超采样被抛出与照明通行证。

然而,所有这些只有在标准桌面GPU上才是真正正确的。基于块的平台(通常在移动空间中发现)可以完全避免内存成本的增加,方法是将多采样的g-缓冲区单独保存在瓦片内存中。当然,只有像Metal和Vulkan这样的现代API才能在API级别上真正表达这个概念,但是功能是存在的。

哦,当然,在TBR上的MSAA仍然需要更多的瓷砖,因此照明着色器调用。而照明通行证仍然需要进行每一个样本的计算。但是,在延迟渲染方面,整体性能成本将比桌面GPU要好得多,因为内存带宽压力将大大减少。

此外,FXAA风格的技术在TBRs的工作方式上运行粗糙。类似于FXAA的技术需要从相邻的纹理中读取,这些纹理可能在当前的瓷砖之外.这意味着在执行FXAA传递之前,您必须解析所有的呈现。这是件坏事。相反,多采样,包括多样本解析操作,可以在给定的瓷砖内就地进行.

因此,在TBR风格的GPU上,FXAA不会产生比相对较轻的MSAA更好的性能,这并不令人惊讶。特别是如果您不使用延迟呈现。

票数 2
EN
页面原文内容由Computer Graphics提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://computergraphics.stackexchange.com/questions/9135

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档