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

Производительность

Замеры проводились 04.11.2026 на одном Linux ПК. Сравнивались Razdor 1.3.5 и Discord Times Community Update под Wine 11.

Сравнение на одной видеокарте (RTX 4060) при разрешении 1024x768:

Razdor Оригинал под Wine
кадров в секунду (без ограничения) около 2000 около 176
кадров в секунду (с ограничением, экран 60 Гц) 60 60

Razdor отрисовывает кадр примерно в 11 раз быстрее на той же видеокарте. При использовании программной отрисовки (Mesa llvmpipe) Razdor выдает около 48-73 FPS, а оригинал — около 19-34 FPS (внутренний счетчик оригинала показывал 13-20).

На рабочем столе при запуске через Wine оригинал может показывать около 15 FPS. Однако при отрисовке через видеокарту вне экрана он достигает 60 FPS (с ограничением) и 176 FPS (без ограничения). Низкая скорость на рабочем столе вызвана не самой игрой, а особенностями запуска: 16-битным полноэкранным режимом 1024x768, работой композитора рабочего стола и настройками Wine. DDrawCompat (ddraw.dll) из Community Update на данном ПК под Wine не запустился.

Замеры на видеокарте RTX 5060 Ti (одно ядро CPU, 1920x1080):

карта кадров в секунду (без ограничения) собственная нагрузка игры на кадр
РК3-Столица около 1950 0.15 мс
Другой берег (200x200, 61 армия) около 1400 0.29 мс

Бюджет одного кадра при 60 FPS составляет 16.7 мс. Razdor использует лишь около 1-2% этого времени на картах кампаний. Размер экрана (1920x1080 против 1024x768) практически не влияет на нагрузку.

Настройка «Экономия батареи» (вкладка «Прочее», по умолчанию выключена). Когда на карте ничего не происходит — открыто без окон, герой не идёт и не ждёт, армии не показываются, камера и курсор стоят, и вы ничего не нажимаете, — новые кадры рисуются 10 раз в секунду вместо полного темпа. Как только что-то начинает происходить, кадры снова идут полным темпом. Правила игры не меняются.

Настройка «Анимация карты» (вкладка «Карта», строка перед «Туманом вместо черноты», по умолчанию «Вкл»). Щелчок по строке переключает значение:

  • «Вкл» — всё на карте движется, как обычно: деревья, армии, вода, погода, огни.
  • «Только вблизи» — движение выключается, когда карта отдалена, и возвращается при приближении.
  • «Выкл» — карта неподвижна: вода, живая карта и следы кораблей выключены, а новые кадры рисуются реже, как при «Экономии батареи». Меньше нагрузка на видеокарту и батарею.

Правила игры не меняются.

Строка «Качество графики» стоит первой на вкладке «Карта». Щелчок переключает пресет: «Оригинал», «Низкое», «Среднее», «Высокое», и снова «Оригинал». Одна строка задаёт сразу все настройки ниже. Если что-то из них изменено вручную, строка показывает «Своё». В новой установке стоит «Оригинал» — вид оригинала, без новых эффектов. У уже установленной игры настройки остаются прежними.

Пресет Разрешение карты Свет Тени Туман Вода Погода и живая карта Анимация карты
Оригинал 100% выкл нарисованные нет выкл выкл Вкл
Низкое 75% выкл нарисованные простой выкл выкл Только вблизи
Среднее 100% вкл, среднее качество света от солнца простой вкл, каждый второй кадр, среднее качество вкл Только вблизи
Высокое 100% вкл, высокое качество света от солнца облака вкл, каждый кадр, высокое качество вкл Вкл

На слабом телефоне начните с «Низкое». Остальные строки вкладки можно менять по одной: тогда строка показывает «Своё».

Карта рисуется быстрее, особенно в виде 2.5D и при отдалении. Картинка та же, правила игры не меняются. Что ускорено:

  • Предметы карты (деревья, здания, камни, холмы) хранятся по участкам: на каждом кадре рисуются только участки, попадающие в экран, а не все предметы карты.
  • То, что не меняется от кадра к кадру, считается один раз: покачивание деревьев и растений, размер экрана, поворот объектов в 2.5D.
  • Вода не пересчитывает все холмы карты на каждом кадре, туман не сравнивает всю карту заново, а спрайты рисуются без новой памяти на каждый спрайт.

