Как обычно параллелят игровые процессы? Что то слышал про многопоточный

рендеринг, в чём он заключаеется вообще?

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

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

Но кажется хочется отвязать рендеринг от этого всего, то есть как минимум рисовать "параллельно" всей остальной игре, но тут сразу возникает синхронизация жесткая, как это принято решать?

15 ответов

70 просмотров

афаик заключается в том что комманд буфферы заполняешь с нескольких ядер и пото отправляешь на очередь

Kelbon- Автор вопроса
feedable
афаик заключается в том что комманд буфферы заполн...

а точно на синхронизации не потеряешь больше, складывая кучу обектов в один буфер? Ну хотя это можно хитро распараллелить чтобы убрать синхронизацию

Kelbon
а точно на синхронизации не потеряешь больше, скла...

Буферы можно иметь отдельные на каждый поток

Kelbon
а точно на синхронизации не потеряешь больше, скла...

ну так ты не складываешь с нескольких ядер на один буффер офк

KivApple
Буферы можно иметь отдельные на каждый поток

Там только очередь буферов общая, но в неё ты сабмитишь один раз за кадр или что-то такое

Kelbon- Автор вопроса
feedable
ну так ты не складываешь с нескольких ядер на один...

ну короче это надо напрямую вулкан юзать

Kelbon
ну короче это надо напрямую вулкан юзать

или так или юзать полностью готовый движок

то что ты описал это fork-join, как по мне отличный вариант, обмазать таск системой на корутинах/экзекуторах запилить

Kelbon
ну короче это надо напрямую вулкан юзать

да, рендер сам по себе не на всех gapi можно распараллелить?

disba1ancer
то что ты описал это fork-join, как по мне отличны...

я не видел нигде, где бы это называлось fork-join, кроме джавы и юникса :)))

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

Kelbon- Автор вопроса
disba1ancer
Cow, как вариант

какой смысл, если ты знаешь что будешь менять

Kelbon
какой смысл, если ты знаешь что будешь менять

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

Kelbon- Автор вопроса
disba1ancer
Обычно твои данные это не супер мега блоб, который...

ну нет, у объектов каждый кадр меняются физические координаты уж точно

Похожие вопросы

Обсуждают сегодня

Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Вот еще странный косяк, подскажите как бороться. Я git clone сделал себе всего embassy и примеры там запускаю. Всё хорошо. Но вот решил в cargo.toml зависимости не как в приме...
Lukutin R2AJP
5
А в каком формате фреймы? Сам формат сейчас придумываешь, или что-то готовое нужно распарсить?
Okhsunrog
5
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Добрый вечер, Пока не совсем понимаю как наладить общение между телеграм ботом и ПО для работы с сим боксом. По самому боту так понял: - Нужен некий баланс, который можно поп...
Magic
6
Всем привет, нужна как никогда, нужна помощь с IO в загрузчике. Пишу в code16 после установки сегментных регистров, пишу вывод символа. Пробовал 2 варианта: # 1 mov $0x0E, %a...
Shadow Akira
14
Раз начали говорить про embassy, то присоединюсь со своими парой вопросов. 1) Есть ли сопоставимые аналоги для асинхронного кода в emdebbed? 2) Можно ли внутри задач embassy ...
NI_isx
6
сделал сайт, прикрутил в боте сайт, и виджет логина. как автоматически логинить пользователя в аккаунт(телеграм), при входе с бота?
Александра Чернивецкая
5
Карта сайта