Дядя Миша

Дядя Миша 

Разработка игрового движка XashNT

26subscribers

15posts

goals1
0 of 2 000 paid subscribers
Чем больше подписчиков, тем быстрее будет продвигаться разработка

Темы для будущих статей

Здесь вы можете оставлять заявки, описание и принципы работы какой из игровых технологий вы хотели бы увидеть. Скорость появления напрямую зависит от количества желающих и обратно пропорциональна сложности выбранной темы.
Напоминаю, что статьи будут появляться только по вашим запросам, когда вы определите интересную для вас тему. В принципе достаточно пожелания даже одного подписчика.
Интересно было-бы почитать бесшовный игровой мир очень быструю загрузку при старте, как всё это реализовано и как работает.
Timofey Chernyshev, хорошо, в ближайшем будущем напишу
Про банки памяти и кастомные аллокаторы ещё было бы интересно почитать. Ты там упомянал, что загружают чанками, часть выгружают потом и пр. Ну т.е. как всё это организовано, какие интерфейсы торчат для управления, как оно между хостовой и гпу-шной памятью перекидывается по необходимости.
Timofey Chernyshev, тут дело в том, что все эти кастомные аллокаторы утратили былое значение, примерно с выходом Core2Duo, дефолтный malloc отлично справляется со всеми задачами. Я и сам не стал тут ничего изобретать, по крайней мере пока нет такой необходимости. Вобщем некоторые реализации malloc должны работать шустрее стандартного, но повторюсь, это уже очень спорно на современном железе. Между обычной и GPU-памятью, либо явная загрузка средствами драйвера, либо маппинг.
Неоднократно встречал ещё кейсы про "фрагментацию оперативной памяти", когда сильно её засирают, много раз удаляя и создавая объекты. Но, я так понимаю, всё это начинает сказываться когда памяти становится впритык, что на хосте в наши дни не актуально. А с видеопамятью что ни будь такое бывает?
Парадигма С++ предполагает динамическое выделение памяти для каждого объекта, объекты обычно маленькие, что способствует фрагментации. Но и malloc старается это учитывать. Видеопамять со стороны пользователя не контролируется в плане фрагментации. Может быть Vulkan позволяет что-то подобное, я его еще не изучал.
Go up