检测到 OpenGL 线程冲突



在iOS 7.1(引入了EAGLContext multiThreaded)上,我在" OpenGL Thread Conflict Detected "上遇到很多错误。

我已经在上下文中设置了multiThreaded = YES,但仍然收到错误。这很奇怪,因为我输出了很多相同的错误:

OpenGL Thread Conflict Detected
0x17022cd40

我认为十六进制是线程 ID - 它似乎是一致的。关于为什么我输出此错误的任何想法?

OpenGL不支持(或者至少在非常有限的场景中支持它,而不是在渲染部分)多线程。

它根本不支持它。

我不知道您的特定用法或iPhone实现,但库本身不支持它。

试着看这里。

http://www.equalizergraphics.com/documentation/parallelOpenGLFAQ.html

如果你想进行多线程,根据我的经验,就是让一个线程处理OpenGL库/渲染,以及一个专门用于不同范围的线程(路径查找,AI,碰撞检测,你的名字)。

我希望这有所帮助。

干杯毛里齐奥

最新更新