Kiosk mode and drawing issue


#1

Issue: Graphical glitch occurs when entering full screen mode while drawing

Affects: Modified JUCE master tip (https://github.com/ihk/JUCEKioskModeBug) edc35db 4/12/15

Environment: OSX 10.10.5 Yosemite. Macbook Pro 15" Retina Mid-2014

Steps:

1. Checkout https://github.com/ihk/JUCEKioskModeBug

2. Run JUCE demo application. Make sure you are on the introduction screen with the JUCE logo.

3. Full screen it by pressing Command+F. Graphical glitch occurs and UI freezes (see attached screenshot). It seems like it tried to go into full screen mode (background goes black, menu bar dissapears) but froze half way...?

Information: This has always been a bug in the JUCE introduction screen page however it has since dissapeared after commit d06fc22 (Pimped the demo app with some new images). By reverting the JUCE logo back to the old one in MainWindow.cpp and by repainting the logo at 60 fps by reverting commit 26ff85a (Demo app: Lowered the frame rate of the welcome screen to save power if people leave it running) we can reproduce it. You can see the changes in commit edc35db (https://github.com/ihk/JUCEKioskModeBug).


#2

I managed to reproduce this, but it's a really peculiar one...

I actually think it must be an Apple bug, because as far as I can tell, it gets triggered depending on whether the window does any redrawing while the OS is animating it into its new position, and also how much work is happening in the paint method. 

Because the welcome screen of the juce demo runs continuous 60fps animation, and draws some complex paths, that seems to trigger the bug, but if you comment-out some of the work that happens in the paint routine (e.g. stop it drawing the DNA strands, but allow it to keep redrawing the logo), then the problem goes away! Likewise if you reduce the timer frequency of the animation down to 30fps, then that also "fixes" it.

Really not sure what I could do about it! I'm still on 10.10 myself, but have you tried in 10.11? Could have been fixed already in the OS..


#3

Hi Jules,

 

Thanks for the reply.

 

Haven't tried 10.11. Unfortunate there is no easy fix. I will see what I can do on my end to workaround this...


#4

Yeah, it's very odd. I'd expect a lot of OSX apps to suffer from the same problem, as it doesn't seem to be specific to anything we do in juce.