gpt4 book ai didi

c++ - 有没有办法在下一个命令之前等待 GPU 的最后一个命令?

转载 作者:行者123 更新时间:2023-11-30 01:59:49 26 4
gpt4 key购买 nike

我在display中有如下代码:(是整个display func,idle func中数据变化)

glClear(GL_COLOR_BUFFER_BIT);
glDrawPixels(100,100,GL_RGBA,GL_FLOAT,data);
glutSwapBuffers();
glutPostRedisplay();

而且当我编译这段代码时,有时它会闪烁与背景相同的颜色。我认为 GPU 在清除颜色之前捕获了 drawpixel,并清除了缓冲区。

我可以在清除和绘制之间延迟,但我几乎在每一帧之间更改数据
我应该怎么办?有没有类似flush的命令?

最佳答案

我怀疑您忘记在 glutInitDisplayMode() 调用中指定 GLUT_DOUBLE,因此获得了非双缓冲上下文。

另外,在您的显示函数中包含 glutPostRedisplay() 并不是惯例——它应该放在您的空闲函数的末尾。

关于c++ - 有没有办法在下一个命令之前等待 GPU 的最后一个命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15795695/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com