2013-11-26 2 views
1

Я делаю игру и должен хранить справедливую бит анимационных данных. Для каждого кадра у меня есть около 15 значений для хранения. Моя первоначальная идея состояла в том, чтобы иметь список объектов «frame», которые содержат эти значения. Затем я подумал, что могу просто иметь отдельные списки для каждого из значений и вообще пропускать объекты. Данные будут загружены один раз из файла XML при запуске игры. Я просто ищу совет здесь, либо лучше подходит (скорость, использование памяти, простота использования и т. Д.), Чем другой? Извините, если это глупый вопрос, все еще довольно новый и не нашел никакой информации о таких вещах. (PS: это 2D-игра со спрайтами, поэтому 1 кадр! = 1 кадр экрана. Я оцениваю где-то около 500-1000 кадров)Данные игры - массивы экземпляров или массивы значений?

+0

что делает данные, которые описывают? – Tigran

+0

Скорее всего, сохранение экземпляров объектов «Frame» будет лучше, потому что это упростит и упростит структуру данных. –

+0

Почему вы хотите сохранить их в списках? –

ответ

0

Если данные анимации не изменяются, вы можете использовать структуру вместо класса, который сочетает в себе «пространство имен» объектов с «значением-типичность» примитивов. Это приведет к тому, что все значения одного кадра будут находиться в одном и том же пространстве и сохранят некоторые ошибки памяти и страницы.

Просто убедитесь, что размер ваших массивов не приведет вас к LOH, если вы намереваетесь распределять и освобождать их часто.

+0

Спасибо за информацию, я дам это. Данные никогда не будут меняться после загрузки, так что это не проблема. – Elliot

0

вы создаете анимацию Таким образом, вы должны иметь в виду несколько основных вещей of.net:

  • Struct создается на стеке. Таким образом, быстрее создавать (и уничтожать) структуру, чем класс.

  • С другой стороны, каждый раз, когда вы назначаете структуру или передаете ее функции, она копируется.

  • вы можете пройти по ссылке-структуру, просто указав реф в списке параметров функции

Так будет лучше иметь в виду это вещи

+0

ура, я буду помнить об этом. – Elliot

Смежные вопросы