2016-07-29 4 views
0
  • CADisplayLink на основном цикле выполнения, режим по умолчанию
  • синхронизации последовательных вызовов с использованием mach_absolute_time()
  • Целевого селектора эффективен пустая функцией

Измеренные раз между последовательными вызовами в диапазоне от 14ms -20ms.CADisplayLink обжиг точность

  • Что это значит для попытки синхронизации с обновлением экрана?
  • Является ли погрешность ~ 3 мс в mach_absolute_time()? Или в планировании CADisplayLink?

ответ

0

Я не думаю, что это mach_absolute_time, но вы можете попробовать другие механизмы (например, я обычно использую CFAbsoluteTime). И я не думаю, что это тоже CADisplayLink. Скорее всего, другие вещи происходят в этой основной очереди (любой материал, который вы делаете, или прочее, что делает сама ОС).

Только для сравнения, когда я тестирую CADisplayLink с CFAbsoluteTime на достаточно быстром устройстве, как только система достигнет покоя, изменчивость намного меньше ± 3 мс. Я вижу менее ± 0,1 мс на своем iPad (по общему признанию, я не использую OpenGL). На симуляторе я вижу большую изменчивость (вероятно, из-за того, что для процессора больше процессов).

+0

Я, я выпускаю вызовы OpenGL в этом обратном вызове, но сократил количество звонков на рассылку и презентацию для этих тестов. Тестирование на iPhone 6. Я ничего не делаю в основном потоке, кроме обработки ввода. – Zach

+0

Просто потрошил все вызовы OpenGL и обработку ввода. Все еще имеют +/- 3 мс максимальную изменчивость. Не поймите меня неправильно - 95% звонков находятся в пределах +/- 0,5 мс, но не имеют представления о том, что вызывает выбросы (один достигает 27 мс ??). Это затрудняет рассуждение о том, как сократить использование ЦП для игрового движка - не уверен в том, сколько времени у меня есть от вызова -> верхняя граница, когда я могу отправлять вызовы рендеринга для поддержки синхронизации кадров графического процессора. – Zach

+0

Снижение кадров 5/100 не так хорошо - особенно при отсутствии кадра может вызвать каскадные эффекты с помощью vsync. – Zach

Смежные вопросы