材质复杂度:像素的账单

材质决定"每个像素花多少算力"。高分辨率 × 复杂材质是 GPU 最常见的组合杀手。

材质复杂度从哪来

来源 说明
数学节点多 Sin / Pow / Noise 等逐像素计算
纹理采样多 4K × 5 张贴图的材质很常见
分支逻辑(Static Switch 之外) 动态 if / Switch
半透明渲染 排序 + 无 EarlyZ 裁剪
深度复杂度(像素被覆盖多次) 高的不透明度重叠

定位材质热点

  • Shader Complexity 视图模式(Buffer Visualization):视口里红色区域 = 贵像素;
  • 材质分析器:列出场景里最贵的材质与实例树;
  • Nanite 网格的材质原则不同:因为 Nanite 让三角形变得便宜,材质反而成为主要瓶颈——复杂度重心从几何转向着色。

优化的层次

层次 手段
数据 纹理降到够用尺寸 / 压缩格式 / 通道合并(ORM)
算法 复杂表达式用 LUT / 预烘焙 / 顶点色替代
结构 简化材质给小人 / LOD 材质(低画质档用轻薄材质)
管线 Shader Complexity 视图监控,CI 里出热力图

一个经典误判:材质里一张 4K 法线 vs 四张 1K——像素采样成本看的是覆盖面积 × 张数,不是分辨率本身。视口里占比大的材质(地面、天空)是优化重心,占比小的(戒指、道具)不值得花时间。