Перейти к содержанию
Arkada

Как оптимизировать моды на S.T.A.L.K.E.R.

Рекомендуемые сообщения

 

В этой теме советы для модмейкеров, как оптимизировать скрипты сталкера на любую часть игры. Вручную.
Вся информация достоверная, проверена лично мною, когда я делал CoP optimized.

  Главное (Показать контент)

  Прочее (Показать контент)

 

Изменено пользователем liner
  • Лайк 1
  • Жму руку 2
  • Хабар 2
  • Спасибо 3

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

1)Никогда не ставьте 8К текстуры в свой мод
2)Отключайте использование 0 ядра

  • Мастер! 1
  • Смех 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Я тут вычитал в описании к одному моду на Anomaly, что якобы движок сталкера подгружает при работе и те файлы, которые лежать в геймдате, но нигде не используются. Это правда? 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

baraholschik Я то откуда знаю. Спросите у разработчиков аномали.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
  В 26.10.2022 в 10:48, baraholschik сказал:

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

А зачем в геймдате нужны файлы, которые нигде не используются? )))

И да, тут нужно уточнить, какие именно файлы, файлы оригинальной игры, или вообще левые файлы.

Левые файлы по любому никак не будут грузиться. А вот оригинальные файлы игры, они и так всегда грузятся(читаются), хоть они и не используются модом. Но вопрос, что они делают в геймдате, они в самой игре и так есть)))

Изменено пользователем alex5773
  • Мастер! 1

На ap-pro с 2010 года.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

alex5773 И причем здесь эта тема? Оффтопите. Не пишите здесь об этом.

  • Мастер! 1
  • Смущение 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

liner тема здесь к месту хотя бы потому что, возможно, очистка геймдаты от ненужного хлама может сказаться на оптимизации мода. А при не аккуратном моддинга завалить папки недействующими конфигами, моделями и текстурами проще простого. Вот и хочется знать, может ли движок обрабатывать эти ненужные файлы. Речь не столько про Аномалию, сколько про COC например

  • Хабар 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

liner, так удалите, не против. 

  В 26.10.2022 в 16:48, baraholschik сказал:

может ли движок обрабатывать эти ненужные файлы

Нет, не нужные он не читает вообще. 

Каким образом он будет читать то, до чего нет пути.

Можешь в мод хоть весь мусор скинуть. Просто размер будет больше.

А вот мусор в скриптах, которые используются, это другое дело.

  • Мастер! 1

На ap-pro с 2010 года.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

baraholschik Если подумать, допустим:
В system.ltx включаются файлы (директива include). И допустим мы включили специально лишний конфиг, в котором много лишних секций.
В результате, если мы хотим вычитать какую-то строчку из какой-то секции, то итераций будет больше, т.к. ещё будет проверяться новый конфиг. Думаю вы поняли к чему я.
Но вот просто валяющиеся текстуры не нагружают игру, я думаю, и если они не занесены в список заранее загружаемых текстур (кэш текстур).
alex5773 Удалять могут только модераторы.

  • Мастер! 1
  • Хабар 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Закину свои 5 копеек. r3_sm_minmax следует отключать. Из-за неё на DX10 и выше имеется просадки ФПС со временем. На DX10 и выше у нас есть доступ к волшебному ключику запуска -no_staging, благодаря которому мы можем отключить кеширование текстур в оперативную память, тем самым разгружая место под что-то более важное. Многопоточность. Как известно GSC пытались реализовать многопоточность (особенно это заметно на бенчмарк сборке, но и в релизной версии она тоже есть, хоть и порезана). Проблема в том, что на многоядерных системах этот многопоток хуже только делает. Но решение есть! Используя ключик -max-threads 1-... можно задавать количество потоков помощников. В идеале ставить 1, чтобы этих потоков вообще небыло, но можно попытаться подобрать идеальное значение. Главное не делать его слишком большим.

Изменено пользователем Hozar_2002
  • Лайк 2
  • Жму руку 1
  • Спасибо 1


image.png.489a34a67081676c25779ea216ba3788.png


 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Еще сильно просаживают фпс скрипты подключенные на апдейт актора. А если таких скриптов много подключено в bind_stalker.script в actor_binder:update(delta) то реально будет замедление. Ставьте таймеры, да будет выполнятся проверка таймера но не весь код скрипта. Так например у меня погода обновляется раз в час так зачем проверять условия в скрипте по несколько десятков раз в секунду я поставил раз в минуту. и таких скриптов оказалось 4 штуки. Для некоторых достаточно раз в секунду почти для всех четыре раза в секунду. Результат удивил производительность повысилась фпс вырос. Особенно это будет актуально для слабых машин. Примеры испоьспользования таймеров можно посмотреть в огср в огсе модах.

  • Лайк 1
  • Хабар 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Может нужно просто поменять использование памяти движку? Место 512 мб хотя бы на 1гб

