目前,我正在创建一个OpenGL应用程序,该应用程序将呈现给多个"目标" (例如,不同的Winforms面板,单独的窗口等。)。
我实际上有一个使用多个渲染线程的工作原型(每个目标一个)。在线程中,我使用wglMakeCurrent在不同的渲染目标之间切换。
问题是:这种做法令人难以置信地慢。有时渲染周期可能需要30ms或更长时间(而且我只绘制一个四边形)。
在进行一些研究时,我读到并行渲染多个线程是一个非常非常糟糕的主意(竞争条件等等)。所以现在我需要一些关于如何以正确的方式做到这一点的建议。