Size: a a a

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

2020 January 24

S

SET001 in RU Rust GameDev — русскоговорящее сообщество
у меня, допустим, здоровенная тайловая карта я могу рендерить только то что попадает в камеру и дорисовывать по мере передвижения камеры или могу отрендерить все сразу
источник

S

SET001 in RU Rust GameDev — русскоговорящее сообщество
будет ли какой-то импакт если отрисовать все сразу?
источник

SZ

Stas Zubenko🦄 in RU Rust GameDev — русскоговорящее сообщество
SET001
будет ли какой-то импакт если отрисовать все сразу?
будет, поэтому традиционно используеться
- LOD
- Occlusion culling
- View-Frustum Culling
источник

SZ

Stas Zubenko🦄 in RU Rust GameDev — русскоговорящее сообщество
SET001
если я нарисую двести спрайтов или две тысячи ли два миллиона, будет ли какое различие по производительности/памяти
по памяти - у тебя будет только одна копия спрайта(ну если это одни и те же) + координаты всех спрайтов
по производительности - больше рисуешь больше времени тратишь
источник

S

SET001 in RU Rust GameDev — русскоговорящее сообщество
да я 2д спрайты рисую, какой лод
источник

SZ

Stas Zubenko🦄 in RU Rust GameDev — русскоговорящее сообщество
SET001
да я 2д спрайты рисую, какой лод
а, тю, я не осознал, тогда да, есть смысл рисовать только то что в кадр попадает
источник

S

SET001 in RU Rust GameDev — русскоговорящее сообщество
Stas Zubenko🦄
по памяти - у тебя будет только одна копия спрайта(ну если это одни и те же) + координаты всех спрайтов
по производительности - больше рисуешь больше времени тратишь
ну разновидностей тайлов у меня не много, координаты ничего не стоят, копейки по весу, зато если прорисовывать все целиком каждый цикл то за счет этого могут быть проседания? все таки лучше следить за набором тайлов которые входят в видимое окно и перересовыать только их..
источник

SZ

Stas Zubenko🦄 in RU Rust GameDev — русскоговорящее сообщество
SET001
ну разновидностей тайлов у меня не много, координаты ничего не стоят, копейки по весу, зато если прорисовывать все целиком каждый цикл то за счет этого могут быть проседания? все таки лучше следить за набором тайлов которые входят в видимое окно и перересовыать только их..
ну даже координаты передавать для 2ух млн спрайтов - не самое дешевое занятие с точки зрения производителньости
источник

S

SET001 in RU Rust GameDev — русскоговорящее сообщество
внатуре
источник

S

SET001 in RU Rust GameDev — русскоговорящее сообщество
ух, значит сейчас буду имплементить это все
источник

SZ

Stas Zubenko🦄 in RU Rust GameDev — русскоговорящее сообщество
сам подумай, 60кадров*2млн спрайтов*2 коориднаты*4байта...

хотя выходит 1гб/с что наверное не так и много
источник

S

SET001 in RU Rust GameDev — русскоговорящее сообщество
надо наверное просто поэксперементировать и нащупать те объемы когда стоит запариваться а когда и нет
источник

IB

Ilya Bogdanov in RU Rust GameDev — русскоговорящее сообщество
SET001
а к какому такому событию можно надежно привязатся которое гарантированно будет приходить с одной и той же частотой?
везде используют delta time. Считаешь сколько времени прошло с предыдущего кадра (обычно доли секунды), умножаешь все изменения координат (или других значений) на это число
источник

IB

Ilya Bogdanov in RU Rust GameDev — русскоговорящее сообщество
SET001
ну разновидностей тайлов у меня не много, координаты ничего не стоят, копейки по весу, зато если прорисовывать все целиком каждый цикл то за счет этого могут быть проседания? все таки лучше следить за набором тайлов которые входят в видимое окно и перересовыать только их..
раз разновидностей немного, стоит использовать инстансинг
источник

S

SET001 in RU Rust GameDev — русскоговорящее сообщество
Вижу, у пистона вродь как можно указать фпс, если так, это избавит гемора с учётом дельты в перемешениях
источник

S

SET001 in RU Rust GameDev — русскоговорящее сообщество
Ilya Bogdanov
раз разновидностей немного, стоит использовать инстансинг
Что за инстансинг?
источник

SZ

Stas Zubenko🦄 in RU Rust GameDev — русскоговорящее сообщество
SET001
Вижу, у пистона вродь как можно указать фпс, если так, это избавит гемора с учётом дельты в перемешениях
обычно правильно все таки использовать дельту, а не фпс
источник

SZ

Stas Zubenko🦄 in RU Rust GameDev — русскоговорящее сообщество
потому что если у кого то будет в игре медленее фпс, то и игра вся будет медленеее идти
источник

SZ

Stas Zubenko🦄 in RU Rust GameDev — русскоговорящее сообщество
SET001
Вижу, у пистона вродь как можно указать фпс, если так, это избавит гемора с учётом дельты в перемешениях
еще, часто, особенно в сетевых играх я замечал что существует разделение на TPS и FPS, одно говорит сколько апдейтов игрового лупа, второе сколько апдейтов кадров в секунду
источник

IB

Ilya Bogdanov in RU Rust GameDev — русскоговорящее сообщество
SET001
Что за инстансинг?
погугли instanced rendering. Рисуешь один объект, но с разными координатами. Если нужно отрисовать тысячу кубов, инстансинг почти настолько же быстр, как и отрисовка одного куба
источник