Latest WebKit Build Doubles Scrolling Performance on MacBook Pro with Retina Display
by Anand Lal Shimpi on December 4, 2012 11:51 AM EST- Posted in
- Mac
- Apple
- MacBook Pro
In both of our MacBook Pro with Retina Display reviews (13-inch & 15-inch), I pointed out a big downside to the user experience today: UI performance in some applications is significantly reduced compared to non-Retina models. I couldn't find a direct cause for the issue, just that whatever work Apple does to make OS X look like OS X ends up requiring quite a bit of CPU power, and the workload scales with resolution. I've seen this in applications like Mail and Safari, although it's present in more than just that.
In our 13-inch rMBP review I proposed a couple of solutions: 1) a dramatic increase in single-threaded CPU performance, and/or 2) software improvements (e.g. the move to Mountain Lion for example shifted more animation workload over to the GPU, improving scrolling performance vs. Lion on rMBPs).
Last week I received a tip (thanks Joan!) pointing me at a Macrumors post claiming that the latest nightly builds of WebKit fixed scrolling performance on the rMBP. I grabbed a build (r135516 - it's no longer the latest build but I assume the later builds also contain the fix) and tried it out on the 13-inch rMBP. Scrolling down my Facebook news feed ended up being one of the best showcases for poor scrolling performance on the rMBPs, so that's obviously the first test I ran. As always I used Quartz Debug to measure UI frame rate. First, here's what the average frame rate looked like using the latest version of Safari on Mountain Lion with the 13-inch rMBP running at the scaled 1440 x 900 setting:
13-inch rMBP, 1440 x 900 scaled setting, Safari Version 6.0.2 (8536.26.17)
Average frame rates end up being around 20 fps, with dips down as low as 17 fps. Now here's the same test but using the r135516 WebKit build:
13-inch rMBP, 1440 x 900 scaled setting, WebKit Nightly r135516 Safari Version 6.0.2 (8536.26.17, 537+)
Performance is more than doubled! Scrolling is so much smoother. I also ran tests on pages that previously worked fine (e.g. the AnandTech front page) and performance hadn't changed there. I haven't managed to figure out exactly what's changed in the codebase to improve performance so much but it's appreciable.
For those of you who are early adopters of Retina MBPs, there looks to be some hope that we might see software solutions to improving UI performance. The real question is when we'll see these types of improvements rolled into OS X.
15 Comments
View All Comments
p_giguere1 - Tuesday, December 4, 2012 - link
Hey, that's my post on MacRumors!Glad this is getting some attention, as it is fixing the biggest flaw IMO on what could otherwise be a near-perfect computer.
WebKit has a couple issues and will occasionally crash, but I was so annoyed by the scroll lag that it seems 100% worth it.
It will even import everything (open tabs, history, extensions, passwords) from Safari the first time you launch it, so it doesn't feel like you're actually switching browser.
Henk Poley - Tuesday, December 4, 2012 - link
Even on older systems: MacBook3,1 Late 2007, 2GHz Core2Duo, Intel X3100 GPU, OS X 10.7.5Peacekeeper score:
Safari 6.0.2: 1625
Chrome 23.0.1271.95: 1775
Webkit r136460:1860
Henk Poley - Tuesday, December 4, 2012 - link
Also about 2 seconds less "CPU time" on http://html5-benchmark.comSafari: Score: 1999, Total CPU Time: 57.07s, Total Lag: 2615ms
Webkit: Score: 1778, Total CPU Time: 55.24s, Total Lag: 3275ms
Varies a bit though when run in succession. Webkit remains the fastest by ~2s though.
ThreeDee912 - Wednesday, December 5, 2012 - link
WebKit nightlies are usually quite a bit faster than stable Safari, but like other beta software there's a few bugs that pop up here and there.The good thing about running WebKit nightlies on OS X is that it uses all the same bookmarks, settings, and passwords (in Keychain) as stable Safari, so you can easily switch between the two.
Streamlined - Thursday, October 24, 2013 - link
It would be great to see a follow-up test on the newly released OSX Mavericks.