0

我想用 2 个 GPU 进行并行渲染。因此需要从 GPU1 回读,然后将像素绘制到 GPU2。

我在每个屏幕上创建了两个窗口,并连接了自己的 GPU。每个窗口都有两个线程。

但是,readpixel+drawpixel 是一个瓶颈。因此考虑使用异步 PBO 方法:2 个 PBO 用于回读,2 个 PBO 用于以替代方式回退。

我的问题是:

  1. 从 glMapBufferARB 返回的指针可以在另一个线程和不同的 GPU 中使用吗?
  2. 如果没有,我必须将数据复制到主内存并复制到另一个 GPU,瓶颈将是 CPU->GPU 复制。有没有更好的主意?
4

1 回答 1

0

是的,任何线程都可以使用 glMapBuffer 形式的指针——即使没有 GL 上下文。只要记住同步线程并且不要在线程完成它的工作之前调用 glUnmapBuffer 指针.h

于 2012-07-06T00:37:15.503 回答