我有一个 Qt 控制台程序,它应该从多个视点渲染场景并将每个渲染保存到文件中。它运行如下:
for(int k = 0; k < numberOfViewpoints; ++k)
{
RenderToQGLPixelBuffer(k);
QString fname = GetFileName(k);
QImage im = pixBuffer->toImage();
im.save(fname);
}
如果我这样做,所有图像最终都是空白的。但是,如果我在保存图像后让程序休眠一秒钟:
for(int k = 0; k < numberOfViewpoints; ++k)
{
RenderToQGLPixelBuffer(k);
QString fname = GetFileName(k);
QImage im = pixBuffer->toImage();
im.save(fname);
Sleep(1000);
}
然后它按预期工作并且图像很好。然而,这显然大大增加了处理时间。有什么想法可以解决这个问题吗?