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

Anomaly BE Engine + Modded exes | by Blue Eclipse Team

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

 

Наш новый движок Anomaly BE Engine на базе оригинального кода xray-monolith версии 1.5.3

Внимание!!! Фиксы установлены самые последние от 28.10.25 из Modded Exes поверх движка, но интерфейс ImGui не ставили!! (из-за ненадобности) поэтому моды на его базе работать не будут!

Разрабатывается под нужды нашей 3-ей версии сборки.

Основная фича:

Движок использует нестандартный для сталкера способ управления потоками. Наша новая библиотека для работы с потоками автоматизирует управление жизненным циклом потоков и может значительно разгружать нагрузку на ЦП и контролировать память при необходимости.

Особенности:

  • Добавлена небольшая правка в скрипты Modded exes чтобы можно было отличить Anomaly BE Engine от Modded Exes и AOE. Строка с версией игры автоматически перехватится после установки патча.
  • Полностью изменен принцип работы многопоточной системы, Основные потоки работают асинхронно.
  • Анимации предметов будут работать более плавно за исключением тех, в которых есть разрыв кадра.
  • При спавне нескольких NPC подряд нагрузка на CPU разгружается заметно быстрее.
  • Параметр -max-threads - теперь позволяет создавать дополнительные потоки для разгрузки Нагрузки на Процессор(Может включаться автоматически при длительной большой нагрузке более 70% в течение 3-х секунд если Основные потоки не справляются).
  • Полная совместимость с стандартной Anomaly и со всеми сборками модов!
  • Благодаря модернизации движка для игроков со слабыми ПК восстановлены старые методы освещения и детализации.
  • Загрузка локаций, инвентаря, КПК и игровой процесс происходит заметно стабильнее и быстрее.
  • Улучшенный отладчик позволит не только увидеть ошибки в скриптах после вылета, а так же цепочку вызова функций и методов C++ внутри движка для более быстрого устранения внутренних проблем.
  • Устранен баг с черным экраном и потерей управления(последнее надо проверять, баг очень редко встречается).

DirectX 8, 10, 11 Доступен! :u1F60A:

Минус:
DirectX 9 находится в доработке! :u1F92E:

Спойлер

AnomalyDX8.exe | MD5 hash: 9d6be3d83255dfd1430fb8d103dd5eff
AnomalyDX10.exe | MD5 hash: fe5102f1103877feaea6a1adae080a60
AnomalyDX11.exe | MD5 hash: 974aa492ea7875817ce1bd472866c480

Спойлер

Автор аддона Modded Exes: themrdemonized - репозиторий на гитхабе: тык
Автор модификации движка: 0x5CE3C

Помимо этого ссылки на авторские права указываются прямо при запуске в лог файле!
Там же вы найдёте даты обновления(LDU) нашего движка и версию встроенных фиксов из Modded Exes.

Спойлер

- Вырезан Решейд для DirectX 8 из-за несовместимости с некоторыми сборками.
- На данный момент система распределения ресурсов отлично работает на DirectX 8(AnomalyDX8.exe), 10, 11. От выбранного DirectX это не зависит (разница только в нагрузке из-за более современных технологий освещения: частиц, наложения визуальных эффектов и обработке данных).

- Исправлены функции создания множества потоков вместе с объектом, но после использования потока объект не удалялся, что со временем приводило к неизбежному вылету на любом ПК с пустым stack trace в логе.

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

- Удалена функция SetThreadAffinityMask.

- Обновлен метод резервирования свободной памяти на SSD и Жестких дисках при нехватке памяти на более современный аналог, улучшен код для более быстрого доступа к кластерам L1, L2, L3 кэша процессора.

- Система распределения нагрузки работает в двух режимах:
1) Асинхронный - актуален для ПК с 1-2,4 ядрами(стандартный режим Anomaly), оптимизация достигается за счет многопоточности.

2) Использование дополнительных потоков - актуален для ПК с 4 и более ядрами. Второй режим включается автоматически, но можно принудительно включить с помощью задания параметра запуска "-max-threads" к вашему процессу Anomaly. Так же это действие можно сделать открыв файл commandline.txt, дописав "-max-threads" в новой строке.

пример:
-nointro
-noramtex
-dbg
-max-threads

- Изменения в DirectX11:

  •  Изменён способ отражения света от объектов из-за чего криво рассеивалась тень, отражения от света, тени от объектов были с неправильным углом.
  • Немного улучшен стандартный метод рисования кадров(немного ускоряет прогрузку динамических кадров, эффектов и частиц).
Спойлер

ModifiedAnomalyEngine.zip | Yandex Disk | 23,6 MB

Установка:

1) На оригинальную версию игры без Mod Organizer'a 2:
1.1) файлы AnomalyDX*.exe копировать в папку bin с заменой файлов.
1.2) папку gamedata из каталога modded_exes_patch в архиве копировать в директорию с игрой с заменой файлов.
=======

