1.MSAA和FXAA简介
2.FXAA优缺点
1.MSAA和FXAA
1).MSAA 是"渲染过程中抗锯齿"为了消除锯齿,GPU会对每个像素采样多次(比如:2x MSAA采样2次,4x MSAA采样4次),每一次采样都要执行片元着色器、纹 理采样、深度测试等操作,相当于让GPU多渲染几倍的像素数据,这也是为什么MSAA是填充率杀手,采样次数越多,填充率开 销越高
2).FXAA是"渲染完成后修复锯齿"a.GPU先按正常分辨率渲染完一帧画面(无额外采样,填充率开销和关闭抗锯齿几乎一样),b.FXAA只对渲染好的最终画面做一次扫描修复,它会识别画面中出现锯齿的像素边缘(比如斜线、文字边缘),然后对这些边 缘像素做简单的颜色混合/模糊处理,让锯齿看起来消失 全程只遍历一次屏幕像素,且每个像素的计算只有"判断边缘 + 简单混合",没有纹理采样、光照计算等开销,GPU耗时仅为 MSAA的1/5~1/10
3).举个直观例子 a.移动端1080P屏幕,开4x MSAA时,GPU需要渲染 ≈829万像素(1920×1080×4)b.开FXAA时,GPU只渲染 ≈207万像素(1920×1080),仅在渲染后对边缘像素做简单处理 —— 填充率开销直接减少75%以上
2.FXAA优缺点
a.优点(为什么推荐移动端用)-填充率友好:几乎不增加GPU的像素处理量,是优化填充率时"保留抗锯齿效果"的最优选择-兼容性强:支持所有渲染对象(UI、粒子、透明物体、后处理效果),而MSAA对透明/半透物体的抗锯齿效果极差-设置简单:作为后处理一键启用,无需复杂配置 b.缺点(需要接受的小妥协)-轻微模糊:因为是"近似修复",FXAA会让画面整体有极轻微的模糊(移动端小屏几乎看不出来,PC大屏略明显)-边缘精度稍差:对极端尖锐的锯齿(比如细文字),处理效果不如4x MSAA,但远好于"关闭抗锯齿"