Hi,
We are experiencing glitches in our OpenGL-based application on Windows. The entire UI freezes when resizing the application. The window remains resizable, but newly resized areas turn black. This is a serious problem for our application and occurs frequently, though randomly, sometimes after a few seconds, other times only after several minutes.
We created a JUCE demo project (code below) that reproduces the glitch (screenshot below). To reproduce it, launch the app and resize it a few times. If the glitch does not appear, relaunch the app and try again. It may take up to 30 minutes to trigger.
We have tested this with JUCE 8.0.10. The issue occurs only on Windows.
struct MainComponent : juce::Component
{
MainComponent()
{
setSize(1280, 768);
}
struct OpenGLRenderer : juce::OpenGLRenderer
{
juce::OpenGLContext context;
OpenGLRenderer(juce::Component& attachTo)
{
context.setOpenGLVersionRequired(juce::OpenGLContext::openGL3_2);
context.setRenderer(this);
context.setContinuousRepainting(true);
context.attachTo(attachTo);
}
~OpenGLRenderer() override
{
context.detach();
}
void newOpenGLContextCreated() override {}
void renderOpenGL() override
{
juce::OpenGLHelpers::clear(juce::Colours::green);
juce::gl::glEnable(juce::gl::GL_SCISSOR_TEST);
juce::gl::glScissor(0, 0, 500, 500);
juce::OpenGLHelpers::clear(juce::Colours::blue);
juce::gl::glDisable(juce::gl::GL_SCISSOR_TEST);
}
void openGLContextClosing() override {}
};
OpenGLRenderer openGLRenderer{ *this };
};
Best,
Jelle

