Cocos2d FPS падает || работает только в режиме профилирования - PullRequest
0 голосов
/ 16 октября 2011

Я просто строю небольшую тестовую игру Cocos2d с несколькими физическими препятствиями, которые игрок (круг) может преодолеть.Все отлично работает на симуляторе (60 FPS), но на устройстве я получаю только 17 FPS.Самое смешное - если я использую режим профилирования (например, монитор активности), я получаю 55-60 FPS на устройстве.Что там происходит?

1 Ответ

0 голосов
/ 16 октября 2011

Во-первых, полностью игнорируйте производительность iOS Simulator.С одной стороны, это может быть значительно быстрее, потому что процессор Intel на компьютере Mac намного быстрее, чем процессоры ARM на устройствах iOS.С другой стороны, iOS Simulator не использует графическое ускорение, он использует программный рендер.Таким образом, графическая производительность может быть значительно ниже, чем у устройства iOS, и она ни в коей мере не сопоставима с реальной производительностью устройства и не может использоваться для создания утверждений типа «но она работает быстро на iOS Simulator».Это просто не имеет значения.

Я не знаю, как Activity Monitor повлияет на производительность вашего устройства.Это не имеет никакого отношения к измерению или профилированию производительности устройства.Инструмент для измерения производительности устройства - Instruments , который поставляется с Xcode.Вы также можете использовать класс CCProfiler , предоставляемый cocos2d-iphone.

Общие советы для физических движков на iOS - сократить количество итераций.Зачастую вы можете обходиться гораздо меньшим количеством итераций, что снижает нагрузку на процессор.

...