Если вы используете Metal, вы можете добавить блок «представленный обработчик», который будет вызываться при представлении рисованного элемента (показанного на экране). Используйте -addPresentedHandler:
метод MTLDrawable
, чтобы сделать это. В этом блоке вы можете запросить свойство presentedTime
отрисовки.
Если вы используете это, чтобы сначала показать изображение, а затем очистить изображение (отображать черный или белый или любой другой), то вы можете сравнить два представленных значения времени, чтобы определить, как долго изображение отображалось.
В дополнение к этому вы можете запланировать представление рисунка на определенное время, используя -presentDrawable:atTime:
(или, в зависимости от ваших потребностей, -presentDrawable:afterMinimumDuration:
) метод MTLCommandBuffer
.