Распределители для игрового движка

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

Я знаю. Некоторых это немного беспокоит, поэтому я думаю, что мне нужно немного оправдать свою позицию. Я прочитал ответы здесь и здесь (а также блоги, которые они указывают на здесь , здесь и здесь ]). Но видите ли, я пробовал «сначала создать игру, снова и снова, а затем код, который вы повторно используете, будет вашим« движком »», и у меня это не совсем сработало. Я обнаружил, что на самом деле увяз в тех вещах, которые делал снова и снова (вероятно, не очень хорошо повторно использовал свой код), и не продвинулся далеко ни в одной игре.

Итак, я решил, что буду кодировать эти вещи, которые я использовал снова и снова, еще раз ... сделай это один раз и отложи в сторону.

Я действительно оказался не в своей лиге, поэтому я купил несколько книг. Архитектура игрового движка от Джейсона Грегори (GEA) действительно хороша, кстати, но у меня также есть Game Coding Complete (McShaffry) и Programming Game AI by Example (Бакленд). У GEA есть несколько действительно хороших идей о высокопроизводительных распределителях, и это меня очень заинтересовало, поэтому я решил попробовать.

Я написал распределитель на основе стека и почти закончил распределитель на основе пула. Оба имеют емкость для выравнивания памяти и могут быть назначены для работы с разными бюджетами памяти (т. Е. Любой распределитель может, например, использовать «розничную» память или память «разработки» и т. Д.). Я обнаружил, что просто создание этих компонентов очень полезно с точки зрения моих навыков программирования / уровня интереса.

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

Опять же, оправдывая свой вопрос (я почти слышу, как люди шепчут: «Просто сделайте свою собственную игру и посмотрите, какие структуры вам нужны ...», но. ..) Архитектура игрового движка была для меня таким отличным ресурсом, потому что автор беззастенчиво говорит: «Эй, это то, чем в основном занимается индустрия». И это сэкономило бы мне много времени на написание целой кучи игр и выяснение того, что из них полезно, если бы кто-нибудь мог сделать «повторное использование опыта» и сказать «подумайте об этой структуре».

5
задан Community 23 May 2017 в 12:19
поделиться