Почему моя частота сенсорных событий ниже на iOS 4.0? - PullRequest
0 голосов
/ 05 декабря 2010

Я пишу приложение типа эскиза пальца, и оно отлично работает на iOS 3.0.Однако запуск приложения под iOS 4.0 или выше вызывает проблемы.В частности, я получаю сенсорные события в моем приложении примерно в 5 раз медленнее в новой ОС, чем в старой.Это, очевидно, приводит к тому, что мое приложение плохо рисует, потому что я собираю в 5 раз меньше точек для рисования между ними.

Есть идеи, как увеличить частоту сенсорных событий на iOS4?

Ответы [ 3 ]

2 голосов
/ 05 декабря 2010

Некоторые графические операции в iOS4.x занимают намного больше времени, чем в 3.x (где-то в 2–10 раз медленнее).Более длительное время выполнения графики может блокировать основной поток пользовательского интерфейса и не оставлять достаточно времени для цикла выполнения основного потока для обработки пользовательских (сенсорных) событий.

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

1 голос
/ 05 декабря 2010

Вы должны профилировать свой код с Shark, чтобы увидеть, где находится узкое место.Вероятно, происходит то, что часть вашего кода, который выполняется в основном потоке (скорее всего, что-то, что выполняется в ответ на касание), занимает больше времени, чем ожидалось, что не позволяет вашему приложению получать события касания

0 голосов
/ 05 декабря 2010

Меньше блокируйте основной поток.

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