触摸事件似乎发生在与OpenGL渲染不同的线程上。是这样的吗?这个问题的上下文是我正在构建的粒子系统,它使用触摸事件来触发OpenGL绘图。由于OpenGL绘图相当重要,我担心线程影响。
非常感谢任何见解。
此致 道格
答案 0 :(得分:1)
不。同一个帖子。
您向OpenGL子系统提交命令然后它们在GPU上执行,因此不是“按照定义”并行线程b / c图形处理器不一定具有与CPU相同的线程概念
默认的OpenGL项目只是创建一个NSTimer,每个帧在主线程上触发并调用OpenGL。
您可能观察到的是大多数绘图命令都是异步的。由于您在iPhone上绘制了一个屏幕外缓冲区,因此只有在完成绘图后交换缓冲区时才会看到结果:
[context presentRenderbuffer:GL_RENDERBUFFER_OES];
答案 1 :(得分:0)
除非您另行指定,否则您的代码将在主线程上运行。话虽这么说,一些库/ SDK调用会启动自己独立的线程。通过这种方式,您可能会间接创建其他线程。
至于你的具体情况,我赢得的经验不符合。触摸事件在主线程上处理,就像openGL一样。