OpenGL ES 2.0 iPhone - Рендеринг в фоновом потоке блоков основного потока

Я рендеринг контекста OpenGL в фоновом потоке с другим EAGLContext, чем основной поток.

Я использую что-то вроде этого:

- (void)renderInBackground {
      EAGLContext *context = [[EAGLContext] alloc] init];
      [EAGLContext setCurrentContext:context];


       Rendering..
    }

Однако, даже если это выполняется в фоновом потоке, при использовании тяжелого шейдера основной поток блокируется, а пользовательский интерфейс застревает.

Почему фоновый поток блокирует основной поток? методы не синхронизированы.

Ответы на вопрос(1)

Ваш ответ на вопрос