Download presentation
Presentation is loading. Please wait.
1
ACM Honored Class Shanghai Jiao Tong University Dolphin·Auditore
黄仁勋的完美AA教室 ACM Honored Class Shanghai Jiao Tong University Dolphin·Auditore
2
Index 什么是“狗牙” 反锯齿的目的与手段 反锯齿技术 结语 SSAA/DSR MSAA/CSAA FXAA TXAA MFAA
A卡算法如EQAA, EDAA, TRAA, AAA, MLAA…… 结语
3
什么是狗牙 Aliasing/Jaggies 混叠现象/“狗牙” Anti-Aliasing 反锯齿/抗锯齿
4
锯齿的存在形式 静态: 动态: 图形边缘的锯齿 细长物件的部分消失——如远处的电缆 波纹的滚动——如细电线杆、草地 闪烁——如树叶
细长物件部分忽隐忽现——如坐在车上看远处的电缆
5
锯齿广泛存在 数字摄影 视频处理 视频游戏 日常应用
6
此处剩略两张图片
7
反锯齿的意义 图像质量保真 消除恶心的动态锯齿 增强图像质量
8
反锯齿的手段 保持人眼到屏幕距离的前提下,增加ppi (以视网膜屏+屏距为上限,再往上则没有意义) 然而没有设备有个*用,然而有也根本跑不动
离屏幕越远越好(仍然以视网膜屏距为上限) 然而收到的信息量是二次方反比级下降的 使用反锯齿算法 注:在本PPT中您将不会见到任何AMD/ATI独占 或明确由AMD/ATI发明的的反锯齿算法保证 100%Nvidia
9
此处剩略四张图片
10
不加反锯齿的后果很严重 此处省略两张图片
11
然而加了反锯齿的后果也很严重 性能 质量 质效比 性能>质量
12
实时演算需求太高 此处省略两张图片 帧数 4K/60Hz或4K三屏 VR FPS:60Hz ACT/TPS:40~50Hz
RTS:20~30Hz Film/Anime:24Hz Gsync:144Hz 4K/60Hz或4K三屏 3840*2160*60Hz = /s 3840*2160*60Hz*8(256)*3 = = 12Gbps 参考: VGA (模拟)≈ 2.2Gbps HDMI1.2 = 4.95Gbps VR Oculus/Project Morpheus/HoloLens 75Hz->90Hz->120Hz
13
然而这些和反锯齿有个**关系? 此处省略一张图片
图像算法基于采样
14
反锯齿的最坏代价:SSAA/DSR 此处省略一张图片
SSAA-Super Sampling Anti-Aliasing 超级采样反锯齿 DSR -Dynamic Super Resolution 动态超级分辨率 四倍性能消耗即 意味着1/4的帧率
15
此处剩略两张图片
16
改进的采样算法:MSAA/CSAA MSAA-Multi-Sampling Anti-Aliasing 多重采样抗锯齿
对Z缓存(Z-Buffer)和模板缓存(Stencil Buffer) 中的数据进行超采处理 CSAA-Coverage Sampling Antialiasing 覆盖采样抗锯齿 覆盖边缘多边形里需要采样的子像素坐标,强制 安置在硬件和驱动程序预告算好的坐标中 近年来应用直接使用的较少
17
MSAA的缺陷 仅对Z缓存(Z-Buffer)和模板缓存(Stencil Buffer)中的数据进行超采处理
对纹理无效/对透明纹理后物体也无效 边缘极其多时性能就向超采靠齐
18
此处剩略两张图片
19
不基于采样的黑科技算法-FXAA FXAA-Fast Approximate Anti-Aliasing (为何不叫FAAA)快速近似抗锯齿
一种基于着色器的后处理(不依赖GPU) -实际运用中与原运算无关,给张图片都能用 应用中没有写也没关系,可以驱动中启用
20
FXAA惊人的质效比 平均消耗大约为4%(大约每帧1ms,若一秒40 帧则每帧总共可以有25ms渲染时间)
单论反锯齿,其效果约相当于4XMSAA (注:4xMSAA的平均消耗大约50%) 质效比怒翻十倍! 那么问题来了:我们为何不反复应用FXAA(如 三重FXAA)达到64倍反锯齿效果?!
21
FXAA-快速“近似”反锯齿 工作原理: 收到图像,在图像中寻找边缘(通过对比度), 确认垂直锯齿像素与竖直锯齿像素,将它们转移 90度将它们变成亚像素,混合之后,搞定输出。 怎么听起来这么像涂抹工具?!
22
此处剩略两张图片
23
然而由于反锯齿算法中性能>质量 FXAA在现今被广泛的运用 字幕只要注意别被AA了也能用 纹理等是损失了但是总比掉帧好啊
(参考面“实时演算需求太高”一张) 但当性能有剩余时,应尽量避免单独使用 建议MSAA混合使用,因MSAA对纹理无效
24
更加合理和高效的算法 此处省略一张图片 比如从非即时演算上找一些算法来
25
来自于CG和电影的反锯齿-TXAA TXAA-Temporal Anti-Aliasing 时间性抗锯齿
特点: 利用了……时间性过滤器、硬件抗锯齿以及定制的 CG 电影式抗 锯齿解算法 属于极高质量,但有中低性能的算法(FXAA则有极高性能) 理论上从截图中无法看出真正效果
26
TXAA的优缺点 优点: 缺点: TXAA 2X大约相当于8XMSAA的效果 同时性能消耗相当于4XMSAA 动态降低波纹和闪烁效果明显
基本保证纹理等其他非锯齿的质量 N卡独占!还必须要Kepler及以上的核心! 缺点: 因为使用了时间性过滤器、硬件抗锯齿以及定制的 CG 电影式抗 锯齿解算法导致软件中应用需要额外成本 因为使用了时间性过滤器、硬件抗锯齿以及定制的 CG 电影式抗 锯齿解算法导致无法驱动级别启动 因为使用了时间性过滤器、硬件抗锯齿以及定制的 CG 电影式抗 锯齿解算法导致截图效果不好宣传都要靠视频
27
MSAA和TXAA的结合-MFAA MFAA-Multi-Frame Sampled Anti-Aliasing
多帧采样抗锯齿(为什么不叫MFSAA) 它基于MSAA的采样,加上了时间性滤镜 参考:TXAA使用了时间性过滤器、硬件抗锯齿以及定制的 CG 电影式抗锯齿解算法中的时间性滤镜 由于新核心Maxwell的AA采样位置并不固定(而 是光栅化的可编程采样位置)而得以实现
28
MFAA从两帧中用滤镜算出一帧的数据 此处省略一张图片
29
MFAA的特性: 优点: 缺点: 性能:MFAA=NoAA(1x),2xMFAA=2xMSAA(95%)…
质量:MFAA=2xMSAA,2xMFAA=4xMSAA… 基于MSAA,故基本安全无副作用 可驱动级启动(不需要为每个应用写时间性过滤器、硬件抗锯齿 以及定制的 CG 电影式抗锯齿解算法) N卡独占!这次还必须要Maxwell及没有以上的核心! 缺点: 作为新技术,目前应用中可直接开启的普及率不高 目前不支持sli
30
不断研究抗锯齿算法的意义 既然大家都是采样同级别时间复杂度,为何如此 深究 (除了FXAA这个O(1)反锯齿之外)
31
此处剩略两张图片
32
不断研究抗锯齿算法的意义 此处省略一张图片
采样抗锯齿与原本图形计算的复杂度同级别 原运算量:DXGI,HBAO+,PCSS, HairWorks,Surround / 3DVision / VR… 4XSSAA/4XDSR: 原运算量*3(帧数变为1/4) 4XMSAA: 约为原运算量的1/2(帧数变为65%) (视边缘多边形数量而定,较少时帧数可80%) 4XSSAA+4XDSR: 6480*3840*60Hz*4*4=…
33
Unreality makes a better reality.
虚拟,让现实更美好。
34
Reference 各个算法的百度百科 各个算法的维基百科 Nvidia技术介绍http://www.geforce.cn/hardware
以及各式实机评测
35
谢谢 Q&A
Similar presentations