6

Relict Engine: DevLog 20260517

Серия Relict Engine

Краткий список изменений

  • Добавлен интерфейс IWorkerThread

  • Добавлен класс RenderThread

  • Добавлена обработка очереди сообщений

  • Добавлен функционал проверки текущего контекста потока в рамках привязанного контекста к мета классу

  • Добавлено ограничение по минимальному времени тика в главном потоке (по умолчанию 60 раз в сек)

  • Изменена работа Сборщика мусора для работы с разными контекстами потоков

  • Изменена работа тика ThreadManager таким образом, чтобы он мог тикать обособленно в каждом отдельном потоке

  • Изменена работа тикера для работы с разными контекстами потоков для правильной работы флагов ClassInitializer

  • Исправлен access_violation при удалении RenderObject в случае, если он привязан к уже удаленному VAO

Комментарий

Ну вот мультипоточность и заработала. Есть еще косяки в Сборщике мусора, и возможно еще по ходу дела вылезут, но тем-не-менее я доволен как слон.

Ну и результат на большом fps:

Правила сообщества

ОБЩИЕ ПРАВИЛА:

- Уважайте чужой труд и используйте конструктивную критику

- Не занимайтесь саморекламой, пишите качественные и интересные посты

- Никакой политики


СТОИТ ПУБЛИКОВАТЬ:

- Посты о Вашей игре с историей её разработки и описанием полученного опыта

- Обучающие материалы, туториалы

- Интервью с опытными разработчиками

- Анонсы бесплатных мероприятий для разработчиков и истории их посещения;
- Ваши работы, если Вы художник/композитор и хотите поделиться ими на безвозмездной основе

НЕ СТОИТ ПУБЛИКОВАТЬ:

- Посты, содержащие только вопрос или просьбу помочь
- Посты, содержащие только идею игры

- Посты, единственная цель которых - набор команды для разработки игры

- Посты, не относящиеся к тематике сообщества

Подобные посты по решению администрации могут быть перемещены из сообщества в общую ленту.

ЗАПРЕЩЕНО:

- Публиковать бессодержательные посты с рекламой Вашего проекта (см. следующий пункт), а также все прочие посты, содержащие рекламу/рекламные интеграции

- Выдавать чужой труд за свой

Подобные посты будут перемещены из сообщества в общую ленту, а их авторы по решению администрации могут быть внесены в игнор-лист сообщества.


О РАЗМЕЩЕНИИ ССЫЛОК:

Ссылка на сторонний ресурс, связанный с игрой, допускается только при следующих условиях:

- Пост должен быть содержательным и интересным для пользователей, нести пользу для сообщества

- Ссылка должна размещаться непосредственно в начале или конце поста и только один раз

- Cсылка размещается в формате: "Страница игры в Steam: URL"

Вы смотрите срез комментариев. Показать все
0
Автор поста оценил этот комментарий

Я всё-таки спрошу ещё раз: чего же нет в unity/UE4 что требуется пилить целиком свой движок?

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Ну, за юнити я говорить ничего не буду, ибо не использую его исключительно по религиозным соображениям (не люблю #)


А касательно анрила таки имею сказать:
1) Любая надстройка над трансформами добавляет оверфлоу по call вызовам, причем довольно дикий в 2,3n, просто потому что прямого доступа к ним не получить. А если очень хочется, то придется пересобрать ВЕСЬ GameFramework модуль.

2) Сеть. Штатная система реплики ужасна (новая не исключение, хоть и слегка получше). Переписыванию не поддается, ибо там уровень репликации - это портянка на несколько десятков тыщ. строк кода, которая еще и не документирована. Внешние обычно платные и привязаны к какому-то конкретному облаку.

3) Вообще, ядро анрила документировано ровно никак. Сиди ковыряйся по колл стэку.

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

5) Ну и на последок, UE5, я считаю, ушел куда-то очень не туда. Это какой-то монстр для синиматиков, но не игровой движок.


Так что, в этом плане можно просто нафиг весь движок выбрасывать; оставить только рендер (причем от UE4, а не 5), а все остальное нафигачить самому. А раз один фиг писать все, то почему бы и рендер тоже не написать? В конце-концев торопится мне особо некуда.


Однако я не считаю, что UE плохой движок. Нет, он хороший, но под конкретные проекты. Проблемы с ним начинаются только тогда, когда проект несколько не стандартен.

Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества