2010-01-21 99 views
2

我简化了我的问题,以这个例子:问题初始化过剩

#include <GL/glut.h> 

int main(int argc, char** argv) 
{ 
    glutInit(&argc, argv); 

    glutInitDisplayMode (GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH); 
    glutInitWindowSize (600, 600); 
    glutInitWindowPosition(0, 0); 

    int win = glutCreateWindow("Recon"); 

    return 0; 
} 

当执行glutCreateWindow,需时约1分钟,屏幕闪烁几次。

这是可笑的漫长。这不可能是正常的。

环境:

  • Fedora 10的
  • 双NVIDIA GTX280卡驱动3个显示器。
  • NVIDIA驱动190.53版CUDA 2.3安装
  • gcc版本4.3.2 20081105(红帽4.3.2-7)(GCC)

任何想法可能是什么问题?

编辑:我没有显示功能,因为我的最终目标是创建一个渲染上下文,以便我可以从一些CUDA代码创建一个像素缓冲区对象(目前它不会显示它的输出。也尝试创建一个与一系列glx调用的上下文,当gkxMakeCurrent被调用时发生相同的延迟和闪烁。

回答

1

您是否有显示功能? 我不确定这是否有帮助,但可能会放入显示功能,你清除缓冲区可能有帮助吗?

eg glutDisplayFunc(myDisplay);

void myDisplay() 
{ 
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // clear the screen 
    glutSwapBuffers(); 
} 

你使用什么编译器?并且,您是否研究了与Fedora 10和openGL相关的任何可能的性能问题(我现在正在研究第二个问题)。

编辑:在Fedora 10中确实有一些性能问题的故事性故事 HereHere。第二个似乎至少描述你的一个症状。你能够在另一个操作系统上尝试你的代码吗?

+0

谢谢。看到我的编辑一些答案。我需要最终在Debian 5上运行它,所以我现在可以尝试。那么,明天。 :) – 2010-01-21 03:50:24

+0

接受 - 在Debian 5中没有看到问题。 – 2010-01-23 00:02:50

+0

操作系统出现了什么奇怪的问题。我不知道是什么原因造成的。 – AndyG 2010-01-23 01:30:50