В настоящее время я разрабатываю игру Sprite Kit, которая прокручивается между двумя главными экранами A & B. Позиция A (0, 0) и позиция B (0, device_height).кол-во просмотров увеличивается аномально
Большую часть времени, игра работает 60fps и сделать подсчет (получил с SKView::showsDrawCount
собственности) на 8 или 10. Но иногда, только на экране B, количество розыгрышей увеличение ненормально 70-80 ничьи!
Вот некоторые факты:
- Я не удалить экран узлов, когда я показываю B, так как узлы продолжают влиять на физику.
- Я использую SKTextureAtlas, и я предварительно загрузил всю текстуру в словаре для целей оптимизации.
- Даже при удалении декоративного узла (части, фоны) увеличивается количество счетчиков.
- Когда ошибка возникает, количество невыбранных узлов увеличивается значительно (задано
SKView::showsNodeCount
), но мой реальный счет узла (найденный с использованием рекурсивно[node::children count]
) является стабильным.
Был ли кто-то столкнулся с проблемой и какие оптимизации можно было сделать?
Как я могу получить дополнительную информацию об этих розыгрышах, чтобы узнать, откуда они взялись?
Благодаря
EDIT:
Просто найти что-то очень интересное. Вот использование процессора с течением времени, переключение между экранами A и B. Мы видим, что есть определенный Thread-14, который делает много вещей!
ну, вы должны спросить себя ..Какая разница от экрана B по сравнению с экраном? У меня были серьезные проблемы с оптимизацией в моей игре (у меня все еще есть несколько второстепенных). Единственный способ, которым я могу понять, что вызывает проблемы, - включить или выключить вещи и наблюдать за работой. – hamobi
Спасибо, это именно то, что я делаю: обертывание и отключение ... Странная вещь - нет никакой разницы между A & B. [A B] - это всего лишь один SKScene, чья высота вдвое больше, чем у устройства. Я подозреваю, что есть ошибка с системой spritekit cullig, но слишком легко сказать, что это происходит из sdk. – Martin
Вы добавляете узлы, не удаляя их позже? Возможно, разместите соответствующий код. Это может быть много вещей – hamobi