<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comentários sobre: Threads, apenas um exemplo</title>
	<atom:link href="http://www.abrindoojogo.com.br/2009/10/08/threads-apenas-um-exemplo/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.abrindoojogo.com.br/2009/10/08/threads-apenas-um-exemplo/</link>
	<description>Abrindo o Jogo</description>
	<lastBuildDate>Mon, 06 Sep 2010 02:11:09 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>Por: Luiz Alessandro Nörnberg</title>
		<link>http://www.abrindoojogo.com.br/2009/10/08/threads-apenas-um-exemplo/comment-page-1/#comment-118</link>
		<dc:creator>Luiz Alessandro Nörnberg</dc:creator>
		<pubDate>Fri, 23 Oct 2009 00:25:36 +0000</pubDate>
		<guid isPermaLink="false">http://blog.abrindoojogo.com.br/?p=862#comment-118</guid>
		<description>Olá Jean. Se utilizarmos a técnica mostrada no &lt;a href=&quot;http://blog.abrindoojogo.com.br/2009/09/26/gameloop-com-taxa-constante-de-pulsos-%E2%80%93-parte-2-de-2/&quot; rel=&quot;nofollow&quot;&gt;outro post&lt;/a&gt;, para limitar a taxa de frames ou pulsos, continuamos com 100% de processamento. Isso ocorre porque mesmo tendo uma limitação na quantidade de vezes que update() ou render() é chamado dentro do loop, o loop em sí fican dando voltas o mais rápido possível. Para obter liberação de CPU, é preciso uma técnica mais elaborada, que meça o tempo que o render() (por exemplo) demorou e faça a thread &quot;dormir&quot; (Thread.sleep()) pelos milisegundos que sobraram. Assim o loop pára durante este tempo e o processamento é liberado. Para ter uma idéia, sem utilizar calculos, apenas fazendo cada thread (update e render) dormir por 30 milisegundos a cada volta do loop, tenho pulsos e frames em 30 por segundo e fico com menos de 5% de processamento. E a carga fica em apenas um dos núcleos da CPU.</description>
		<content:encoded><![CDATA[<p>Olá Jean. Se utilizarmos a técnica mostrada no <a href="http://blog.abrindoojogo.com.br/2009/09/26/gameloop-com-taxa-constante-de-pulsos-%E2%80%93-parte-2-de-2/" rel="nofollow">outro post</a>, para limitar a taxa de frames ou pulsos, continuamos com 100% de processamento. Isso ocorre porque mesmo tendo uma limitação na quantidade de vezes que update() ou render() é chamado dentro do loop, o loop em sí fican dando voltas o mais rápido possível. Para obter liberação de CPU, é preciso uma técnica mais elaborada, que meça o tempo que o render() (por exemplo) demorou e faça a thread &#8220;dormir&#8221; (Thread.sleep()) pelos milisegundos que sobraram. Assim o loop pára durante este tempo e o processamento é liberado. Para ter uma idéia, sem utilizar calculos, apenas fazendo cada thread (update e render) dormir por 30 milisegundos a cada volta do loop, tenho pulsos e frames em 30 por segundo e fico com menos de 5% de processamento. E a carga fica em apenas um dos núcleos da CPU.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: jean patrick</title>
		<link>http://www.abrindoojogo.com.br/2009/10/08/threads-apenas-um-exemplo/comment-page-1/#comment-117</link>
		<dc:creator>jean patrick</dc:creator>
		<pubDate>Thu, 22 Oct 2009 19:17:25 +0000</pubDate>
		<guid isPermaLink="false">http://blog.abrindoojogo.com.br/?p=862#comment-117</guid>
		<description>Ótimo post Luiz, é o primeiro post que leio em seu blog, agora fiquei com uma dúvida, como ficaria o processamento do seu exemplo se você limitasse a quantidade de frames por segundo, por exemplo, pra 30fps?</description>
		<content:encoded><![CDATA[<p>Ótimo post Luiz, é o primeiro post que leio em seu blog, agora fiquei com uma dúvida, como ficaria o processamento do seu exemplo se você limitasse a quantidade de frames por segundo, por exemplo, pra 30fps?</p>
]]></content:encoded>
	</item>
</channel>
</rss>
