Сталкер: new project - внедрение многопоточности

2025-05-02 16:42:07

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

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

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

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

разработка системы многопоточности
команда Сталкер: new project разработала собственный планировщик распределения и выполнения многопоточных задач, который способен правильно распределить задачи по имеющимся потокам, учитывая их загруженность и приоритеты задач. так же была проведена очень трудоемкая и сложная работа по адаптации оригинального кода под возможность параллельного выполнения большого количества вычислительных задач.
проделанная работа дала свои плоды и fps значительно вырос. разницу можно увидеть на скриншотах ниже
1) без многопотока [fps: 9] 2) вкл. многопоточность только ориг. движка [fps: 14] 3) вкл. многопоточность для new project [fps: 73]

таким образом благодаря системе многопоточности разработчикам удалось настолько сильно повысить производительность движка игры, что дало возможность реализовать все идеи по level-дизайну и геймплею без ущерба производительности.
источник: Сталкер: 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
Вы не можете отправлять комментарии так, как не АВТОРИЗОВАНЫ
> Ю Юлия, по тоннелям
2026-04-16 21:07:23
> Керчик-Перчик, не помогает. Снёс нафиг.
2026-04-16 14:05:46
как выбраться из пещеры с ящиком коряги💀
2026-04-15 21:30:06
> kapa, а может кнопку зажимать нужно?
2026-04-15 18:31:21
> Керчик-Перчик, на часах отображается и голод и здоровье и ещё что-то. Но вот часы на экране отображаются буквально на секунду, и не возможно даже понять ,что именно там показывается. Узнал об этом чисто случайно, нажав на паузу в момент "вылета" руки на экран. Почему нельзя сделать так ,чтоб при нажатии кнопки рука появлялась на экране, а при повторном убиралась?
2026-04-15 16:56:24
настройках*
2026-04-14 16:54:26
> kapa, поройся в насройках управления
2026-04-14 16:54:20
> Керчик-Перчик, у меня худ это полоска внизу экрана, как в С2, где показывается типа направления и расстояние. А вот на часах у меня только время суток, отсчёт времени типа секундомера и ещё что-то, но здоровья и радиации я не нашёл. Тем более мне в игре ещё ни разу не попадался дозиметр ни у кого и нигде.
2026-04-14 09:42:20
> kapa, и ещё как минимум здоровье показывается на часах
2026-04-13 17:30:05
> kapa, у Фладара увидел в настройках управления есть показать\скрыть худ
2026-04-13 17:10:25
> kapa, может вырезали? Только что посмотрел, Мануэль без худа проходил
2026-04-13 17:02:35
> kapa, а как же люди раньше проходили ?
2026-04-13 16:23:06
> kapa, дак прямо на экране справа внизу, шкала здоровья, а ниже нее цифры это скок радейки в организме
2026-04-13 08:17:39
> Керчик-Перчик, привет. Там не т прямого доступа ,чтоб сделать правку. А распаковывать не хочется. А настроек худа нет, всё посмотрел - пусто.
2026-04-12 13:16:57
> kapa, если скорость дальность и можно добавить то по классике, а шкалы здоровья и т.д. попробуй найти в настройках худа\интерфейса
2026-04-12 13:12:14
Всем МЯУ! Народ, подскажите, как в ТТ2 огср прибавить скорость бега или увеличить длину прыжка? С теми возможностями .что забиты в игре никак не получается перепрыгнуть с дома на дом. Раз 20 (если не больше) прыгал и всё время не долетаю. И ладно бы чуть-чуть, так ведь примерно четверть расстояния не допрыгиваю.
2026-04-12 11:59:34
> Madcap, подскажи, ГДЕ? Я не смог найти этих параметров.
2026-04-12 11:20:34
> kapa, установил тт2 огср, так что там не понятного? есть показатель здоровья и ниже него цифры показатель радейки, все работает
2026-04-11 20:22:34
> kapa, в огср не знаю, а в обычной нужен был дозиметр на поясе и на клавишу "таб" нажимаешь и там уровень радиации
2026-04-11 19:22:19
Авторизация