把游戏里的抗锯齿选项拉到最高,曾经是件值得炫耀的事。如果你能在不把游戏变成幻灯片的前提下开出4x或8x MSAA,说明你的机器相当能打。而现在,这个基础图形选项已经膨胀成一锅字母汤——FXAA、SMAA、TAA、DLAA,还有各种组合,听起来像有人打翻了一袋拼字游戏。
好消息是,它们解决的是同一个问题。游戏要把弯曲和倾斜的边缘画在一张由方形像素组成的网格上,结果就是阶梯状的锯齿。抗锯齿的任务就是把这些粗糙的边缘抹平,只是抹平的方式有好几种。
![]()
有的方法让GPU多算一些采样点,有的在画面渲染完成之后再对图像做过滤,更新的时间类技术则会调用之前帧的信息。目标都是更干净的边缘,但通常要付出代价:帧率下降、细节变软,或者偶尔出现拖影。
先搞清楚锯齿是怎么来的
屏幕上的像素是方的,而游戏里的斜线和曲线不是。当一条斜边落在方格网格上,像素只能选择"点亮"或"不点亮",边缘就出现了台阶状的缺口,这就是锯齿。
抗锯齿的思路,要么是在渲染时多采集信息,让边缘的过渡更细腻;要么是在画面成型后,靠算法识别出高对比度的边缘再把它柔化。前者更准,后者更省。
几种主流方法,代价各不相同
SSAA(超采样抗锯齿)走的是蛮力路线:先把画面渲染到更高的分辨率,再降采样回最终分辨率。效果相当好,但对GPU的压榨极其严重,帧率下降和其他性能问题随之而来。
MSAA(多重采样抗锯齿)要理性一些。它不对整张画面做超采样,而是把更多采样集中在几何体的边缘附近。用的采样越多,边缘越平滑,GPU负载也越高。
但这里有个坑。MSAA主要处理的是几何边缘,来自材质、纹理和透明表面的锯齿依然存在。Epic目前的虚幻引擎文档显示,MSAA只支持前向渲染器,不支持桌面端的延迟渲染器。这也是为什么常见的2x、4x、8x MSAA模式,在新游戏里并不总能见到。
FXAA(快速近似抗锯齿)和SMAA(子像素形态抗锯齿)则是在画面渲染完成之后才介入。FXAA检测高对比度的边缘并把它们抹平,速度快、开销相对低,但可能让画面细节变软。SMAA用更先进的边缘和图案检测,在保持锐利度的同时把性能开销控制在较低水平。
时间类技术改变了选择逻辑
TAA(时间抗锯齿)把之前的帧也拉进了计算。它既能平滑锯齿边缘,也有助于减轻镜头移动时栅栏、植被、电线和远处物体上出现的爬行和闪烁。
后面这一点很关键。两种抗锯齿方法在暂停的截图里可能看起来几乎一样,但一转动镜头,闪烁、模糊或拖影几乎立刻就会暴露。对比设置的时候,得动起来看。盯着同一面墙看30秒,算不上什么好的画质测试。
当之前帧的信息没能干净地对齐时,TAA会带来画面发软或拖影。如果瓶颈在GPU,降低或关闭抗锯齿能提升性能,这在竞技射击游戏里可能是有利的。但这不代表关掉就是最佳设置。为了多几帧,让远处的栅栏闪得像圣诞彩灯,这笔买卖未必划算。
NVIDIA并没有把DLAA(深度学习抗锯齿)定位成性能提升手段:它用的是为DLSS开发的同一套超分辨率技术,但在原生分辨率下工作。AMD有类似的FSR原生AA模式,Intel的XeSS也有在原生分辨率下工作的原生抗锯齿模式。
所以回到那个问题:抗锯齿到底在做什么?它在替你的方形像素,去补上那些本不存在的过渡信息。补得越认真,代价越高;补得越取巧,画面越容易在动起来的时候露馅。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.