Анимация нескольких UIVIew вызывает проблемы - PullRequest
0 голосов
/ 03 февраля 2010

В моем текущем игровом проекте для iPhone я использую UIView, которые являются некоторыми элементами игрового процесса (они являются плитками). Анимация по одному работает хорошо или в небольшой серии (5 анимаций UIView одновременно).

Но как только я решил анимировать тот же самый UIView вместе, у меня начинаются странные проблемы с рендерингом (весь экран iPod touch становится черным, а затем мигает обратно к игровому виду, когда анимация закончена или почти завершена, в других случай, когда экран мерцает между черным и фактическим видом игры, когда он пытается анимировать).

Я провел несколько тестов, и до сих пор кажется, что до 18 анимации UIView у меня нет никаких проблем, но как только я добираюсь до 30 UIView, я вижу эти проблемы рендеринга. А анимационный переход, который я использую, это Flip from right.

Существует ли максимум потока анимации, который можно запустить сразу?

Я вызываю метод в моем подклассе UIView, который выполняет стандартную анимацию коммита начала анимации. И я устанавливаю кэш на ДА.

Есть идеи, что может быть причиной ошибки рендеринга?

Спасибо за ваше сотрудничество заранее.

Ответы [ 2 ]

1 голос
/ 03 февраля 2010

Не существует явного максимума анимаций, которые могут запускаться одновременно.

Но каждая анимация будет использовать память и использование процессора. Это, конечно, сильно зависит от того, какую анимацию вы делаете.

Так что вы, вероятно, пытаетесь сделать слишком много анимации одновременно.

Использование анимации UIView отлично подходит для многих вещей, но иногда вам приходится использовать что-то более подходящее, например OpenGL. Может быть, вы находитесь в такой ситуации.

0 голосов
/ 03 февраля 2010

Возможно, у вас проблемы с памятью или ограничением графического процессора, если вы пытаетесь многое сделать с анимацией UIView. Вы МОЖЕТЕ попытаться сделать это со слоями, но есть пределы того, что GPU может обрабатывать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...