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
Вы не можете отправлять комментарии так, как не АВТОРИЗОВАНЫ
> Тихий-1986, под НГ были новости. Скрины какие-то
2025-06-06 02:32:25
Как будто умер
2025-06-06 00:22:07
А по legend returns есть новости?
2025-06-06 00:21:54
Спокойной ночи
2025-06-05 23:48:10
> Ognom, Что произошло?)
2025-06-05 22:45:03
да, всё таки сложность игры. переключаю на экстрим (вторая сложность) и убивают. не знаю специально так или баг в скриптах, но видимо приёдтся переходить на новую сложность
2025-06-05 22:40:51
поменял сложность на экстрим и сдох моментально от пульки. походу сложность "разминка" для меня теперь слишком лёгкая)
2025-06-05 22:36:27
я только от радиации получаю урон
2025-06-05 22:34:22
> Dzgamir, так я это уже давно прошёл
2025-06-05 22:33:43
Снять все арты, снять фуфайку, проверять в аномалии... ))д
2025-06-05 22:30:17
> Ognom, такое часто писали, когда по сюжету в пещере неуязвимые были. "Во сне"
2025-06-05 22:28:35
> StaLker_Dan, ещё устанавливается
2025-06-05 22:21:05
> Ognom, Ну как переустановил, исправился баг
2025-06-05 22:20:35
> StaLker_Dan, у меня за всё время вылетов мало было, да и баговалось мало а тут на тебе
2025-06-05 22:19:08
> Ognom, Ну ОП довольно багнутое и встретить очередной баг не проблема
2025-06-05 22:18:06
> StaLker_Dan, попробую переустановить. у кого го проблема была в том, что он типа бессмертие временное врубил и баганулось. ктото пишет что изза правок, хотя у меня кроме спавнера ничего нету
2025-06-05 22:03:50
> Ognom, Может в настройках че или посмотри в интернете по этому поводу
2025-06-05 22:01:05
> Ognom, Ну тогда фиг знает, всевдо баг аномальный какой-то произошел и не удивительно это же ОП🤔
2025-06-05 21:59:38
> StaLker_Dan, да я уже попробовал - то же самое
2025-06-05 21:58:15
> Ognom, Попробуй загрузиться в другом сейфе
2025-06-05 21:56:24
Авторизация