И движок перенести на 64x


Дополнено 0 минут спустя

Ну и к тому же сектора делать для локаций

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
  В 07.05.2024 в 17:18, Stalkervernite сказал:

Место 512 мб хотя бы на 1гб

х32 движок может вместить до 4гб ОЗУ.

  В 07.05.2024 в 17:18, Stalkervernite сказал:

И движок перенести на 64x

Если в моде нету 4к текстур и огромных локаций, то смысла в x64 нет, т.к. такой мод не будет жрать более 4гб оперативы.

Для нормальной оптимизации нужно переходить на ЗП с движком IX-Ray. Если у вас ТЧ или ЧН, я вам соболезную точно также используйте IX-Ray, но потом переходите на ЗП.

  • Жму руку 2
  • Клоун 6

бывший модоел

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Bruh...

Ладно, давайте с основ. В xray большая болезнь модов - слабы компы юзеров. Основные проблемы - это подгрузка данных. Слабые харды плюют и помирают на крупных модах.


1. Выучите что такое UV и не плодите "уникальные текстуры" на каждый объект. 
2. Оптимизируйте меши. Размер играет роль 
3. Черезмерная детализация динамики вообще не имеет смысла без правки шокера по скиннингу (всё равно всё в шорт режется) 
4. Финальный мод пакуйте в .db. Архивы xray хавает лучше, чем n-тысяч файлов в геймдате. 

-- 
Конфиги/скрипты - на ваше усмотрение. Первые инциализируются в общую кучу при запуске (а в том же OGSR там unordered map, что хранит ключи в хеш-виде, так что там итерация почти моментальная), вторые при обращении загружаются в машину и там живут 

Следующая проблема - GPU 

1. Шейдерые правки и фичи без возможности отключения на стороне юзера - проблема как по части регуляции производительности на стороне пользователя, так и его комфорт 
2. Огромные текстуры - пощадите GPU. Двиг не умеет в "виртуальные текстуры", он слишком стар. 
3. Делайте лоды, сектора и порталы. XRay без них плохо 

И самое грустное - CPU 

Двиг живёт в полтора потока. Не надо завешивать все скрипты на апдейт. Есть коллебки под разные ситуации. Избегайте лишних операций. Луа компилируется в реалтайме и код ваш оптимизирует он очень плохо (почти никак). 

  • Мастер! 1
  • Жму руку 1
  • Хабар 1

Мастер по созданию багов в ваших проектах. Обращайтесь :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
  В 08.05.2024 в 03:59, xrLil Batya сказал:

IX-Ray

Так усердно вылизывать ASS даже Лана Роудс в былые годы славы не могла, а ты могёшь, красавчик.

  • Дурка 1
  • Смех 2
  • Клоун 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
  В 08.05.2024 в 12:47, no_data228 сказал:

Так усердно вылизывать ASS даже Лана Роудс в былые годы славы не могла, а ты могёшь, красавчик.

У тебя тоже самое, но с огсром :)

  • Жму руку 1
  • Смех 2

бывший модоел

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

xrLil Batya даже не знаком с ними лично... Нигде не писал что надо его использовать, так что твою стрелочку смешно читать, пупс)

  • Дурка 1
  • Клоун 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
  В 09.05.2024 в 13:00, no_data228 сказал:

даже не знаком с ними лично...

Как это не знаком? Не притворяйся, я знаю, что ты очередной твинк-аккаунт houdini.

  • Жму руку 1
  • Смех 2

бывший модоел

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

В циклах убирайте local за пределы цикла, проверил очень хорошо ускоряется.

local obj
for id=0, 65534 do
  obj = level.object_by_id(id)
  if obj then
    ...
  end
end

  

Ещё бы реализовать метод search_by_id(number) пространстве level, тут уже оптимизация на 5-10 миллисек.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Как запаковать gamedata в .db/.xdb? чтобы в patches закинуть и чтоб она читалась самой последней:
ресурсы игры > патчи gsc > мод .db > моя геймдата.db

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу