Мне нужно получить CVPixelBuffer
, содержащий кадр камеры вместе с моделями AR, которые я поместил, со скоростью 30+ кадров в секунду, предпочтительно с низким энергопотреблением и нагрузкой на процессор.
CapturedImageиз кадра в session(_:didUpdate:)
нет моделей AR.
Я пытался использовать sceneView.snapshot()
, чтобы получить UIImage
, который я затем преобразовал в CVPixelBuffer
.Это имеет заметно высокий энергетический эффект.
Наконец, я также попытался создать SCNRenderer
, который затем использую для получения UIImage
через snapshot(atTime:with:antialiasingMode:)
, а затем преобразовать в CVPixelBuffer
.Это имеет немного меньшее влияние на процессор и энергию.Но это работает только в портретном режиме, сгенерированный UIImage
некорректен в ландшафтном режиме.
Есть ли способ получить CVPixelBuffer
с меньшими затратами ресурсов процессора и энергии (по крайней мере, по сравнению с вышеупомянутым)