Huge Idle Wakeups when NSView with async CAOpenGLLayer
| Originator: | mblsha | ||
| Number: | rdar://21960468 | Date Originated: | 23-Jul-2015 04:23 PM |
| Status: | Open | Resolved: | |
| Product: | OS X | Product Version: | 10.10.4 / 10.10.5 |
| Classification: | Reproducible: | Yes |
Summary: There's a problem, that when there's async CAOpenGLLayer inside of a hidden view, there will be a huge number of idle wakeups in CAOpenGLLayer_timer_callback, but -[CAOpenGLLayer canDrawInCGLContext:...] is never called. Chromium compositor checks for a number of idle canDrawInCGLContext:... calls before it disables async mode. Steps to Reproduce: Easiest way to reproduce: 1. Create async CAOpenGLLayer, add it to NSView 2. Allow for NSView to start drawing 3. Hide the view I've attached a sample project. Expected Results: It would be nice that in that case there would either be no idle wakeups, or that canDrawInCGLContext:... will actually be called. Actual Results: 1. Nothing is drawn on screen 2. Huge idle wakeups number 3. -[CAOpenGLLayer canDrawInCGLContext:...] is never called Version: OS X 10.10.4 (14E46) Notes: Configuration: Attachments: 'CAOpenGLLayerTest.zip' was successfully uploaded.
Comments
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!
Doesn't seem to reproduce on OS X 10.11.0