Графика › Кадр
Разобрать кадр по проходам: RenderDoc и профайлер Unreal
Нужно знать заранее: Как движок рисует кадр: проходы и G-буфер, Бюджет кадра на видеокарте
По шагам: снять кадр, пройти его от первого прохода до картинки на экране, найти, что рисуется зря и что съедает больше всего времени, и проверить догадку.
Пока можно прочитать
Как движок рисует кадр: проходы и G-буферУрок · глубжеКадр как цепочка проходов: прямой и отложенный рендер, G-буфер и сотни ламп, Forward+, порядок от глубины до интерфейса и поиск ошибок материала по Buffer Visualization.Буфер глубины: кто ближе к камереУрок · базаКак видеокарта решает, какой треугольник впереди, почему глубина хранится неравномерно, откуда мерцание совпавших поверхностей и как глубина делает мягкую кромку воды.Прозрачность: Opaque, Masked, TranslucentУрок · базаПочему у листвы режим Masked, почему прозрачное дорого и сортируется с ошибками и как новый цвет смешивается с уже нарисованным.Сглаживание: лесенки, мерцание и TSRУрок · базаПочему край идёт лесенкой, а провода и блики мерцают: пиксель как одна проба, три вида алиасинга, суперсэмплинг, MSAA и постфильтры FXAA и SMAA, временное сглаживание — джиттер, история, векторы движения и отбраковка, шлейфы и мыло, апскейлеры TSR, DLSS, FSR и XeSS и что может сделать художник.LOD, инстансинг и Nanite: как рисуют миллион травинокУрок · базаКак большая сцена остаётся в бюджете: две цены — треугольники и вызовы отрисовки; уровни детализации по размеру на экране, прыжки и дизеринг, HLOD и импостеры; почему мелкие треугольники дороги; инстансинг и данные копии; отсечение по пирамиде, дальности и перекрытию (Hi-Z); Nanite — кластеры, ошибка меньше пикселя и что он не любит.Туман и пост-обработкаУрок · базаЧто происходит с картинкой после освещения: экспозиция и автоэкспозиция, тонмаппинг и почему он меняет цвета, цветокоррекция и LUT, экспоненциальный, высотный и объёмный туман, свечение, виньетка и зерно, глубина резкости и размытие движения, SSAO, порядок и цена эффектов.Бюджет кадра на видеокартеУрок · глубжеПоследний урок курса: бюджет кадра в миллисекундах (16.7 мс при 60 к/с) и почему мерить в мс, а не в FPS; процессор и видеокарта работают одновременно, кадр задаёт самое медленное звено, опыт с разрешением; задержка ввода и очередь кадров; смета видеокарты по проходам из курса; почему трава, тени и прозрачность дорогие; видеопамять, стриминг текстур и её переполнение; как искать узкое место профилировщиком; чек-лист экономии для художника.