Как определить размер экземпляра AUSampler? - PullRequest
1 голос
/ 12 марта 2012

Как узнать, сколько памяти используется экземпляром для AUSampler (включая, предположительно, размер данных soundFont).

Я попробовал простой sizeof (ниже), но это не дает мне ничего, что я понимаю. 4? 4 что?

Контекст для этого: Я создаю музыкальную игрушку для iOS. AUSampler является однотонным, поэтому две дорожки, использующие один и тот же экземпляр сэмплера, обрезают ноты друг друга. Также у SoundFonts может быть много пресетов, поэтому, если я хочу использовать разные пресеты одного и того же звукового шрифта, мне нужно создать несколько AUSampler экземпляров. Поскольку soundFonts может работать с несколькими мегабайтами или более, я хочу определить, какие у меня будут накладные расходы памяти. - Спасибо!

узел: 4.000000 блок: 4.000000

Float64 nodeSize = sizeof(samplerNode);
Float64 unitSize = sizeof(samplerUnit);

printf("node: %f unit: %f \n", nodeSize, unitSize);

1 Ответ

1 голос
/ 12 марта 2012

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

Объем памятииспользуемый любым объектом, например AUSampler, может сильно отличаться от размера объекта (который намного больше, чем размер указателя объекта).

...