A First Look At Apple's OS X El Capitanby Ryan Smith on June 15, 2015 3:00 PM EST
Metal, Performance Improvements, & First Thoughts
Last, but certainly not least, there are a few more under-the-hood features that are being introduced with El Capitan that we can at least briefly talk about.
The first of these is of course Metal, Apple’s low-level graphics API. Originally developed and released for iOS 8, Metal is now coming to OS X and in a big way. Apple is not only bringing Metal over to OS X, but they are using it themselves, with Core Graphics and Core Animation getting a Metal rendering backend.
The purpose of bringing Metal over to OS X is two-fold, as it serves both Apple and Apple’s developers. Bringing Metal to OS X further aligns the two OSes, allowing iOS developers to leverage their Metal code on OS X. That in turn allows all developers to tap into the basic benefits of a low-level graphics API: improved graphics performance by reducing or eliminating the overhead that comes from traditional high-level APIs. Low-level APIs like Metal are not silver bullets for performance in and of themselves, but they open the door to better performance, especially in certain edge cases where graphics rendering is CPU-bound. The tradeoff in turn is that without the abstraction that comes with high-level APIs, Metal is harder to work with, since by its very nature it offers developers far less protection and hand-holding.
With both OS X and iOS, Apple is making use of Metal internally as well. As we mentioned previously, both Core Graphics and Core Animation have received a Metal rendering backend, allowing two of OS X’s fundamental graphics subsystems to draw right to Metal. As these systems are not traditionally heavy GPU users, the gains they stand to receive from Metal are not particularly great. However at the same time there is no good reason for a tightly integrated vendor like Apple not to use Metal for the OS itself, as even if the gains aren’t massive, this is one of many optimizations Apple can do to improve performance a bit more and to squeeze out a bit more battery life. In the case of Core Graphics and Core Animation, I suspect Apple is doing this not for any performance gains, but rather because Metal incurs less CPU overhead, and as a result using it cuts down on power consumption some versus OpenGL.
In any case we’ve already written a fair bit on Metal elsewhere, so I won’t repeat that here, but at the end of the day Metal is an important addition to the OS that will benefit developers and Apple alike by removing performance bottlenecks and improving system efficiency. Meanwhile the touted 10x performance benefit is a very narrow case that isn’t likely to occur in the short run, but in the long run developers will be well served by having access to Metal.
As for the current state of Metal on OS X, Apple has already gotten the Metal driver and Core Graphics/Animation systems to the point where you would almost never notice that Metal’s in use. With the exception of one rendering bug (the user menu), right now we would be hard pressed to tell that Apple changed the rendering backend from Yosemite to El Capitan; as it stands it just works. No doubt there are still some bugs left to work out further behind the scenes, but for such a major overall even the developer beta is in good shape.
Overall Performance Improvements & Bug Fixes
No release of OS X would be complete without some overall performance improvements as well, and Apple is certainly aiming to please. While the current developer beta of El Capitan is not in good condition for benchmarking – there will be plenty of time for that closer to release – Apple is already outlining where they have been focusing their optimization efforts. Overall application launch speeds are said to have improved by up to 40%, and Apple has also made some unspecified improvements to speed up application switching. With all of Apple’s performance numbers there’s reason to take pause, as Apple is almost certainly cherry-picking numbers from low-level tests, but it none the less gives us an idea of what to look for once the OS is farther along.
Meanwhile Apple is also telling us that PDF rendering performance in Preview is significantly improved, which in turn should allow El Capitan Preview to open up complex PDF files much more quickly than Yosemite does. Based on Apple’s comments it sounds like they’ve done quite a bit of work to offload PDF rendering to the GPU – quite possibly even porting parts of Preview over to Metal. And even without formal benchmarks it’s clear that things have changed for the better, as our El Capitan-equipped MacBook Pro is able to tear through some of our sample PDFs even better than our desktops can. PDFs are something of a textbook case for GPU rendering, as complex documents can require compositing multiple layers, so this is a welcome improvement when working with complex PDFs.
Finally, while the current beta introduces plenty of its own bugs, there are also some undocumented bug fixes we’ve stumbled upon. Of particular note, El Capitan now does a better job of recognizing Windows Server 2012 ReFS-backed shares. Whereas Yosemite sees these shares as FAT based, El Capitan sees them as NTFS, which is still wrong, but it’s less wrong (and less restrictive) than seeing them as FAT.
Wrapping up our first look at OS X El Capitan, what we have seen with Apple’s next OS is a calculated evolution from Yosemite that should please most Mac users. Those users looking for new features and refinements should find the latest round of application upgrades, window management changes, and of course low-level tweaks to their liking. Meanwhile users still trying to get accustomed to Yosemite should find that at the end of the day the OS X experience itself has changed very little with El Capitan, so after the major shift that was Yosemite, they can take a breather.
As for the status of this first beta release, El Capitan is a developer beta and definitely lives up to the name at times. Yet despite that, with the public beta not scheduled until July, things on the whole are looking good. At the very least the OS is more than ready for the developers it’s meant for, and judging from what I’ve seen at WWDC they certainly aren’t wasting any time in that respect.
Finally, as for consumers, El Capitan should be a very straightforward upgrade once it’s released this fall. Apple has already confirmed that the system requirements are unchanged from Yosemite – anything that runs Apple’s current OS can run Apple’s next OS – so there won’t be any systems left behind with El Capitan. The oldest systems of course won’t be able to take advantage of every last feature of the new OS (e.g. Metal), but otherwise Yosemite users should be right at home with El Capitan.