Java openGL and GTK based apps screwing up C++ openGL?
I'm developing a engine + a game built on top in C++ and I'm running into bizarre behavior whenever I'm running my engine AFTER I've run some other application that displays any type of user interface in Java or GTK. Once I run one of these apps, my engine will bog right down to 30 or less fps. I'm throttling the FPS at 60 but it's capable of running over 4000, so being bogged down to 30 tells me I've either got a bug in my display driver, or there's some magical call in openGL I'm not including in my draw loop or something.. I don't know.

**Note** : Usually a restart will flush out the problem and everything is back to normal, until basically I use another program which doesn't work with with straight GL or WDF.

The point of my question, is anyone aware of a ***known*** issue as I've described above, while developing with openGL in C++? Is it perhaps an issue in my render code?

**Note** : One of the primary reasons why I suspect it's my code over the display driver is that I have games written in C/C++ that use GL (like quake 3) which are unaffected by this issue.

Here's my draw-related code:

    ***Init Code***

    glDisable( GL_DITHER );
    glDisable(GL_ALPHA_TEST);
    
    glDisable( GL_LIGHTING );
    glShadeModel(GL_SMOOTH);
    
    glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_FASTEST);
    glEnable(GL_TEXTURE_2D);
    
    glEnable(GL_BLEND);
    glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
<br><br>

    ***Draw Loop***
    glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_ACCUM_BUFFER_BIT | GL_STENCIL_BUFFER_BIT);
    
    glMatrixMode(GL_MODELVIEW);
    glLoadIdentity();
    
    if(stage != NULL){
    	stage->render();
    }
    
    //Yes I know, singletons are disgusting. I'm removing them eventually.
    Ascengine::VBOManager::getInstance().bindVBO(0); 
    Ascengine::GLTextureManager::getInstance().bindTexture(0);
    
    glfwSwapBuffers();

Note that nothing special happens within `stage->render();` it's just a display list so it just steps down through children and calls translate,scale etc and draws out the texture and vertex coordinates from VBO(s). Anyway thanks for the input, I realize this could be a highly specific case but I'm not sure, which is why I'm asking. :)
Java openGL and GTK based apps screwing up C++ openGL?
===

I'm developing a engine + a game built on top in C++ and I'm running into bizarre behavior whenever I'm running my engine AFTER I've run some other application that displays any type of user interface in Java or GTK. Once I run one of these apps, my engine will bog right down to 30 or less fps. I'm throttling the FPS at 60 but it's capable of running over 4000, so being bogged down to 30 tells me I've either got a bug in my display driver, or there's some magical call in openGL I'm not including in my draw loop or something.. I don't know.

**Note** : Usually a restart will flush out the problem and everything is back to normal, until basically I use another program which doesn't work with with straight GL or WDF.

The point of my question, is anyone aware of a ***known*** issue as I've described above, while developing with openGL in C++? Is it perhaps an issue in my render code?

**Note** : One of the primary reasons why I suspect it's my code over the display driver is that I have games written in C/C++ that use GL (like quake 3) which are unaffected by this issue.

Here's my draw-related code:

    ***Init Code***

    glDisable( GL_DITHER );
    glDisable(GL_ALPHA_TEST);
    
    glDisable( GL_LIGHTING );
    glShadeModel(GL_SMOOTH);
    
    glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_FASTEST);
    glEnable(GL_TEXTURE_2D);
    
    glEnable(GL_BLEND);
    glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
<br><br>

    ***Draw Loop***
    glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_ACCUM_BUFFER_BIT | GL_STENCIL_BUFFER_BIT);
    
    glMatrixMode(GL_MODELVIEW);
    glLoadIdentity();
    
    if(stage != NULL){
    	stage->render();
    }
    
    //Yes I know, singletons are disgusting. I'm removing them eventually.
    Ascengine::VBOManager::getInstance().bindVBO(0); 
    Ascengine::GLTextureManager::getInstance().bindTexture(0);
    
    glfwSwapBuffers();

Note that nothing special happens within `stage->render();` it's just a display list so it just steps down through children and calls translate,scale etc and draws out the texture and vertex coordinates from VBO(s). Anyway thanks for the input, I realize this could be a highly specific case but I'm not sure, which is why I'm asking. :)