jjzjj

windows - glFlush() 在具有透明背景的窗口上需要很长时间

我使用了HowtomakeanOpenGLrenderingcontextwithtransparentbackground?中的代码创建一个具有透明背景的窗口。我的问题是帧速率非常低-即使我绘制一个四边形(由2个三角形组成),我也有大约20帧/秒。我试图找出原因,而glFlush()大约需要0.047秒。你知道为什么吗?在6000fps(当我删除60fps限制时)没有透明背景的窗口中呈现相同的东西。它也需要一个核心到100%。我使用Win7在配备ATIRadeon4800的Q9450@2.66GHz上对其进行了测试。 最佳答案 我

iPhone OpenGL ES glFlush() 不一致地慢

我的presentRenderBuffer调用看似随机(但在任何给定程序运行期间通常是一致的)非常慢。我追踪到presentRenderBuffer对glFlush()的调用,所以现在我在presentRenderBuffer之前调用glFlush()。我在glFlush()上放置了一个计时器,它会做两件事中的一件,看起来是随机的。glFlush()或者1)始终花费0.0003秒或2)在大约0.019和0.030秒之间交替最奇怪的是,这与绘图代码无关。即使当我注释掉所有绘图代码以便它所做的只是调用glClear()时,我仍然只是随机获得两个结果之一。绘图方法由具有以下设置的CADisp

c++ - opengl:glFlush() 与 glFinish()

我无法区分调用glFlush()和glFinish()之间的实际区别。文档说glFlush()和glFinish()会将所有缓冲的操作推送到OpenGL,这样就可以确保它们都会被执行,区别在于glFlush()立即返回,因为glFinish()阻塞,直到所有操作完成。阅读了定义后,我想如果我要使用glFlush(),我可能会遇到向OpenGL提交更多操作的问题,而不是它可以执行的操作。所以,为了尝试,我将我的glFinish()换成了glFlush()并且你瞧,我的程序运行了(据我所知),完全一样的;帧速率、资源使用情况,一切都一样。所以我想知道这两个调用之间是否有很大差异,或者我的代