

Nexus 7's Project Butter UI smoothness captured on high-speed camera  - geoffgasior
http://techreport.com/articles.x/23318/4
Much has been made of the Project Butter UI smoothness enhancements built into Android 4.1 Jelly Bean.  We've captured them on a high-speed camera and compared the results to a couple of ICS tablets.
======
mpakes
The smoothness is a huge improvement, but touch-latency and scrolling physics
are still huge problem areas, even in Jelly Bean on Nexus 7 hardware.

In testing, I've enjoyed the Nexus 7 form-factor, but the iPad's
responsiveness and scroll behavior are such a relief when I switch back. It
was immediately noticeable, even when beta-testing an app on my old iPad 1
today.

~~~
ChuckMcM
And what it shows is investment.

There should be rock solid high performance graphics drivers for every Android
phone. There aren't. The chip manufacturers aren't helping because they won't
let 'regular' people get access to real documentation, Google isn't helping
because it won't put 4 or 5 engineers on it full time. ODMs don't do it
because if Google doesn't do it why should they, they take the crappy vendor
supplied driver and run with it.

So far there is no penalty to a chip vendor for having crappy video drivers.
This is an area where nVidia invested in strongly to win the PC hardware space
but has not done squat in for the Android space, at least it isn't visible
outside nVidia.

The Nexus 7 is the _first_ Android tablet to even kinda sorta look like the
way the iPad moves. This is something that totally confounds me about Google's
internal process.

~~~
tmurray
Speaking as an ex-GPU driver guy, you're off by an order of magnitude about
the number of engineers it takes to make a solid graphics driver. For a good
GPU driver that makes smart choices about display, power management, OGLES,
etc, you're looking at 30-40 people, not 4 to 5. Multiply that by every
chipset for Android available (NVIDIA Tegra, ARM Mali, Qualcomm Snapdragon,
Imagination PowerVR, Samsung Exynos assuming they build their own GPU
eventually), and it's prohibitive to do that all within one company. It's also
harder for Android than iOS because of the architectural diversity within the
Android GPU market. Optimizing for a TBDR like PowerVR is different than
optimizing for a standard renderer with a Z-buffer. iOS can make a bunch of
assumptions that Android can't due to dependence on a single vendor.

~~~
ChuckMcM
This is a company that just put $3.5 billion dollars of free cash flow into
the bank for one quarter [1]. Lets say we pay each of these 40 people per
architecture $250,000/year and we do it for 10 architectures. That is $100M in
Salary. Lets say they each burn another $250,000 a year in benefits, extra
401K perqs, their own cafeteria with a chef that does special orders. Maybe
that doubles the cost to $200M/year So let's buy them all a house as a sign on
bonus if they get this done in 5 years or less, in the Valley that is 1 to 2M$
each for 400 people, call it 800M$. So 5 years of epic salary, a house free
and clear, and 5 years of effort comes to about 1.8 billion dollars. One half
of one fourth of the years annual free cash flow, so a bit more than 12% of
the annual free cash flow.

In my opinion that is the difference between investing in something strategic
and 'hoping it will be great.'

[1]
[http://investor.google.com/earnings/2012/Q2_google_earnings....](http://investor.google.com/earnings/2012/Q2_google_earnings.html)

EDIT: Never do math when your typing quickly.

~~~
tmurray
Microsoft doesn't have its own team to write its own GPU drivers. They have
conformance tests for third parties and meaningful penalties for drivers that
don't conform (no automatic installing, etc). That's the model you should be
thinking about, not iOS.

~~~
DeepDuh
Microsoft is (or at least used to be) pretty smart in how to partner. Reminds
me of that Steve Jobs quote along the line of "I wish we were as good at
partnering as Microsoft". I'm curious whether their new strategy (basically
copying Apple and go vertical) will work out. If it does, we're definitely in
a new computing era where commodity devices with highly compatible software is
a thing of the past.

------
vosper
High (but not really [1]) film of a UI doing nothing interesting, with no
useful conclusions and not even a side-by-side comparison? How is this useful
information in any way?

[1]
[http://www.ted.com/talks/ramesh_raskar_a_camera_that_takes_o...](http://www.ted.com/talks/ramesh_raskar_a_camera_that_takes_one_trillion_frames_per_second.html?source=facebook#.UBOKJ0hxSmN.facebook)

------
aculver
As they say at the end of the article, what will really be interesting is to
compare this to high-speed camera footage of an iPad doing a similar series of
transitions. The fact that they're saying it feels like iPad-esque smoothness
is a massive win for Android users.

------
saurik
While the animations are smooth, it still seems to have higher latency
following finger actions than the iPhone, and when scrolling it moves the
viewport by two pixels at a time as opposed to one (which makes it feel quite
un-=smooth in practice).

~~~
kevingadd
That's because they're doing vsynced triple buffering system-wide now.
Apparently they couldn't get the smoothness without it - which blows my mind,
personally, but that's what I was told.

~~~
nuclear_eclipse
Triple-buffering is only used in cases where rendering a frame takes longer
than the vsync period; the first buffer is shown (again) for the second vsync
period, and then the second buffer is displayed (assuming it's ready) for the
third vsync period, and while the second buffer is being displayed, the third
buffer is rendered, and displayed after that.

In cases where rendering is always faster than the vsync period, the third
buffer will never be used.

[https://developers.google.com/events/io/sessions/gooio2012/1...](https://developers.google.com/events/io/sessions/gooio2012/109/)

------
VMG
Am I the only one who neither finds this particularly responsive or fluid?

~~~
r00fus
To be honest, a comparison with an iPad would have been really nice, as people
seem to think it's quite responsive.

------
pjmlp
So far I have failed to see how the iPhone UI is much faster than Android.

Maybe it is because I only care about high end Android devices?

~~~
ralfn
Likely. But highend android models actually have more horsepower than the
apple alternatives.

They do really need it though. Because on iOS with truly native code and a
static hardware stack, they can just push more performance. The same is true
when comparing consoes with desktop pcs. Many games actually run slower on
more powerfull hardware, just because of all the extra levels of indirection.

~~~
pjmlp
> Because on iOS with truly native code and a static hardware stack,

Yeah, Apple can get away with it, because of the single architecture.

Even with Java Google could have decided to target native code generation
ahead of time, instead of using a JIT.

Doing so enables the distribution of single binaries which can be optimized
for the large spectrum of Android mobiles.

With native code you need to produce binaries for each set of hardware
architecture you want to support.

------
aboodman
This is (to me) a weird way to evaluate smoothness. By slowing it down, the
default space between the frames is larger. So it seems like minor glitchiness
is going to be harder to catch, not easier.

