Serious regression in OSX 10.10 SDK with menu action performance.

Originator:corey.lucier
Number:rdar://20275440 Date Originated:3/24/2015
Status:Fixed Resolved:
Product:OSX SDK Product Version:10.10
Classification: Reproducible:Always
 
Summary:
We have an OSX app built with latest XCode and the 10.9 SDK.  We animate a zoom animation when user users command +/-, these are triggered via View->Zoom In and Zoom Out menu items.  The command +/- are actually the key equivalents assigned to these menu items.

The problem is after switching to 10.10 SDK:
1. We receive the zoom actions much less often than we have with previous SDK when the user * holds down * the command + or - keys.  
2. All of a sudden now, beyond the performance of the menu action dispatching, menu action dispatch now BLOCKS our CVDisplayLink threads.  We use Facebook Pop animation library which uses a CVDisplayLink thread to feed us animation updates but now with 10.10 SDK their animation updates block which is holding down menu accelerator keys.

Steps to Reproduce:
I've attached a sample to show you how the performance has degraded with menu actions.

1. Build and run the app with the 10.9 SDK configured in 'Base SDK' setting. Make sure you run from XCode.

2. Resize the width of the app to about 3/4 of your screen.

3. ** Hold down ** command + to grow the rectangle and note the average rate reported to Output console that we're receiving menu actions.  On my Macbook AIR I get them about every 80ms (timeDelta). 

4. Now rebuild the app with 10.10 SDK.  Note that timeDelta between menu actions is now greater.

Expected Results:
There should not have been a regression with 10.10 SDK nor should the act of triggering a menu action with keyboard block animations on a CVDisplayLink thread.

Actual Results:
Performance has degraded with 10.10 SDK.

Version:
XCode 6.2 (6C131e), OSX 10.10.2.   

Notes:
Note that the worst of this issue is not captured here, I wanted to keep the test case simple for now, hopefully you see the clear discrepancy in menu action dispatch time, just by simply switching the SDK.

The bigger problem for us, is that whatever is making menu action dispatch slower is really slowing down the Pop animation library when the menu item key is held down.  

This is a very bad regression and is affecting the production quality of our app that is pending release.

Configuration:


Attachments:
'SDKBug.zip' was successfully uploaded.

Comments

This was fixed by Apple and will be in 10.11 SDK!

By corey.lucier at Sept. 2, 2015, 11:47 a.m. (reply...)

Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!