Update 2015-03-04: According to some updated release notes from the Bartender app (v1.2.32; emphasis mine):
Apple appear to have fixed the flickering item issue for multiple
monitors in Yosemite with 10.10.3 Beta 2; but in doing so Bartender
stopped working correctly. We have made changes to Bartender for
10.10.3 Beta 2 and anticipate it to now be working smoothly; if you see any issues with Bartender please do let us know.
So there may be an end to this problem in sight.
I'm sorry to say that, according to my own email exchange with their Advisors, Apple Engineering's official response is that this is by design:
This is normal behavior caused by transparency being turned off and on to differentiate between which display is active.
There are a few workarounds you can try.
— Adjust the settings in System Preferences —> Accessibility and enable reduce transparency.
— Disable displays have separate spaces.
— Enable Use Dark Menu Bar and Dock in System Preferences —> General.
Another Workaround with Bartender
In my experience, I also run Bartender to limit the number of active status bar icons. Since fewer icons have to redraw, it decreases the redraw delay when switching monitors. They still redraw, and it's still annoying, but the increased UI responsiveness helps me ignore it.
Troubleshooting Steps that Do Nothing
I performed the following steps with a Senior Apple Technical Advisor and Engineer during a support case for this same issue. None of these fixed the issue:
- creating a new user (and thus a blank user profile)
- going into safe mode (including with a new user account)
- reinstalling the OS
- resetting SMC and NVRAM
- running Apple Hardware Test
- running VGA dongle diagnostic tools
Detailed Problem Description
Videos of the behavior are posted here: https://flic.kr/s/aHsk5xxSb1
- When either one or two external monitors is attached,
- via HDMI, MiniDP>DP, or MiniDP>VGA
- regardless of whether the lid is open or closed,
- and Displays have separate Spaces is enabled,
- one can click the desktop on any inactive desktop (the desktop with a grayed-out or muted menubar),
- and that display's menubar's icons will begin redrawing,
- which manifests as a jittering of icons (expressed as a shifting laterally and vertically),
- a rearranging of icons (in the case where one has rearranged them manually by holding down the CMD key and dragging them),
- and a brief de-antialiasing followed by a re-antialiasing (or dithering) of the icons.
- This occurs with all icons in the right-hand side of the menubar,
- but not those on the left (apple, and menu items),
- and also excluding the sidebar icon.
- The symptoms do
not occur when transitioning from one external monitor to another.
- The shifting of icons causes a functional delay between initiating the transition and using the application in the destination screen. (In my case, 3-5 seconds.)
- The delay's timing appears related to the number of status bar icons you have.
I expect that this is a software issue related to SystemUIServer or one of the underlying (private) UI libraries. It seems heavily related to antialiasing. Although Apple says this is expected behavior, I think many users would agree this is a bug introduced with Yosemite.