«Не удалось загрузить ядро» при запуске сеанса камеры и попытке выполнить фильтрацию в реальном времени

Я пытаюсь выполнить фильтрацию изображения в реальном времени, как то, что делает Instagram и Path. Я в значительной степени реализовал этот метод:

-(void)captureOutput:(AVCaptureOutput *)captureOutput didOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer fromConnection:(AVCaptureConnection *)connection { 

Я использовал сеанс камеры и структуру CoreImage (я не использовал OpenGL напрямую). В большинстве случаев мое приложение будет работать довольно успешно без сбоев или икоты.

Однако, когда я пытаюсь запустить сеанс живой фильтрации, когда мое приложение проходит анимацию UIView на экране. Я бы увидел черный экран в области фильтрации в реальном времени. Кроме того, консоль будет печатать несколько раз, как это:

Недопустимая шейдерная программа, возможно, из-за превышения аппаратных ресурсов

А также:

Не удалось загрузить ядро!

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

Но есть одна большая проблема, когда такие ошибки возникают, мой код не будет уведомлен. Там нет перезвона, нет никакого сбоя, нет никакого исключения, нет странного указателя nil.

Кто-нибудь может помочь?

One Solution collect form web for “«Не удалось загрузить ядро» при запуске сеанса камеры и попытке выполнить фильтрацию в реальном времени”

«Ядро», о котором идет речь, не ядро ​​iOS, а ядро ​​OpenCL. Он встречается в OpenCL.framework (общедоступный в OS X, но закрытый в iOS, доступный с iOS 5). Поскольку он является частным, вы, скорее всего, застряли здесь. Инициализация OpenCL занимает значительную часть системных ресурсов. Хорошим подходом является взаимное исключение (mutex) доступа к экрану, удерживая его, когда вы находитесь в анимации UIView.

Надеюсь это поможет,

TG

  • Нарисуйте значение, а не куб - ARToolKit iPhone
  • GLSL: возможно ли создать маску одноцветной области, которая содержит центральный пиксель?
  • Как сделать снимок экрана программно в iOS?
  • Ошибка Cocos2D 2.0 OpenGL?
  • Как воспроизводить видео без AVPlayer или Movie Player на iOS
  • Закрытие EAGLView и остановка всех процессов
  • Загрузка 3D-модели в iOS
  • Проблема с захватом экрана GMSMapView в SDK Google Maps для iOS
  • ccDrawLine непрозрачность?
  • Координаты выборки текстур для визуализации спрайта
  • Создание png UIImage из рисунка OpenGL
  • PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.