Руководство по производительности сцены

Требования к производительности Mount & Blade II: Bannerlord

Не проверяйте окончательную производительность вашей сцены в редакторе сцен. Редактор имеет низкую производительность из-за того, что его можно редактировать во время выполнения. Также вам следует уточнить итоговые показатели у агентов миссии.

Возможные узкие места в производительности

Отсутствующие окклюдеры

Окклюдеры - это физические объекты, которые определяют границы окклюзии для сеток. Если ограничивающая рамка объекта полностью закрыта окклюдером, эти объекты не отображаются. Окклюдеры значительно уменьшают проблемы с производительностью широких и больших сцен. Во время выполнения все окклюдеры отображаются на другом экране, и значения глубины каждого пикселя на этом экране проверяются с помощью ограничивающего прямоугольника каждой сетки. В вашей сцене все строительные блоки и большие меши должны иметь окклюдеры. Если параметры “Enable Occlusion Culling” и “Show Occluders” включены на вкладке “Visibility”, окклюдеры каждой сетки визуализируются с помощью отладочных сеток. Если в какой-либо из больших сеток вашей сцены отсутствуют окклюдеры, вам следует связаться с командой ART.

Слишком много перерисовки точечного света и ненужные карты теней

Наш движок использует систему точечного освещения на основе сетки. Эта система делит экран на сетки фиксированного размера. Затем видимые точечные источники света регистрируются в каждой сетке, с которой пересекается ограничивающая рамка. Затем каждый затененный пиксель на экране использует все точечные источники света внутри своей плитки, чтобы затенять себя. Каждый точечный свет в вашей сцене должен иметь минимально возможный радиус. Кроме того, чтобы не увеличивать перерисовку, не следует использовать слишком много точечных источников света. Вы можете использовать средство отладки “Debug Tiled Lights”, чтобы исправить такие проблемы, как слишком много точечного света в узких местах или источники света с большим радиусом. Если есть какие-либо плитки сетки желтоватого или красного цвета, то они, вероятно, имеют низкую производительность. Эти области сцены следует отрегулировать, уменьшив либо радиусы точечного света, либо уменьшив количество точечного света.

Использование флоры во внешних областях

Трава, похожая на флору, которую мы используем в наших сценах, имеет ограниченный диапазон обзора. Кроме того, мы можем отбраковывать (не выполнять рендеринг) этой флоры в больших диапазонах. Тем не менее, эта флора будет иметь большое влияние на память в сценах, а также будет иметь умеренную стоимость отбраковки CPU. Таким образом, для внешних областей, где трава не будет отображаться, вам не следует использовать слои ландшафта с высокой плотностью травы.

Слишком много мешей без LOD

Для современных графических процессоров с точки зрения производительности гораздо важнее плотность полигонов на пиксель, чем общее количество полигонов. В этом случае худшая ситуация - сетки без LOD. Это можно проверить, переключившись в каркасный режим. Каждый треугольник в сцене должен содержать приличное количество пикселей внутри, а не наоборот. Вам следует связаться с командой ART, если вы найдете сетку без LOD.

Множитель LOD ландшафта и плотность вершин

Всегда проверяйте плотность вершин вашего ландшафта. Во многих случаях разрешение местности можно уменьшить без каких-либо заметных изменений. Также старайтесь не использовать множитель LOD ландшафта для узлов ландшафта. Наличие большего количества узлов и использование только множителя LOD ландшафта в узлах с детальной кривизной повысит производительность вашей сцены. Множитель LOD ландшафта должен быть установлен соответственно, желательно не более 3.

Вершина / Коэффициент измерения

Вершина / Коэффициент измерения должны быть не больше чем 1.8.

Узлы и размеры

В каждом измерении должно быть не менее 10 узлов для лучшего управления LOD движком. Каждое измерение должно быть шириной не более 1,6 км (общая ширина сцены). Кроме того, можно использовать внешние сетки, чтобы создать ощущение большого пейзажа.

Узлы внешней местности

Узлы внешней местности, к которым игрок не может получить доступ, в зависимости от их сложности, должны иметь меньшую плотность вершин, чем центральные.

Плотность флоры местности

Плотность флоры местности, как правило, не должна превышать 60, за исключением некоторых случаев (флора с малым числом экземпляров, например, flora_reed_X или flora_dry_plant_f). Это значение рекомендуется, когда не используется настройка колонии (radius=0, threshold=0). Система колоний работает, удаляя флору, что снижает видимую плотность.