Я делаю игру шутера пузыря. На одном уровне у меня около 500 пузырьков внутри их родителя. Теперь я хочу полностью или частично переместить их на Android.Как правильно перемещать родителя с сотнями детей?
Profiler в ПК:
+ Draw вызов: 18
+ FPS: 800
=> Очень гладкая на ПК.
Устройство: Nexus Profiler в Android:
+ Draw вызов: 18
+ FPS от 30 до 60
Поскольку кадр на Android не является стабильным (30 - 60), это приводит к тому, двигаясь не плавно, как я ожидал. Пожалуйста, посмотрите мой Android-профайлер.
Большое спасибо.
Вы знаете, что мобильные устройства все еще много, во много раз медленнее, чем на любом настольном компьютере, верно? Из скриншотов профайлера кажется, что графика/рендеринг - это то место, где вы проводите большую часть времени, поэтому подумайте об уменьшении визуальной сложности вашего приложения. Помимо этого, без какого-либо кода, никаких дополнительных предложений не может быть сделано. – LearnCocos2D
@ LearnCocos2D: Я использую tranform.position + = .... для перемещения родителя. Больше ничего. Кроме того, я не понимаю, почему camera.render занимает слишком много раз для каждого кадра. Это приводит к задержке (или встряхиванию, а не плавному) при перемещении родителя. Как вы можете видеть, в моей сцене не так много игровых объектов, не так ли? И Nexus 4 - устройство с хорошей производительностью, я думаю. – EastBK
Но у вас есть 500 активных пузырьков. Каждый пузырь добавляет некоторые накладные расходы, даже если они в настоящее время не видны на экране. И 500 объектов на мобильном устройстве, особенно если у них есть физика на них (?), Это может быть довольно налогообложение. Это требует дальнейшего анализа или, по крайней мере, проб и ошибок (попробуйте удалить 400 объектов, посмотрите, поможет ли это). – LearnCocos2D