OpenGL ES 2.0 iPhone - Рендеринг в фоновом потоке блоков основного потока
Я рендеринг контекста OpenGL в фоновом потоке с другим EAGLContext, чем основной поток.
Я использую что-то вроде этого:
- (void)renderInBackground {
EAGLContext *context = [[EAGLContext] alloc] init];
[EAGLContext setCurrentContext:context];
Rendering..
}
Однако, даже если это выполняется в фоновом потоке, при использовании тяжелого шейдера основной поток блокируется, а пользовательский интерфейс застревает.
Почему фоновый поток блокирует основной поток? методы не синхронизированы.