Новоиспеченный вопрос?
Успешно раскрыв древнюю тайну противостояния func_detail и деформаций в предыдущей статье, я получил известия от Верховного Рекомендации по оптимизации Source. Оказывается, есть ещё одна загадка, спрашивающая решения, так что передо мной встал новый вопрос.
Как тяжкие и лёгкие ассеты влияют на частоту кадров? Есть ли между ними существенная разница в плане фреймрейта (собственно, это два проблемы, но мы это опустим)?
Методика
Статья и на этот раз будет небольшой, но ёмкой; меньше слов, вяще цифр и скриншотов. Систематический подход тоже не претерпел особых изменений: у нас будет две равных тестовых карты, только одна с лёгкими версиями ассетов, а иная с тяжёлыми. Сами ассеты будут одинаковыми, как и их расположение.
Новоиспеченные ассеты из переработанной de_nuke в CSGO отлично нам подойдут, поскольку вящую их часть Valve выполнила в лёгком и тяжёлом вариантах. Тяжкие версии пропов насчитывают больше полигонов. У тяжёлых текстур есть карты нормалей (вплоть до двух), карты отражений, продвинутые отражения, карты детализации и в линии случаев затенение по Фонгу. Их лёгкие версии – это просто диффузные текстуры, порой с картой детализации.
Я замерю fps на каждой карте, и выведу заточение, которое, будем надеяться, удовлетворит Верховный Совет.
Тестирование
Вначале будем тестировать лёгкие ассеты. Карта у нас простая, заключается из четырёх стен, пола и расставленных тут и там пропов и блоков с текстурами. Текстуры, как правило, бетонные, пропы воображают собой ящики, машины, трубы, провода, двери и вентили.
На этой карте мы получаем 330 fps. Вторая карта будет идентичной, но легковесные версии пропов и текстур мы заменим тяжёлыми.
Здесь у нас 286 fps, что ж, интересненько. Ну всё, пойду снесусь с Советом, передам им данные.
Постойте, не торопитесь. Мы с вами люд науки, и вы же понимаете, что одной карты для закономерных выводов недостаточно.
Дальше мы протестируем нашу карту, увеличив её вчетверо, как в размерах, так и в числе содержимого (Нобелевка уже ждёт меня). Мы скопируем имеющиеся у нас пропы и браши с текстурами и размножим их на повышенной площади. Начнём с лёгкой версии тестовой карты 4x (будем именовать её так).
Частота кадров просела на 279 с 330, поскольку движку доводится отрисовывать больше содержимого. Но главное для нас – сравнить этот показатель с тяжкой версией. Как вы уже поняли, мы снова берём вчетверо увеличенную версию сейчас уже тяжёлой карты.
229 fps. Производительнос
Как видите, фреймрейт проседает на 44 fps в несложных версиях и на 50 fps в картах 4x.
Из таблицы мы можем сделать два вывода:
Разница между легковесными и тяжёлыми версиями ассетов существенна (44/50 fps), то же касается и разницы между несложными и четырёхкратными версиями (51/57 fps) с добавлением большого количества потенциально видного контента.
Наши результаты могут пролить свет на приметную разницу в производительнос
В качестве бонуса прилагаю пора компиляции тестируемых карт, чтобы вы смогли оценить разницу в легковесных и тяжёлых ассетах с этой точки зрения, особенно в vrad, немало зависимом от количества полигонов и сложности текстур.
Вы прекрасно видаете, насколько время компиляции vrad увеличивается на тяжёлых и на повышенных версиях карт.
Ну а теперь прошу меня извинить, необходимо сделать один звонок. Старейшина больше не может ожидать.
Итоги
Тяжёлые ассеты делают карту более симпатичной глазу, что необходимо в сегодняшних реалиях непрерывно совершенствующей
Они необходимы, если вы желаете, чтобы карта блистала (в прямом и переносном смысле), основное знать меру, обращаясь к лёгким ассетам при оформлении неигровых районов и мест, которые игрок не увидит настолько близко, чтобы приметить разницу.