Продуктивність¶
Вимкнена фіча нічого не коштує (static switch). Числа: UE 5.2, Material Stats, base pass, SM5, виміряно Tools/KurinMeasureAll.py.
Майстри¶
| Майстер | База PS | Усе ввімкнено PS | Семплери (макс. 16) |
|---|---|---|---|
| Asset | 319 | 1350 | 7 |
| Vertex Blend | 350 | 1465 | 9 |
| Mask Blend | 355 | 1616 | 10 |
| Landscape (3 шари + cliff + macro) | 446 | 1315 | 6 |
| Foliage | 323 (VS 249) | 393 (VS 640) | 3 |
| Decal Masked | 307 | 1174 | 7 |
| Decal Translucent | 1559 | 2421 | 8 |
| Glass (translucent) | 988 | 1829 | 6 |
| Water | 1005 | 2003 | 7 |
| Interior | 397 | 1269 | 11 |
Прозорі майстри (Glass, Decal Translucent, Water) дорогі за природою: forward-освітлення входить у їхню базову ціну.
Ціна фіч (скільки інструкцій PS додає)¶
| Фіча | + PS | + Текстурні вибірки |
|---|---|---|
| Weather (мокре) | +20 | 0 |
| Puddles / + Depth / + Waves | +16 / +12 / +33 | 0 |
| Rain Ripples / Drops | +54 / +56 | 0 |
| Streaks | +310 | 0 |
| Puddle Patches / Frozen Puddles | +19 / +36 | +1 кожна |
| Shore Wetness / Submerged | +12 / +46 | 0 |
| Condensation | +46 | 0 |
| Cover | +45 | +2 |
| Dust / Emissive / Fuzzy Shading | +29 / +10 / +31 | +4 / 0 / +1 |
| Detail Normal / AO | +30 / +18 | +2 / +1 |
| Parallax / Bump Offset | +158 / +55 | 0 |
| Anti-Tiling (на шар) | +140–215 (Landscape +52) | всередині шейдера |
| Додатковий шар (Layer G / B, Landscape Layer 4) | +40–48 | +5 |
| Layer Seam / Layer Border | +50–60 / +41 | 0 |
| Вода: Wind Gusts / Shore Waves / Surface Film | +444 / +243 (from depth +31) / +80 | +2 / +1 / +2 |
| Вода: Foam / Duckweed / Leaves / Flow / Caustics | +71 / +93 / +95 / +56 / +32 | +1 / +3 / +3 / 0 / +3 |
| Скло: Cracks / Dirt Layers | +85 / +66 | +1 / 0 |
| Interior: Cracks / Grime / Curtains / Variation | +122 / +57 / +51 / +30 | 0 |
| Cloth Wind / вітер Foliage (vertex shader) | VS +130 / +170 (+ Interaction +145) | 0 |
Поради¶
- Найдорожчі: Streaks, Parallax, Anti-Tiling, у воді Wind Gusts і Shore Waves. Лише на героїчних / близьких поверхнях.
- Streaks у Stats виглядають дорого, але на підлозі, вдалині й поза струмками більшість роботи пропускається.
- Parallax пише Pixel Depth Offset (дорого з Nanite); на середній дистанції — Use Bump Offset?.
- Wind / Cloth Wind: став World Position Offset Disable Distance на компонентах (3000–5000 см). Foliage LOD2+: Use Distant LOD?.
- Вимикай непотрібні шари (Use Layer G?, Use Layer B?).
- Decal Actors: Use Parallax? вимкнений; opacity з альфи Base Color економить вибірку Mask Map.
- Кожна комбінація галочок — окремий шейдер: роби невелике дерево батьківських інстансів.
- Дальній ландшафт: дешевший
_Farчерез Per LOD Override Materials (far-distance).
Material Quality Level¶
Low / Medium пропускають рельєф parallax, Pixel Depth Offset і самотінь; Low ще й detail normal і деталі погоди (хвилі, брижі, краплі, streaks, іній, конденсат, submerged). Мокрість, калюжі й cover лишаються. Перегляд: viewport Settings > Material Quality Level. Для гри: r.DiscardUnusedQuality=1 у DefaultEngine.ini.
Як міряти¶
- Tools/KurinMeasureAll.py: ціна кожного майстра і кожного switch за один запуск (Output Log + Saved/KurinCost/KurinCost.md / .csv).
- Platform Stats (Material Editor): кількість інструкцій, найгірший випадок. Вибірки всередині Custom-нод не рахуються.
- Shader Complexity (Alt+8): відносна вартість на екрані.
- stat gpu, ProfileGPU (Ctrl+Shift+,): реальні мілісекунди BasePass; порівнюй фічу увімкнену і вимкнену в тому самому ракурсі.