Сборщикам сборок!!! Фиксы установлены самые последние от 28.10.25 из Modded Exes поверх движка, но интерфейс ImGui не ставили!! (из-за ненадобности) поэтому моды на его базе работать не будут!

=======
2) На любую сборку Anomaly с MO2:
2.1) 1.1.
2.2) папку modded_exes_patch копировать в папку с модами MO2.
2.3) в МО2 установить для мода 'modded_exes_patch' желательно самый высокий приоритет.
=======

 

Изменено пользователем 0x5ce3c
  • Лайк 1
  • Дурка 1
  • Смущение 1
  • Хабар 1

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


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

круто. а где сорсы?

Изменено пользователем LVutner
  • Лайк 1

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


Ссылка на сообщение
Поделиться на другие сайты
 
В 07.06.2025 в 21:23, 0x5ce3c сказал:

на DirectX8

У движка X-Ray никогда (кроме билдов S.T.A.L.K.E.R. Oblivion Lost до 2003 года) не было поддержки DirectX 8. Статическое освещение во всей трилогии (а соответственно и в модах по типу Anomaly) было на DirectX 9. Достаточно RivaTuner открыть, и истина предвстанет перед вами.

  • Жму руку 1

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


Ссылка на сообщение
Поделиться на другие сайты
 
В 07.06.2025 в 21:23, 0x5ce3c сказал:

Многоядерный режим(использование функции SetThreadAffinityMask)

Ладно


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

image.thumb.png.86d1f2decdf7c0fa25863f357c09cfda.png

Вот бы ещё нагрузку хотя б такую на эти ядра 

  • Сталкерский лайк 1
  • Хабар 1

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

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


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

ForserX Хотелось бы, но нагрузка (при старте локации или загрузке сохранения после запуска игры) может быть как в стандартной Anomaly, потому что создание потоков я не менял, оно работает в цикле, но затем потоки распределяются по ядрам процессора, в зависимости от того какое ядро нагружено меньше всех.


Дополнено 4 минуты спустя
В 09.06.2025 в 01:07, LVutner сказал:

круто. а где сорсы?

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

  • Смущение 1

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


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

Привет 0x5ce3c. Попробовал установить твой фикс на сборку Аномали-медиум. Та сборка просто распаковывается и играется, без Мод-оргонайзера (его нет в корне игры). Соответственно замена папок "геймдата и бин" не помогла, игра не запускается. Подскажи пожалуйста, что мне надо сделать. Уж больно интересна идея поиграть в многоядерном режиме игры. Заранее спасибо.

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


Ссылка на сообщение
Поделиться на другие сайты
 
5 часов назад, KREPATURA сказал:

Привет 0x5ce3c. Попробовал установить твой фикс на сборку Аномали-медиум. Та сборка просто распаковывается и играется, без Мод-оргонайзера (его нет в корне игры). Соответственно замена папок "геймдата и бин" не помогла, игра не запускается. Подскажи пожалуйста, что мне надо сделать. Уж больно интересна идея поиграть в многоядерном режиме игры. Заранее спасибо.

KREPATURA Приветствую! Хотелось бы уточнить: какая версия сборки, так как автор предлагает 2-ю и 3-ю, и были ли в папке gamedata файлы требующие замену? Что касается запуска, можно попробовать заменить только файлы AnomalyDX*.exe из папки bin и запустить так. Если проблема все равно происходит, то надо делать совместимость.

Изменено пользователем 0x5ce3c

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


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

Как я понял вся соль в задании соответствия логическим процессорам? Сие не дает никакого прироста в производительности. Можно ведь просто зайти в тот же диспетчер задач, ткнуть галочку соответствия процессоров будет идентичный результат, но в этом нет абсолютно никакого смысла.

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


Ссылка на сообщение
Поделиться на другие сайты
 
В 13.06.2025 в 13:36, Коропасий сказал:

Как я понял вся соль в задании соответствия логическим процессорам? Сие не дает никакого прироста в производительности. Можно ведь просто зайти в тот же диспетчер задач, ткнуть галочку соответствия процессоров будет идентичный результат, но в этом нет абсолютно никакого смысла.

Коропасий Возможно вы невнимательно прочли первый абзац темы, а именно:
Суть проблемы:
По умолчанию номер потоков неправильно захватывался, так же все создаваемые потоки принудительно присваивались на 1 логический процессор(1 ядро).


Даже если вы задаете через диспетчер задач сходство, нагрузка всё ровно перейдёт на следующее ядро!!! Проблема кроется внутри самой программы AnomalyDX*.exe, потоки принудительно задаются на 1-е ядро через внутренний планировщик потоков, функция SetThreadAffinityMask, в то время как, вы через внешнюю программу, Диспетчер задач, по простому, отключаете видимость определенных ядер для процесса AnomalyDX*.exe.

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


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

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

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

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

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

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

Войти

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

Войти

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

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