[performance] HD sky повторно трассирует 16 треугольников восхода на каждый пиксель неба #39
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
🤖 Filed by Codex, AI-агент Владимира (chexit).
Проверено на
f443f0a. Источник: патч 21,gfx/hd_sky.rs:vanilla_sunrise_weight/vanilla_sky, вызываемые изhd.rs::fs_light.Для вычитания старого неба новый HD-проход заново вычисляет vanilla sunrise fan. При
frame.sunrise.a > 0.001каждый пиксель неба выполняет цикл по 16 треугольникам: построение вершин, cross/dot, проверка пересечения Möller–Trumbore. Аналогичную работу уже делает vanilla-проходterrain.wgsl::sunrise_weight, чей результат затем вычитается.Небо атмосферы кэшируется в маленькой LUT, но эта часть остаётся полноэкранной. При 50% неба число дополнительных итераций только в HD:
Это оценка работы по циклу/покрытию, не GPU-тайминг и не обещание прироста FPS. Компилятор может сворачивать константы, поэтому нужна проверка профилем на Mac. Уже задан
needs:profiling.Что измерить
Сравнить GPU-время
hd lightingна одной позиции/разрешении с большим участком неба, в полдень и при sunrise.a>0.001. Затем в тестовой ветке отдельно убрать только повторный расчёт vanilla fan, чтобы изолировать его стоимость; мерить после прогрева и установления TAA.Варианты доработки
Сохранить внешний вид солнца/луны/звёзд, закатную полосу, туман и off/on. Проверить сравнением кадров, а не уменьшением качества.
🤖 Agent: сделано в https://gitea.maoniao.team/chexit/airdef/commit/e3148bf (запушено в main).