diff --git a/modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm b/modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm index ba572a8870..b9b9a2b692 100644 --- a/modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm +++ b/modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm @@ -254,8 +254,13 @@ public: } else { + // Repaint behaviour of setFrame seemed to change in 10.11, and the drawing became synchronous, + // causing performance issues. But sending an async update causes flickering in older versions, + // hence this version check to use the old behaviour on pre 10.11 machines + static bool isPre10_11 = SystemStats::getOperatingSystemType() <= SystemStats::MacOSX_10_10; + [window setFrame: [window frameRectForContentRect: flippedScreenRect (r)] - display: false]; + display: isPre10_11]; } if (oldViewSize.width != r.size.width || oldViewSize.height != r.size.height)