UIScrollView останавливает (или замедляет) прокрутку между остановками, определенными Paging

У меня есть приложение для iOS, которое использует Unity3D. Когда я приостанавливаю Unity, чтобы показать только контент, связанный с Quartz, производительность обычно в порядке.

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

Я попытался посмотреть с помощью инструментов, и обнаружил, что FPS обычно составляет ~ 50-60, но иногда и меньше. Однако это не отвечает на мой вопрос.

Кстати, в таблице и скроллере мало данных, и проблем с перезагрузкой нет.


person lambruscoAcido    schedule 12.02.2013    source источник


Ответы (1)


Хорошо, теперь я нашел очень полезную информацию на Форум Unity. С использованием

#define USE_DISPLAY_LINK_IF_AVAILABLE 0

предотвращает описанную проблему. Проект Unity-iOS теперь использует THREAD_BASED_LOOP вместо класса CADisplayLink. Возможно, я еще поиграю с CADisplayLink и снизлю целевую частоту кадров.

Некоторую интересную информацию об используемом типе цикла рендеринга можно найти в Unity. Руководство.

person lambruscoAcido    schedule 13.02.2013