cocos2d: выделение памяти ccsprite 4 МБ, добавление в качестве дочернего элемента в сцены mem = 11 МБ - PullRequest
0 голосов
/ 06 апреля 2011

Я начал с шаблона helloworld. добавили меню и запустили инструмент производительности -> распределение. результат: 1.9MB ок, пустая сцена 2MB добавлена ​​переменная экземпляра ccsprite, инициализированная с изображением 1024x1024

CCsprite *test=[CCSprite spriteWithFile:@"img1024x1024.png];

и запущен инструмент повышения производительности -> распределение. результат: 6 МБ хорошо, изображение в памяти 4MB, + 2MB пустого теперь добавлено в schen с

[self addChild:test];

инструмент производительности-> распределение. результат: 11MB это нормально? каждый спрайт, который я добавлю как ребенка, удвоит мое использование памяти? спасибо

1 Ответ

0 голосов
/ 07 апреля 2011

Добавление одного спрайта и думать, что каждый спрайт будет добавлять одинаковый объем выделенной памяти, на самом деле не логично.Обратите внимание на следующее:

  1. Возможно, вы снова и снова используете одну и ту же текстуру, что совсем не увеличит объем памяти.
  2. Загрузка нескольких спрайтов 1024x1024 - это совсем не нормальное поведение.
  3. Изображение, которое вы загружаете, может быть не сильно сжато.
  4. В зависимости от используемого вами приложения, использование памяти может не представлять проблемы.

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

...