505-й кадр

Классический шутер должен быть быстрым — быстрота обеспечивает драйв, quality геймплея, а «Quality геймплея важнее его необычности». (с) При этом, частота кадров должна быть высокой, чтобы у игрока появлялось ощущение реалистичности происходящего и не создавалось впечатление что машина отстаёт от него. Достигается это путём хитроумных оптимизаций.

В Юнити для этого используются настройки движка, самописные шейдеры, всякие оптимизации кода, хитроумные паттерны типа ECS, многопоточность и много чего ещё.

Код я пишу сразу же оптимизированный. Делать шутер с ECS внутри не выглядит разумным (ну, ECS — оно для другого). Многопоточность и самописные шейдеры делать лениво. Однако поковыряться в настройках и настроить во всех префабах шейдеры правильно очень полезно.

Поковырявшись в ассетах проекта, вчера получил, на минимальных настройках, вот такую картинку:

оптимизация

Внимание на правый верхний угол, счётчик fps кажет аж 505 кадров в секунду! Причём у меня не какое-то удивительное железо, восьмиядерный AMD и SLI из не очень новых видях.

Короче, кое-что умеем.

ЧСХ, играть на такой частоте невозможно. Управление становится дёрганным, т.к., частота обновления мышки всего-то герц 120, и она попросту не успевает за игрой. Выглядит так как будто игра тормозит. В итоге задал максимальный fps в 60, и всё стало нормально.