Снижение частоты кадров (cocos2d box2d) в игровой сцене - PullRequest
0 голосов
/ 17 августа 2011

Игровая сцена с несколькими слоями и многочисленными спрайтами, работающая почти хорошо (за исключением некоторых проблем).Но если мы приостановим игру на 5-10 минут (приблизительно), частота кадров снизится, и игра начнет давать рывковый эффект, когда снова начну играть.

частота кадров по умолчанию равнаизначально использовался здесь по умолчанию ccMacros.h:

#define CC_DIRECTOR_INIT()                                                                      \
do{                                                                                         \
window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];                   \
if( ! [CCDirector setDirectorType:kCCDirectorTypeDisplayLink] )                             \
    [CCDirector setDirectorType:kCCDirectorTypeNSTimer];                                    \
CCDirector *__director = [CCDirector sharedDirector];                                       \
viewController = [[RootViewController alloc] initWithNibName:nil bundle:nil];               \
viewController.wantsFullScreenLayout = YES;                                                 \
[__director setDeviceOrientation:kCCDeviceOrientationLandscapeLeft];                                \
[__director setDisplayFPS:NO];                                                              \
[__director setAnimationInterval:1.0/60];                                                   \
EAGLView *__glView = [EAGLView viewWithFrame:[window bounds]                                \
                                pixelFormat:kEAGLColorFormatRGB565                          \
                                depthFormat:0 /* GL_DEPTH_COMPONENT24_OES */                \
                         preserveBackbuffer:NO];                                            \
[__director setOpenGLView:__glView];                                                        \
[viewController setView:__glView];                                                          \
[window addSubview: viewController.view];                                                   \
[window makeKeyAndVisible];                                                                 \
} while(0)

Редактировать: Сценарий: ПРИЛОЖЕНИЕ ПРОДОЛЖАЙТЕ РАБОТАТЬ ПРАВИЛЬНО, КОГДА Я ИГРАЮ ЕГО ДАЖЕ, ЧЕМ ПЯТЬ ИЛИ ДЕСЯТЬ МИНУТ, НО СКОРОСТЬ КАДРА ПОЛУЧИТЬ ВНИЗКОГДА МЫ ОТБРАЛИСЬ ЗАЯВКУ НА ПРИЛОЖЕНИЕ ДЛЯ ТОГО ЖЕ ВРЕМЕНИ ТАК Есть ли способ обновить приложение время от времени?

Ответы [ 2 ]

4 голосов
/ 17 августа 2011

Низкий кадр вызван многими причинами, такими как неэффективное использование памяти, использование NSTimers, рисование чего-либо внутри запланированного селектора и многое другое. Убедитесь, что вы освобождаете память, которую выделяете.
Просто посмотрите на ссылки ниже, которые могут помочь вам увеличить частоту кадров в вашей игре:

1 голос
/ 01 октября 2011

Поскольку я пробовал все, @Nitish предложил, но во время движения каждая вещь должна была потерпеть неудачу. Так как ухудшение частоты кадров все еще остается проблемой . Слишком много прибегая к помощи и пытаясь выяснить причину и решение, мне удалось получить только причину, так как я не мог позволить себе решение. Чтобы проверить, что я получил, ПРОВЕРЬТЕ ЭТУ ССЫЛКУ .

...