- Сообщения
- 1,228
Всем привет и добро пожаловать в "Анализ производительности Stellaris #1". В этом выпуске мы рассказываем о философии тестирования, собираем кое-какую справочную информацию и проводим несложное исследование.
Предмет исследования
Производительность "Стеллариса" - довольно популярная тема для обсуждения, однако большинство большинство участников описывают свои проблемы с уровнем точности "ааа, какого чёрта всё так адски лагает под конец игры!"
Чтобы повысить уровень точности, предлагается записать точное время, необходимое для достижения определенной даты в игре, а затем использовать это число при сравнении различных кейсов.
Метод исследования
Специальный регистратор данных (далее - data logger) используется, чтобы отслеживать:
Коэффициент выборки data logger'а установлен в 1 кГц.
Кроме того, параллельно работает ещё один инструмент - save watcher, который выполняет резервное копирование сохранений, если потребуется подробное исследование. Наконец, активируется AutoIt скрипт, отключающий переход в "ждущий режим".
Влияние data logger'а и save watcher'а на производительность PC продемонстрированы ниже:
Ограничения
Чтобы минимизировать влияние data logger'а на производительность, данные записываются в бинарном формате. Для обработки логов используются PowerShell-парсеры, преобразующие двоичный код в csv и рассчитывающие длительность одного игрового дня (в миллисекундах). Этот метод позволяет исключить моменты, в которые игра поставлена на паузу, однако, он же не позволяет оценить влияние паузы на производительность игры.
Поэтому, рекомендуется записывать партии без пауз. Кроме того, во время партий не должна меняться скорость, т.к. нет метода, позволяющего корректно конвертировать записанные значения между разными игровыми скоростями.
Тестовый стенд
Все партии были запущены на следующей конфигурации:
Для построения графиков используется MATLAB. Типичный график:
Однако, учитывая плотность данных, графики довольно трудно понять. Гауссовское сглаживание с окном 720 дней (ожидаемое значение) используется для получения финального графика:
На этом мы заканчиваем с философией тестирования.
Оригинал
Предмет исследования
Производительность "Стеллариса" - довольно популярная тема для обсуждения, однако большинство большинство участников описывают свои проблемы с уровнем точности "ааа, какого чёрта всё так адски лагает под конец игры!"
Чтобы повысить уровень точности, предлагается записать точное время, необходимое для достижения определенной даты в игре, а затем использовать это число при сравнении различных кейсов.
Метод исследования
Специальный регистратор данных (далее - data logger) используется, чтобы отслеживать:
- Изменение даты в игре;
- Изменение статуса игры (пауза/снятие с паузы/изменение скорости).
Коэффициент выборки data logger'а установлен в 1 кГц.
Кроме того, параллельно работает ещё один инструмент - save watcher, который выполняет резервное копирование сохранений, если потребуется подробное исследование. Наконец, активируется AutoIt скрипт, отключающий переход в "ждущий режим".
Влияние data logger'а и save watcher'а на производительность PC продемонстрированы ниже:

Ограничения
Чтобы минимизировать влияние data logger'а на производительность, данные записываются в бинарном формате. Для обработки логов используются PowerShell-парсеры, преобразующие двоичный код в csv и рассчитывающие длительность одного игрового дня (в миллисекундах). Этот метод позволяет исключить моменты, в которые игра поставлена на паузу, однако, он же не позволяет оценить влияние паузы на производительность игры.
Поэтому, рекомендуется записывать партии без пауз. Кроме того, во время партий не должна меняться скорость, т.к. нет метода, позволяющего корректно конвертировать записанные значения между разными игровыми скоростями.
Тестовый стенд
Все партии были запущены на следующей конфигурации:
- Core i5-3570K
- 16 GB RAM
- GeForce GTX 1060 6 GB
- Win10
- PC перезагружается перед каждым сеансом записи логов;
- игра запущена из Plaza launcher'а и настроена следующим образом:
- желаемая комбинация ползунков;
- желаемая игровая скорость;
- игра сохраняется вручную;
- игра остаётся на паузе.
- запускается data logger;
- запускается save watcher;
- запускается AutoIt скрипт;
- игра снимается с паузы.
Для построения графиков используется MATLAB. Типичный график:

Однако, учитывая плотность данных, графики довольно трудно понять. Гауссовское сглаживание с окном 720 дней (ожидаемое значение) используется для получения финального графика:

На этом мы заканчиваем с философией тестирования.
Оригинал