4 ms·
The author makes some good points and IMO exaggerates the importance of others. One nit to pick: Firefox 70's performance improvements didn't come from using p
by bjustin 7y ago
The author makes some good points and IMO exaggerates the importance of others.
One nit to pick: Firefox 70's performance improvements didn't come from using private APIs. They used IOSurface and CALayer, both public API: https://developer.apple.com/documentation/iosurface https://developer.apple.com/documentation/iosurface https://developer.apple.com/documentation/quartzcore/calayer https://developer.apple.com/documentation/quartzcore/calayer
- st3fan 7y agoYou can read the details here: https://mozillagfx.wordpress.com/2019/10/22/dramatically-reduced-power-usage-in-firefox-70-on-macos-with-core-animation/ https://mozillagfx.wordpress.com/2019/10/22/dramatically-red... The required bits for that work are not actually documented.
- bjustin 7y agoIt is sad how inconsistent Apple's documentation has gotten. The lack of a list of types that can be used as CALayer contents is particularly bad given how useful it is in macOS applications. But these classes and properties are in the public SDKs and listed on Apple's API docs website, making them public API. As an aside, I originally found out that they used IOSurface and CALayer from reading that post.
- dwaite 7y agoThis is why I dislike the term 'Private API'; there's a big difference between using internal functions of a library, and using public functions which aren't properly documented. In this case, there was a public method that took the public object Firefox needed, but wasn't documented as doing so.