Size: a a a

RU Rust GameDev — русскоговорящее сообщество

2020 December 01

NV

Nikita Vilunov in RU Rust GameDev — русскоговорящее сообщество
Mikola Summer Duck
Почему нельзя?
потому что всем системам нужно писать в компоненты, которые используются для рендеринга, а ECS с двойным стейтом вроде как никто не делает
источник

MS

Mikola Summer Duck in RU Rust GameDev — русскоговорящее сообщество
Nikita Vilunov
потому что всем системам нужно писать в компоненты, которые используются для рендеринга, а ECS с двойным стейтом вроде как никто не делает
Потому что это не нужно. Обычно ты для рендеринга используешь отдельный формат данных, в который конвертируешь данные из мира. Так что это можно делать как залочил -> сконвертировал мир в промежуточную репрезентацию для рендера -> разлочил -> рендеришь никому не мешая.
источник

NV

Nikita Vilunov in RU Rust GameDev — русскоговорящее сообщество
Mikola Summer Duck
Потому что это не нужно. Обычно ты для рендеринга используешь отдельный формат данных, в который конвертируешь данные из мира. Так что это можно делать как залочил -> сконвертировал мир в промежуточную репрезентацию для рендера -> разлочил -> рендеришь никому не мешая.
Где на расте практикуется такой подход для рендеринга? Я щас тыкаюсь в bevy, там делают такую промежуточную репрезентацию или всё же блочат мир на время всего рендера?
источник

MS

Mikola Summer Duck in RU Rust GameDev — русскоговорящее сообщество
Ну в моей велосипедной игре практикуется, не знаю как в других движках 😁
источник

MS

Mikola Summer Duck in RU Rust GameDev — русскоговорящее сообщество
Могу выложить свою рендерсистему на миникваде, ее 300 строк там.
источник

NV

Nikita Vilunov in RU Rust GameDev — русскоговорящее сообщество
Mikola Summer Duck
Ну в моей велосипедной игре практикуется, не знаю как в других движках 😁
а у тебя и фикседстеп?
источник

MS

Mikola Summer Duck in RU Rust GameDev — русскоговорящее сообщество
Ну у меня сейчас в принципе фикседстеп 60к/с, потому что не хочу морочиться. Но ничто не мешает залочить конкретные куски логики под фикседстеп методом выше.
источник

NV

Nikita Vilunov in RU Rust GameDev — русскоговорящее сообщество
Mikola Summer Duck
Потому что это не нужно. Обычно ты для рендеринга используешь отдельный формат данных, в который конвертируешь данные из мира. Так что это можно делать как залочил -> сконвертировал мир в промежуточную репрезентацию для рендера -> разлочил -> рендеришь никому не мешая.
то есть подразумевается что создание промежуточной репрезентации настолько дешево и мимолетно, что лочить всю логику некритично?
источник

MS

Mikola Summer Duck in RU Rust GameDev — русскоговорящее сообщество
Если раскошелюсь на 144гц монитор
источник

MS

Mikola Summer Duck in RU Rust GameDev — русскоговорящее сообщество
Nikita Vilunov
то есть подразумевается что создание промежуточной репрезентации настолько дешево и мимолетно, что лочить всю логику некритично?
По сравнению с вычислениями копирование [почти] всегда дешевле.
источник

AI

Alex Ilizarov in RU Rust GameDev — русскоговорящее сообщество
Nikita Vilunov
ну и ещё неприятно что пока рендеринг идёт, ничего параллельно вычислять нельзя
А что ты во время рендеринга считать хочешь? Будешь снапшот мира делать?
источник

MS

Mikola Summer Duck in RU Rust GameDev — русскоговорящее сообщество
А тут точно будет дешевле, так как ты выбираешь между (1) копированием под локом и (2) копированием + вычислениями под локом.
источник

MS

Mikola Summer Duck in RU Rust GameDev — русскоговорящее сообщество
Alex Ilizarov
А что ты во время рендеринга считать хочешь? Будешь снапшот мира делать?
Следующий кадр, чо.
источник

MS

Mikola Summer Duck in RU Rust GameDev — русскоговорящее сообщество
Заботы об инпут латенси для слабых духом.
источник

MS

Mikola Summer Duck in RU Rust GameDev — русскоговорящее сообщество
(не шутка в зависимости от жанра игры)
источник

NV

Nikita Vilunov in RU Rust GameDev — русскоговорящее сообщество
Alex Ilizarov
А что ты во время рендеринга считать хочешь? Будешь снапшот мира делать?
Следующий тик игрового стейта, почему нет
источник

ВМ

Виталий Медоваров... in RU Rust GameDev — русскоговорящее сообщество
Как у ноти догс короче
источник

ВМ

Виталий Медоваров... in RU Rust GameDev — русскоговорящее сообщество
Но ноти догс для этого пришлось заюзать файберы
источник

NV

Nikita Vilunov in RU Rust GameDev — русскоговорящее сообщество
Виталий Медоваров
Как у ноти догс короче
у кого
источник

ВМ

Виталий Медоваров... in RU Rust GameDev — русскоговорящее сообщество
Naughty Dogs когда портировали анчартед с пс3 на пс4 сделали просчёт следующего кадра во время рендера
источник