S.T.A.L.K.E.R.: New Project - Внедрение многопоточности

2025-05-02 16:42:07

> Давняя проблема с отсутствием многопоточности в оригинальном движке X-Ray сильно ограничивала модмейкеров в творчестве, вынуждая сокращать уровень детализации своих проектов в угоду приемлемому FPS. Говоря простыми словами, огромное количество сложных вычислительных задач игры «сливались в бутылочное горлышко», что значительно замедляло их совокупную обработку, и как следствие — заметно снижало FPS при в высоко детализованных сценах.

Однако в последние несколько лет многие программисты известных проектов вселенной STALKER в той или иной степени решили проблему путём глубокой модификации движка, создав возможность распределения задач по нескольким вычислительным потокам

История проблемы
Оригинальный движок X-Ray не обладал какой-либо значимой многопоточностью. В частности, движок игры располагал всего двумя потоками для подготовки и отрисовки кадра: основной, который выполнял ~95% всех задач, и вспомогательный, выполняющий небольшие периферийные задачи.

Оригинальный движок хорошо справлялся с отрисовкой большинства игровых сцен оригинальной трилогии. Однако для сложных и высоко детализированных модификаций, не говоря уже о масштабных аддонах, возможностей оригинального X-Ray было недостаточно.

Разработка системы многопоточности
Команда S.T.A.L.K.E.R.: New Project разработала собственный планировщик распределения и выполнения многопоточных задач, который способен правильно распределить задачи по имеющимся потокам, учитывая их загруженность и приоритеты задач. Так же была проведена очень трудоемкая и сложная работа по адаптации оригинального кода под возможность параллельного выполнения большого количества вычислительных задач.
Проделанная работа дала свои плоды и FPS значительно вырос. Разницу можно увидеть на скриншотах ниже
1) Без многопотока [FPS: 9] 2) Вкл. многопоточность только ориг. движка [FPS: 14] 3) Вкл. многопоточность для New Project [FPS: 73]

Таким образом благодаря системе многопоточности разработчикам удалось настолько сильно повысить производительность движка игры, что дало возможность реализовать все идеи по level-дизайну и геймплею без ущерба производительности.
Источник: S.T.A.L.K.E.R.: New Project

оригинальный X-Ray был достаточен для 2000х, понятно что он не тянет современные модификации с улучшенной графикой, ИИ и скриптами,, было бы полезно упомянуть, какие именно подсистемы теперь работают в потоках , например- ИИ, анимации, звуки, физика?
кстати в оригинале версии 1.0-1.6, включая ТЧ, ЧН, ЗП были однопоточными, а модернизированные версии движка OGSR, EFP, Anomaly, OP-2.2 используют многопоточность

2025-05-03 21:24:24

Только многопоточность там максимально условная. То, что движки 64-битные, ещё не значит, что потоки нормально будут использоваться

2025-05-30 21:57:15

Полноценного распределения нагрузки по ядрам как в движках типо Unreal engine или Decima engine конечно там нет. Несколько знаю  в отдельные потоки идут- аудио, физика, логика маркеров передвижения,  скрипты несложные могут входить, типо спавна, диалогов начальных, чисто разгрузить основной поток.  Практический весь AI и сюжетные геймплейные скрипты по прежнему в главном потоке. 
Улучшение есть, но кардинального прироста особо нет, согласен.

2025-05-31 09:59:05

однако хотел бы добавить, что в тех же Ogsr, Anomaly, Op 2.2 данная "условная" многопоточность даёт хоть и ограниченный, но реальный прирост произволдительности особенно в ситуациях, где можно частично разгрузить основной поток, по fps это очень заметно видно как в закрепленных скринах, то есть fps поднимается и до 50% что просто замечательно

2025-05-31 10:10:06
Вы не можете отправлять комментарии так, как не АВТОРИЗОВАНЫ
> Alehandro, ну, про оп модно подобное то же сказать)
2025-07-28 21:33:00
> _Dragon-Lord_, почему-то название мода не отобразилось(
2025-07-28 21:20:04
> Alehandro, не из фриплейных я как-то проходил , и там есть босс... Если я не ошибаюсь, зовут его - Гильза, и вот этот друган, чуть-ли не выносит главного героя с 2-3 попаданий, а помещение это - узкий трубчатый подвал
2025-07-28 21:19:01
> Ognom, ходи по зоне, ищи на жопу приключений сам)
2025-07-28 21:14:14
> Alehandro, у фриплеев одна общая проблема - развлекай себя сам). По крайней мере у меня слово "фриплей" вызывает именно такие ощущения.
2025-07-28 21:11:20
> _Dragon-Lord_, не играю во фриплей, ещё начиная с оригинала CoC, мож и зря, но чёт не ломает меня, скок не пробовал.
2025-07-28 21:05:50
> Alehandro, на самом деле, некоторые авторы делают поблажки для игроков и сложность может в настройках практически полностью меняться, в плоть до экономики и баланса оружия, чем собственно и подкупает та же Аномали или Гамма... Но вот большинство других - новичков жанра совсем не жалеют :)
2025-07-28 21:00:21
> Ognom, ну ты ж коммент читал, максимально ни о чём.
2025-07-28 20:53:19
> _Dragon-Lord_, а ну пон, я то думал такой баланс автором мода задуман, тут типа не хочешь- не кушай. Вот я например соль новую прошёл с удовольствием, а ОП даже не собираюсь(пока).
2025-07-28 20:50:44
> Alehandro, я бы сам не прочь узнать. Потому что баланс может быть оружия, врагов или экономики
2025-07-28 20:49:35
> Alehandro, на самом деле, это вкусовщина, и не каждый любит (хард-моды)
2025-07-28 20:45:03
> Alehandro, возможно, люди имеют ввиду баланс сложности по отношению к , ну типа того - чтобы мутанты и сталкеры не ваншотали... Ну или баланс того, чтобы попросту через кусты не палили через пол карты, в одном из модов, у меня данная ситуация была))
2025-07-28 20:42:21
> Ognom, вот мож ты шаришь за баланс? Я вообще не в курсах)
2025-07-28 20:29:12
А то пишут в комментах, типа херовая модификация, тип баланса нет. Какого баланса бл.?
2025-07-28 20:25:07
А мне кто-нить может ответить, какой такой баланс люди ищут в Сталкере? Особенно в сюжетных модах. А то люди никак не сбалансируют.
2025-07-28 20:19:03
Всем здарова, Сталкеры!
2025-07-28 19:27:40
Всем добрый вечер
2025-07-28 17:51:15
Ну как сказать
2025-07-28 17:26:02
> Ognom, так веселее же было, не?
2025-07-28 13:44:04
> Alehandro, как раз я один раз такой топ и занял когда все в одной куче
2025-07-28 12:59:42
Авторизация