До ускорения (Razdor 1.3.5). Синтетические тесты на одном ядре CPU (время одного шага игрового времени, когда ИИ двигает армии и проверяет события):

карта 10 000 событий, без армий 100 бродячих армий (типично / худший случай)
200x200 0.12 мс 21 мс / 68 мс
400x400 0.12 мс 71 мс / 280 мс
800x800 0.13 мс 420 мс / 1450 мс

Замеры времени, которое ИИ требуется на 2 игровых дня при 100 бродячих армиях и 10 000 событиях:

карта до (одно ядро) теперь (8 ядер) быстрее
200x200 2,1 с 0,7 с в 2,9 раза
400x400 8,1 с 2,6 с в 3,1 раза
800x800 36,9 с 11,5 с в 3,2 раза
  • ИИ армий ведёт себя точно так же, как раньше: пути армий не изменились, это проверено на всех картах игры и сообщества.

  • Поиск пути стал дешевле, и поиски разных армий идут на нескольких ядрах процессора одновременно (на одном ядре примерно на четверть быстрее, чем раньше).

  • Карта больше не замирает, пока ИИ думает: самый долгий кадр при ходьбе по карте 800x800 сократился с 2,4 с до 0,054 с; если ИИ не успевает за кадр, он продолжает в следующем, а карта продолжает рисоваться.

  • В будущем может появиться экспериментальная настройка с более быстрым (но не точно таким же) ИИ для больших карт; сейчас её нет.

  • 10 000 событий не создают проблем на любом размере карты (около 0.12 мс на шаг).

  • Основная нагрузка — это поиск пути армий. Каждый раз, когда армия выбирает новую цель, она ищет путь по всей карте, поэтому стоимость растет вместе с площадью.

  • До ускорения на карте 200x200 со 100 бродячими армиями каждый шаг вызывал небольшое замирание (пропуск 1-2 кадров). На 400x400 был виден явный рывок. На 800x800 герой до ускорения мог проходить всего около 3 шагов в секунду, ожидая завершения расчетов армий.

  • Когда карта неподвижна, даже 800x800 выдает более 2000 FPS. Ограничением является ИИ, а не отрисовка.

  • Реальные карты в игре не превышают 200x200 и содержат до 60 армий (многие из них стоят на месте), поэтому текущие карты кампаний и сообщества далеки от пределов.

В «Настройках» → «Прочее» у строки «Тест производительности» есть кнопка «Запустить». Тест измеряет, как быстро идёт игра на этом устройстве, на карте «Другой берег»: рядом (масштаб по умолчанию) и вся карта сразу.

  • «Мои настройки» (около 30 секунд): ваши настройки и вид карты.
  • «Все пресеты» (около 3 минут): «Оригинал», «Низкое», «Среднее» и «Высокое» в 2.5D, и «Оригинал» на плоской карте.

Во время теста игра не принимает нажатий и касаний; Esc останавливает тест. Ваши настройки не меняются: тест применяет свои значения только на время, потом всё возвращается. Ограничение FPS и «Экономия батареи» на время теста выключаются, вертикальная синхронизация остаётся как на устройстве.

В таблице результатов: FPS, время кадра (медиана и 99-й перцентиль) и число медленных кадров (дольше 33 мс). Кнопка «Сохранить» пишет результаты в текстовый файл в папку Razdor (рядом с сохранениями) и копирует текст в буфер обмена, если это возможно. Файл можно приложить к отчёту о проблеме.

Технические лимиты формата карт:

  • До 255 армий на карте.
  • До 65 535 событий.
  • До 64 событий в одной точке или здании.
  • Размер карты до 8192x8192 (до 67 миллионов ячеек).

Совет для создателей карт: на картах больше 200x200 держите бродячих армий поменьше: именно они дают нагрузку. Охрана и патрули в этом замере не проверялись.

В «Настройки» → «Прочее» есть строка «Режим отладки». По умолчанию он выключен. Если включить этот режим, будет записываться журнал производительности (медленные кадры и загрузки). В верхней части каждого экрана появится полоса: «Включён режим отладки — FPS может снизиться». Это изменение вступает в силу сразу. Для отчёта об ошибке включите режим, повторите проблему, а затем используйте «Отправить журнал…» в этой же вкладке. На Android сохранится один файл через диалог сохранения; на компьютере откроется папка с логом.