使用OpenGL渲染到多个窗口

时间:2017-05-22 05:49:03

标签: c++ windows multithreading opengl

目前,我正在创建一个OpenGL应用程序,该应用程序将呈现给多个"目标" (例如,不同的Winforms面板,单独的窗口等。)。

我实际上有一个使用多个渲染线程的工作原型(每个目标一个)。在线程中,我使用wglMakeCurrent在不同的渲染目标之间切换。

问题是:这种做法令人难以置信地。有时渲染周期可能需要30ms或更长时间(而且我只绘制一个四边形)。

在进行一些研究时,我读到并行渲染多个线程是一个非常非常糟糕的主意(竞争条件等等)。所以现在我需要一些关于如何以正确的方式做到这一点的建议。

  • 我应该只使用一个线程来绘制我所有的"目标"?
  • 我可以摆脱所有那些缓慢的wglMakeCurrent调用吗?
  • 快速多窗口渲染还有其他技巧/最佳实践吗?

0 个答案:

没有答案