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

Про 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.

Необходимое и достаточное условия

Играя в Factroio основная нагрузка ложится полностью на процессор, который CPU, он же штэуд али амудэ. Видеокарта мало как влияет на расчёты игрового мира. Большинство вычислений выполняется в одном потоке, хотя на дворе уже век Ай-Яй и восьми ядер. Поэтому производительность напрямую зависит от мощности одного ядра процессора. Также особое влияние играет скорость оперативной памяти, но это только если скорости процессора достаточно. Прям как у матанализе.

Какая нужна видеокарта, невидиа, амадэ али ынтыл?

Для игры в Factorio видеокарта не нужна, хватит и любой встройки...

На самом деле, экономичного i5-7500T с 8GB вполне достаточно, чтобы отправить рыбку в космос и завершить игру. Сиё проверено на Dell OptiPlex 3050M. Старенький процессор 2017 года, вместе со своей встройкой, вполне вытягивают 60UPS на Full HD потребляя 16 Ватт. Однако, фабрику на многие тыщи научных пакетов в минуту такое устройство уже не потянет.

На что ориентируемся?

Нужны мощные штэуды с большим бустом на одно ядро и быстрой памятью. Или амудэшные с 3D кэшем, они переплюнут всё, именно из-за быстрого и большого кэша.

РангМодель процессораОсобенности для Factorio
SAMD Ryzen 7 9800X3DАбсолютный лидер по UPS, но нужна дискретная видеокарта и много шекелей
SAMD Ryzen 7 7800X3DЧуть уступает 9800X3D, но всё ещё топ
AAMD Ryzen 9 7950X3DНе всегда эффективнее 7800X3D из-за специфики нагрузки
AIntel Core i7-14700KВысокая частота и отличная однопоточная производительность, но уступает X3D
BAMD Ryzen 7 9700XХорошая производительность, но без X3D не вытягивает
BIntel Core i5-14600KХорошее соотношение цена/производительность, но уступает топам
CAMD Ryzen 5 7600XДостаточно для средних фабрик, но не для больших
CIntel Core i5-12400Бюджетный вариант для небольших и средних фабрик
Zвсё что хужеВариант чтобы добраться до разрушенной планеты и вернуться назад

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

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

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

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

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

cpu-performance.webp

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

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

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

Factorio на 5 UPS

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

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

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

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

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

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

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