MihailRis / VoxelEngine-Cpp

Minecraft-like game engine in C++ with OpenGL
727 stars 76 forks source link

BUG #363

Closed jestsi closed 1 day ago

jestsi commented 2 days ago

Не очень оптимизированно, нужно поработать над сборщиком мусора. Был момент отлетел далеко, тепнулся на блоков 2000 в другое место. И видел как та местность с которой я тепнулся все еще загружена.

И еще, я заметил если кидать предметы, то они падают всегда четко под игроком.

10 гигов оперативки image

MihailRis commented 2 days ago

Какая дальность загрузки?

jestsi commented 2 days ago

Какая дальность загрузки? Максимальная 😅

jestsi commented 2 days ago

а еще с 5к блоков от 0 по x, z появляются артифакты. Чем дальше тем сильнее

MihailRis commented 2 days ago

Максимальная дальность - 80 чанков. Диаметр области 80 * 2 + 1 = 161 чанк. Итоговое число чанков при полной прогрузке: 161 * 161 = 25 921 Один воксель (блок) занимает 4 байта памяти. В чанке их 256 * 16 * 16 = 65 536. Плюс 2 байта к каждому вокселю - освещение. Итог - чанк занимает около 65 536 * (4 + 2) = 393 216 байта. Умножаем на число чанков и получаем 10 192 551 936 байт, что как раз примерно 10 ГБ. А чанки ещё и не единственное, на что идёт память.

MihailRis commented 1 day ago

Насчет остального.