Перейти к основному содержимому

Про FPS, UPS и производительность игры

Вся статья, кратко

Слишком большая база или много объектов на карте могут стать причиной повышенных счетов за электричество.

В Factorio два ключевых показателя производительности, цэ FPS ши UPS. При этом FPS синхронизирован с UPS, если позволяет графическая составляющая. UPS же может быть в принципе любым, но в обычных играх он всегда ограничен 60 попытками в минуту.

Чё за UPS?

UPS, который Updates Per Second, определяет сколько раз в секунду Factorio способна симулировать (пересчитать и обновить) игровой мир. UPS полностью зависит от оборудования, центрального процессора и подсистемы памяти (CPU+Memory). Но важен не объём памяти, а скорость памяти. Вся эта муть намного важнее графической карты, так как Factorio производит постоянные вычисления всех сущностей в игре, а на графику ей плевать. При низком значений UPS, игра будет тормозить в целом и симуляция будет вас напрягать. Разные личности пытаются решить проблемы с производительностью разными мохнатыми чертежами, но к реальной игре это имеет мало отношения. Другие личности готовы тратить свои заначки на улучшение железок, но этот путь тоже утопический.

А чё за FPS?

FPS же Frames Per Second, чё означает количество кадров в секунду, которые ваша система способна отображать во время игры. Вся эта муть связана с вашей графической картой. При низком значении FPS экран будет обновляться реже, но если UPS достаточно, то игра продолжит работать с обычной скоростью. Анонимус утверждает, что любой Intel HD Graphics 630 хватит для игры в Factorio, даже в UHD.

Как решать вопросы с производительностью?

FPS и UPS тесно связаны, Factorio всегда старается симулировать значениями 60 FPS на 60 UPS. Больше 60 кадров игра не умеет, "это не возможно, физически" и пофиг на 165Hz вашего монитора. Исключение составляет редактор сценариев, а также моды могут играться с этими значениями. Если ваш игровой компьютер не способен симулировать 60 обновлений в секунду, то UPS упадёт и FPS также упадет поскольку синхронизирован с UPS.

При случае маленький FPS/нормальный UPS проблема точно связана с графикой. Тут либо понижать параметры графики в настройках игры, что помогает плохо. Больший эффект даст новая видюха, но нынче это запредельно дорого. Да и возникает вопрос, на чём вы там играете, если у вас графика Factorio тормозит, не на Radeon 2600XT ли?

Другой случай, маленький FPS/маленький UPS, является признаком того, что ваша фабрика становится слишком большой и сложной для симуляции. В этом случае вам, возможно, придется оптимизировать вашу фабрику или улучшать оборудование. Оба варианта имеют большие ограничения. Если у вас UPS упал до невозможности, но при начале другой (новой) игры с производительностью всё в порядке, вы ничего не сможете сделать, уж поверьте.

А вообще, все проблемы с производительностью можно будет решить лет через двадцать, когда компьютеры, согласно закону Мура, смогут тянуть Factorio. И то не факт, зато есть время подготовиться и обзавестись хорошими чертежами. Сколько вам там сейчас, за сорок уже небось? Ну так при выходе на пенсию будет вам счастье. Как вариант, можете попытать счастье сейчас, удачи.

Можно поиграться с диагностикой

Хотя есть один рецепт, откройте меню Debug settings (клавиша F4) и включите опции show-fps и show-time-usage. На экране будете видеть с какой скоростью работает Factorio и на что больше всего тратятся такты центрального процессора. Вангую, на первых местах будут поезда, манипуляторы, и роботы при строительствах множества чертежей. Зачастую роботы вызывают временные трудности, которые заканчиваются как только закончатся их полёты. Основные проблемы с производительностью вызывают поезда и манипуляторы, с производительностью которых очень трудно бороться. Простая замена простых манипуляторов на быстрые или пакетные не поможет, влияет не тип манипулятора, а их количество. С поездами та же фигня, важна длина железнодорожных путей и количество локомотивов, а не топология развилок.

Вот так выглядит простой работяга с завода, который после отпаханной смены строит ещё и свои виртуальные заводы с большой задержкой отклика (извините, писать красивые надписи на чужих картинках ещё не научился):

Factorio на 5 UPS

Ну вы поняли, либо идите в гиков, либо идите в нерды, либо возвращайтесь назад, к танчикам и овервотч.

Советы от не гикнутого

Следующие наставления могут помочь поднять хоть чуток производительность Factroio, а могут и не помочь.

  • Уменьшите количество сущностей, практически всё в игре является сущностью, которые нужно просчитать. Совет, конечно от капитана ачевиднасть, вырубайте деревья в общем.
  • Используйте солнечную энергию, она просчитывается почти мгновенно, так как все солнечные панели рассматриваются как одна большая солнечная панель с множителем их количества.
  • Замените конвейеры на подземные конвейеры. Подземные конвейеры используют некую телепортацию предметов, поэтому считаются на много быстрее. При этом сильно увеличится расход ресурсов на построение чертежей.
  • Отключите загрязнение и фауну. Правда игра станет скучнее. А действительно, если вырубать деревья, то поглощать загрязнение будет некому, тогда и фауна не нужна. На самом деле это не поможет. Фауны в игре не много, она рассчитывается почти мгновенно. Загрязнение тоже не сильно грузит процессор, там простая математика.
  • Управляйте пакетными манипуляторами так, что бы заставить их вставлять предметы пачками, по дюжине штук. Тут без комбинаторов не обойтись, учите лженауку кибернетику.
  • Стремитесь производить как можно больше предметов используя как можно меньшее количество сборочных автоматов. Путь гиков через маяки, модули скорости и продуктивности.

Честно говоря, все эти советы помогут мало. Ну получите вы вместо 5 UPS каких-то там аж 8. И щё будя? Далее идут советы, которые вообще вряд ли помогут:

  • Отключите моды. Совет конечно дельный, но только если какой-то специфичный мод действительно вызывает проблемы с производительностью. Проблемные моды встречаются редко, если вообще встречаются, но это не значит что их нет.
  • Используйте строительные дроны в небольших логистических сетях и старайтесь давать задания на как можно короткие расстояния. Совет так себе, дроны давят на производительность только когда строят. Хотя с другой стороны, строить нужно постоянно и на большой площади.
  • Используйте транспортные дроны вместо конвейеров. Дроны действительно более эффективны для расчёта, чем конвейеры, но на маленькой области, не более 50x50 клеток. Правда создать что-то рабочее вряд ли получится.

Несмотря на то, что приемлемый FPS и UPS важны для смачной игры, самое главное в Factorio заключается в строительстве и оптимизации ваших творческих творений творчества. Дерзайте.