<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title> &#187; Project Butter</title>
	<atom:link href="/tag/project-butter/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.eandroid.es</link>
	<description></description>
	<lastBuildDate>Mon, 16 Jul 2012 09:24:03 +0000</lastBuildDate>
	<language>es</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='www.eandroid.es' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://0.gravatar.com/blavatar/02293cd84bce38a76b1d6c907a9a0b97?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title> &#187; Project Butter</title>
		<link>http://www.eandroid.es</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="/osd.xml" title="" />
	<atom:link rel='hub' href='/?pushpress=hub'/>
		<item>
		<title>&#8220;El proyecto mantequilla&#8221; de Jelly Bean; lo analizamos al detalle</title>
		<link>http://www.eandroid.es/2012/07/13/el-proyecto-mantequilla-de-jelly-bean-lo-analizamos-al-detalle/</link>
		<comments>http://www.eandroid.es/2012/07/13/el-proyecto-mantequilla-de-jelly-bean-lo-analizamos-al-detalle/#comments</comments>
		<pubDate>Fri, 13 Jul 2012 09:15:31 +0000</pubDate>
		<dc:creator>flixos</dc:creator>
				<category><![CDATA[Actualización]]></category>
		<category><![CDATA[Análisis]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[Desarrollo]]></category>
		<category><![CDATA[Lanzamientos]]></category>
		<category><![CDATA[Jelly Bean]]></category>
		<category><![CDATA[Project Butter]]></category>

		<guid isPermaLink="false">http://www.eandroid.es/?p=9812</guid>
		<description><![CDATA[Saludos a tod@s. Como ya sabéis, Jelly Bean (Android 4.1) ha empezado ya a caminar entre nosotros, de momento en los Galaxy Nexus y la nueva tablet Nexus 7. Otros, como mi Nexus S, estamos esperando impacientemente nuestra ración. Ya habréis visto algunas de las nuevas aplicaciones y opciones que incorpora Jelly Bean &#8230; pero &#8230;<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=www.eandroid.es&#038;blog=21545525&#038;post=9812&#038;subd=eandroid&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://eandroid.files.wordpress.com/2012/07/android-jelly-bean.jpg"><img class="aligncenter size-full wp-image-9886" title="android-jelly-bean" src="http://eandroid.files.wordpress.com/2012/07/android-jelly-bean.jpg?w=525&h=323" alt="" width="525" height="323" /></a></p>
<p>Saludos a tod@s. Como ya sabéis, <strong>Jelly Bean (Android 4.1)</strong> ha empezado ya a caminar entre nosotros, de momento en los <strong>Galaxy Nexus</strong> y la nueva tablet <strong>Nexus 7</strong>. Otros, como mi <strong>Nexus S</strong>, estamos esperando impacientemente nuestra ración.</p>
<p>Ya habréis visto algunas de las nuevas aplicaciones y opciones que incorpora Jelly Bean &#8230; pero hoy vamos a &#8220;bucear&#8221; más profundo. Vamos a (¿intentar?) explicaros cómo Jelly Bean consigue que un Galaxy Nexus se mueva como un Galaxy S3, 8 meses más joven.</p>
<p>Por supuesto, las <strong>&#8220;tripas&#8221;</strong> del terminal siempre tienen algo que ver. Pero, como también sabemos de sobra, muchas veces los procesadores más potentes, o el número de núcleos más elevado, no garantizan una experiencia completamente perfecta. Hay que optimizar lo que tienes. Y eso es lo que hace Jelly Bean.</p>
<p><span id="more-9812"></span></p>
<p>La idea es la siguiente: para ver algo en una pantalla de modo <strong>&#8220;fluido&#8221;</strong> necesitas unos <strong>60 fps</strong> (frames per second, fotogramas por segundo), o 60 Hz. Vale, pues forcemos esos 60 Hz, y ya está. No es tan fácil.</p>
<p>Esos 60 Hz significan que el procesador tiene unos <strong>16 ms (divide un segundo en 1000 partes &#8230; y sólo tienes 16 disponibles)</strong> para hacer que un frame sea visualizado correctamente. El problema viene cuando te das cuenta de que <strong>las pantallas se &#8220;rellenan&#8221; línea a línea </strong>&#8230; y que los procesadores del terminal no sólo están dedicados a la pantalla. <strong>Vsync</strong>, un término muy conocido para cualquiera que haya usado el ordenador para jugar alguna vez, evita el efecto de &#8220;tearing&#8221;, que es cuando una de las líneas ya está en su sitio &#8230; pero la siguiente sólo lo está a medias. ¿En qué se traduce ésto, a 60 fps?. En que la pantalla no fluye, sino que se atasca. ¿A que os suena?</p>
<p><a href="http://eandroid.files.wordpress.com/2012/07/untitled-1_thumb1.png"><img class="aligncenter size-full wp-image-9889" title="Untitled-1_thumb1" src="http://eandroid.files.wordpress.com/2012/07/untitled-1_thumb1.png?w=525&h=235" alt="" width="525" height="235" /></a></p>
<p>En ICS, al menos es así en mi Nexus S, se nota que <strong>&#8220;le cuesta arrancar&#8221;</strong> cuando quieres pasar pantallas. Una vez ese espacio de tiempo pasa, ya es mucho más fluido que GB. Pues bien, en JB, el proceso se controla de manera mucho más rígida, haciendo que los espacios vacíos de procesamiento sean más cortos, y dando siempre espacio a esos 16 ms para que el siguiente frame aparezca. El resultado es que todo se mueve con mucha suavidad, sin tirones.</p>
<p>Seguro que alguno se pregunta &#8220;¿y todo eso, qué lo hace?&#8221;, &#8220;¿necesito procesadores multinúcleo para ello?&#8221;. Buenas preguntas, chic@s. Todo lo que puedo deciros es que, obviamente, la potencia gráfica y de procesador de un Galaxy Nexus no va a ser la misma que la de un Nexus S &#8230; por lo que entiendo que éste último tendrá una versión adaptada. Obligar a que <strong>GPU</strong> (gráfica) y <strong>CPU</strong> (procesador) vayan sincronizados en todo momento no debe tener que ver con que tengas 1 ó 3 procesadores. Parece claro que se le exigirá más a un mononúcleo que a un multinúcleo, pero me da la impresión que es un tema más de &#8220;gestión de recursos&#8221; que de fuerza bruta. Es cierto que Android siempre ha utilizado un <strong>&#8220;doble buffer&#8221;</strong> (significa que hay dos espacios de memoria disponibles: uno almacena el frame que va a presentar, mientras el otro se reserva para trabajar ya en el siguiente), y en JB tendremos <strong>&#8220;triple buffer&#8221;</strong> (para evitar que, como antes, algún frame sea tan &#8220;pesado&#8221; que ocupe los 16 ms disponibles), que sólo será usado cuando sea necesario. El resultado es que la reacción de la pantalla, y lo que vemos en ella, van a la par.</p>
<p>Lo sé, todo esto suena muy <strong>denso</strong>, como la mantequilla (&#8220;Butter&#8221;, en inglés, el nombre del programa asociado a estas mejoras de rendimiento en Android). Espero que, al menos, la explicación haya sido lo suficientemente clara para que sigáis la idea de lo que corre debajo de Jelly Bean.</p>
<p><a href="http://eandroid.files.wordpress.com/2012/07/0003_layer-5_thumb1.png"><img class="aligncenter size-full wp-image-9890" title="0003_Layer-5_thumb1" src="http://eandroid.files.wordpress.com/2012/07/0003_layer-5_thumb1.png?w=525&h=244" alt="" width="525" height="244" /></a></p>
<p>Y como siempre vale más una imagen que mil palabras, aquí tenéis, a velocidad súper-lenta, la diferencia entre ICS y JB en un Galaxy Nexus. Repetir conmigo: &#8220;mantequilla &#8230; mantequilla &#8230;&#8221;</p>
<span style="text-align:center; display: block;"><a href="/2012/07/13/el-proyecto-mantequilla-de-jelly-bean-lo-analizamos-al-detalle/"><img src="http://img.youtube.com/vi/V5E5revikUU/2.jpg" alt="" /></a></span>
<p>La fuente de este artículo, <a href="http://www.androidpolice.com/2012/07/12/getting-to-know-android-4-1-part-3-project-butter-how-it-works-and-what-it-added/">aquí.</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/eandroid.wordpress.com/9812/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/eandroid.wordpress.com/9812/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=www.eandroid.es&#038;blog=21545525&#038;post=9812&#038;subd=eandroid&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://www.eandroid.es/2012/07/13/el-proyecto-mantequilla-de-jelly-bean-lo-analizamos-al-detalle/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/2475f97cd084382738fe0c84a35373e1?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">flixos</media:title>
		</media:content>

		<media:content url="http://eandroid.files.wordpress.com/2012/07/android-jelly-bean.jpg" medium="image">
			<media:title type="html">android-jelly-bean</media:title>
		</media:content>

		<media:content url="http://eandroid.files.wordpress.com/2012/07/untitled-1_thumb1.png" medium="image">
			<media:title type="html">Untitled-1_thumb1</media:title>
		</media:content>

		<media:content url="http://eandroid.files.wordpress.com/2012/07/0003_layer-5_thumb1.png" medium="image">
			<media:title type="html">0003_Layer-5_thumb1</media:title>
		</media:content>
	</item>
	</channel>
</rss>