Qt OpenGL OSX渲染速度慢,Windows在同一台机器上快速

时间:2015-06-24 15:13:38

标签: c++ macos qt opengl

我正在使用OpenGl通过Qt渲染网格物体。 (Qt 5.4)。

在我的OSX计算机上,渲染速度相对较慢。当我旋转网格时,我可以看到渲染无法跟上我的鼠标输入。

在运行Windows 7虚拟机和我的应用程序时,在同一台OSX计算机上,渲染非常流畅。它几乎看起来像Mac版本在软件模式下渲染,而不是使用加速。

我使用glGetString来检查正在使用的供应商和渲染器,这看起来不错:

"NVIDIA Corporation"
"NVIDIA GeForce GT 650M OpenGL Engine"

为什么本机OSX生成的代码运行速度会慢得多。

BTW:我使用GL_ARRAY_BUFFER渲染一个由大约150,000个顶点组成的网格。

我对OpenGL很新,有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我正在回答这个问题,以便可以关闭。

正如上面评论中指出的Kuba Ober,问题是由Windows似乎隐藏的opengl错误引起的。在我的情况下,我忘了调用DataRow row = ds.Tables[0].Rows[0]; DateTime startDate = (DateTime) row["StartDate"]; DateTime originalStartDate = (DateTime) row["OriginalStartDate"]; if (startDate.Date > originalStartDate.Date) { ... } 函数,例如:

QOpenGLShaderProgram::disableAttributeArray()

似乎Windows原谅了这个问题,而OSX却没有。