Вопросы производительности памяти CCNode / CCSprite / Box2D (cocos2d, iphone)

#iphone #performance #memory #cocos2d-iphone #cpu

#iPhone #Производительность #память #cocos2d-iphone #процессор

Вопрос:

достаточно ли, если я установлю видимость NO для моего CCNode / CCSprite? Он все еще в памяти?

Каков наилучший способ удалить его из памяти, а затем снова поместить в нее (быстро)?

Как насчет b2Body? Как это сделать с ними?

Я хочу сделать это, потому что я разделил свой уровень, и я просто хочу поместить объекты в память, которые видны….

Ответ №1:

Присвоение узлу / спрайту значения невидимый определенно не освободит его из памяти. Если вы хотите полностью удалить его из памяти и быстро добавить снова, я подозреваю, что пул памяти — лучший способ сделать это.

Я не уверен, что понимаю, почему вы хотите иметь только объекты, которые видны в памяти, а затем иметь возможность быстро добавлять их в память снова быстро? Вероятно, я просто не понимаю, чего вы пытаетесь достичь. Возможно, вы пытаетесь оптимизировать использование памяти преждевременно. Конечно, вы должны остановить все утечки памяти, но выполнили ли вы какое-либо профилирование относительно того, сколько памяти использует ваш проект?

Комментарии:

1. основная проблема заключается в том, что если у меня слишком много спрайтов / b2bodys, мое тело проигрывателя будет прерывистым, и мое действие ccfollow тоже будет прерывистым, потому что оно следует за плеером… Я провел несколько тестов и увидел, что если у меня не так много объектов, это не будет резким…

2. 1 за идею. я попробую это завтра … (сегодня у меня нет времени)