14 сен 2024

HZB Occlusion Culling

HZB Occlusion Culling (или, как это знают те, кто в теме, "незаконный апгрейд ФПС") — это такая адская вещь в движке Unreal Engine 4, которая, по идее, должна оптимизировать FPS, убирая из рендера всякий мусор, который ты не видишь (например, объекты за стеной или гигантским камнем). Вроде как, должно помогать. А по факту? Ммм, давай разберемся.
Как оно должно работать:

HZB Occlusion — это система иерархического Z-буфера, которая анализирует объекты сцены и пытается просчитать, что скрыто, а что видно игроку. Для этого она использует данные с предыдущих кадров и алгоритмы рендеринга. Прелесть в том, что это всё работает на GPU, типа должно ускорять процесс и экономить ресурсы.
Как оно работает на самом деле:

Звучит неплохо, да? Но если ты откроешь консоль и наберешь команду r.HZBOcclusion 0, то можешь обнаружить, что твой FPS взлетает до небес. Особенно это ощущается, если у тебя хардкорный DX10. Как, черт возьми, так? Оказывается, в случае с некоторыми играми (ну, ARK: Survival Evolved, например), эта волшебная фича больше вредит, чем помогает.

На DX11 это может работать через раз: в сценах с кучей объектов HZB может иногда немного помочь, а в более простых местах даже просадить FPS. Зато на DX10 (и вообще на низких настройках) эта штука может забирать до 40% производительности, потому что она использует больше ресурсов GPU, чем сама игра!
Как это отключить:

Открываешь консоль, вводишь r.HZBOcclusion 0, и вдруг у тебя FPS прыгает с 30 до 60. Даже с кучей травы вокруг и прочей ненужной фигни на экране. В DX11, правда, разница не такая драматичная — 1-3 FPS в минус или в плюс в зависимости от сцены. Но это по-прежнему может помочь в местах с меньшим количеством объектов.
Фиксится это когда-нибудь?

Как всегда: "Я надеюсь, что разработчики это пофиксят". Или не пофиксят, как это бывает. Короче, если у тебя падает FPS, и ты не знаешь, что делать — вырубай HZB Occlusion. Жить станет легче, а мир вокруг — плавнее.

Теперь ты в теме. HZB Occlusion: "Вроде как должна помогать, но на деле все наоборот."

Комментарии

Комментариев нет.