<?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/"
	>

<channel>
	<title>英特尔® 软件网络博客 - 中文 &#187; 移动技术</title>
	<atom:link href="http://software.intel.com/zh-cn/blogs/category/mobility/feed/" rel="self" type="application/rss+xml" />
	<link>http://software.intel.com/zh-cn/blogs</link>
	<description></description>
	<lastBuildDate>Fri, 19 Mar 2010 06:50:01 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>MeeGo 平台研究之开篇</title>
		<link>http://software.intel.com/zh-cn/blogs/2010/03/19/meego/</link>
		<comments>http://software.intel.com/zh-cn/blogs/2010/03/19/meego/#comments</comments>
		<pubDate>Fri, 19 Mar 2010 06:43:20 +0000</pubDate>
		<dc:creator>dongfengsun</dc:creator>
				<category><![CDATA[博客征文专栏]]></category>
		<category><![CDATA[开放源代码]]></category>
		<category><![CDATA[移动技术]]></category>
		<category><![CDATA[MeeGo]]></category>

		<guid isPermaLink="false">http://software.intel.com/zh-cn/blogs/2010/03/19/meego/</guid>
		<description><![CDATA[作为一个有7年移动平台开发经历，并在Symbian平台下开发近3年的人，Nokia和Intel这两个IT行业的巨无霸联手推出的移动开发平台MeeGo自然成了我研究的目标。
首先介绍下MeeGo平台的来历，MeeGo平台是基于Nokia的Maemo和Intel的Moblin两个平台整合而来的，其目的是专门为上网本和智能手机等便携设备提供类似便携电脑的用户体验。在Nokia称霸移动平台10几年以来，它终究还是意识到了智能手机才是未来移动平台发展的大趋势，这也要归功于Apple的iPhone OS和Google的Android，还有MTK山寨机对它的两面夹击。Nokia已经无路可走，MeeGo或许承载了它过多的期待。
犹记得03年初进入移动开发行业的时候，第一次去书店买移动开发的书籍，满书柜找不到几本关于手机开发的书，当时想在移动平台开发，大多数人会选择J2ME或者Brew。而如今，移动开发平台真是诸侯割据，各霸一方。Palm OS已成昨日黄花，Symbian日薄西山，Brew难觅踪迹，就算曾经盛极一时的MTK，也渐显疲态。
但毫无疑问的是，天下分久必合，合久必分，移动平台也概莫如此。但统一天下的或许是Android，或许是iPhone，又抑或是MeeGo还是Windows Phone 7，我们无从预测。
记得几天前在和业内同行讨论移动平台的问题，而我的观点是，将来的移动平台肯定是智能机的天下，类似MTK这种山寨机的平台，只能像流星一样稍纵即逝，虽灿烂但无法持久。因为无论是Android，还是iPhone OS，又或者是MeeGo和Windows Phone 7，它们更多的是在趋于电脑，所以将来的手机不是带电脑功能的电话，而是带电话功能的电脑，这就是Apple的乔布斯说iPhone会领先手机平台的原因，因为Apple忠实的在iPhone上实现了这一理念，这一点在iPhone平台上的Safari浏览器以及Widget上能很清楚的看出。
Intel的摩尔所提出的“摩尔定律”是IT行业的公理，任何硬件的问题终将不会是或者根本不可能是最大的问题，在山寨机和智能机的价格差越来越小的时候，更多的人会选择智能机，因为用户消费已经不仅仅是看价格，更多的是看性价比。
对于从事Application开发的人来说，这么多的平台无疑会不知道该如何选择，特别是一些刚进入移动开发领域的初学者，其实移动开发平台的一条主线已经渐渐显露出来。正如若干年前Gosling发明Java语言时无法预知Java会成为网络编程的王者一样，或许将来Linus也会惊讶于Linux会成为移动平台的统一者，无论是Android还是MeeGo，都采用基于Linux的系统，就算是iPhone OS，也有Linux的身影。
如果困惑于iPhone的自闭，甚至对Android底层的开发度不够满意，那么完全开源的MeeGo无疑是最好的选择。
]]></description>
			<content:encoded><![CDATA[<p>作为一个有7年移动平台开发经历，并在Symbian平台下开发近3年的人，Nokia和Intel这两个IT行业的巨无霸联手推出的移动开发平台MeeGo自然成了我研究的目标。</p>
<p>首先介绍下MeeGo平台的来历，MeeGo平台是基于Nokia的Maemo和Intel的Moblin两个平台整合而来的，其目的是专门为上网本和智能手机等便携设备提供类似便携电脑的用户体验。在Nokia称霸移动平台10几年以来，它终究还是意识到了智能手机才是未来移动平台发展的大趋势，这也要归功于Apple的iPhone OS和Google的Android，还有MTK山寨机对它的两面夹击。Nokia已经无路可走，MeeGo或许承载了它过多的期待。</p>
<p>犹记得03年初进入移动开发行业的时候，第一次去书店买移动开发的书籍，满书柜找不到几本关于手机开发的书，当时想在移动平台开发，大多数人会选择J2ME或者Brew。而如今，移动开发平台真是诸侯割据，各霸一方。Palm OS已成昨日黄花，Symbian日薄西山，Brew难觅踪迹，就算曾经盛极一时的MTK，也渐显疲态。</p>
<p>但毫无疑问的是，天下分久必合，合久必分，移动平台也概莫如此。但统一天下的或许是Android，或许是iPhone，又抑或是MeeGo还是Windows Phone 7，我们无从预测。</p>
<p>记得几天前在和业内同行讨论移动平台的问题，而我的观点是，将来的移动平台肯定是智能机的天下，类似MTK这种山寨机的平台，只能像流星一样稍纵即逝，虽灿烂但无法持久。因为无论是Android，还是iPhone OS，又或者是MeeGo和Windows Phone 7，它们更多的是在趋于电脑，所以将来的手机不是带电脑功能的电话，而是带电话功能的电脑，这就是Apple的乔布斯说iPhone会领先手机平台的原因，因为Apple忠实的在iPhone上实现了这一理念，这一点在iPhone平台上的Safari浏览器以及Widget上能很清楚的看出。</p>
<p>Intel的摩尔所提出的“摩尔定律”是IT行业的公理，任何硬件的问题终将不会是或者根本不可能是最大的问题，在山寨机和智能机的价格差越来越小的时候，更多的人会选择智能机，因为用户消费已经不仅仅是看价格，更多的是看性价比。</p>
<p>对于从事Application开发的人来说，这么多的平台无疑会不知道该如何选择，特别是一些刚进入移动开发领域的初学者，其实移动开发平台的一条主线已经渐渐显露出来。正如若干年前Gosling发明Java语言时无法预知Java会成为网络编程的王者一样，或许将来Linus也会惊讶于Linux会成为移动平台的统一者，无论是Android还是MeeGo，都采用基于Linux的系统，就算是iPhone OS，也有Linux的身影。</p>
<p>如果困惑于iPhone的自闭，甚至对Android底层的开发度不够满意，那么完全开源的MeeGo无疑是最好的选择。</p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/zh-cn/blogs/2010/03/19/meego/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Meego 与其他手机操作系统 PK</title>
		<link>http://software.intel.com/zh-cn/blogs/2010/03/19/meego-pk/</link>
		<comments>http://software.intel.com/zh-cn/blogs/2010/03/19/meego-pk/#comments</comments>
		<pubDate>Fri, 19 Mar 2010 06:36:43 +0000</pubDate>
		<dc:creator>linuxkernel</dc:creator>
				<category><![CDATA[博客征文专栏]]></category>
		<category><![CDATA[移动技术]]></category>
		<category><![CDATA[MeeGo]]></category>

		<guid isPermaLink="false">http://software.intel.com/zh-cn/blogs/2010/03/19/meego-pk/</guid>
		<description><![CDATA[看到Meego推出，无缘由的喜欢，直觉上，因为这个名字“Meego”，直译成中文“我行”，再加两个字“我行我素”。实际上，直觉背后，总是隐藏着真实缘由。
在这个网络即地球村的时代，所想即所得，于是，我直奔Meego老家Meego.com，加入这个家庭（邮件列表）才能感受到村民们互助互进的氛围，仅仅做一个旁观者很难与家庭成员建立起纽带。
昨天刚刚加入，今天早晨十几封邮件已经悄然躺在邮箱中。其中，大家争论最多的问题之一就是Meego到底该采用rpm还是deb，各抒己见，没有定论。当某一天，我们看到一个活跃的小鸡在面前晃动，可能会在脑子中闪现一下“这小鸡到底是怎么哺成的？”实际上，阅读一封封邮件的过程，就是目睹从鸡蛋演化为小鸡的过程，这其中的乐趣甚至超过看到小鸡出世的那一瞬间。
其中，M. Edward (Ed) Borasky的邮件中写到：
Yes! In particular, we need marketing and sales people - MeeGo has to be *better* than iPhone / iPad, Android and ChromeOS, and the world needs to know *why* it's better.
我随即发了一封邮件问到：
Yes! I want to collect the factors why meego's better.
很快，收到他的回复：
My own take is
1. MeeGo is totally open. Apple is mostly closed. Android [...]]]></description>
			<content:encoded><![CDATA[<p>看到Meego推出，无缘由的喜欢，直觉上，因为这个名字“Meego”，直译成中文“我行”，再加两个字“我行我素”。实际上，直觉背后，总是隐藏着真实缘由。</p>
<p>在这个网络即地球村的时代，所想即所得，于是，我直奔Meego老家Meego.com，加入这个家庭（邮件列表）才能感受到村民们互助互进的氛围，仅仅做一个旁观者很难与家庭成员建立起纽带。</p>
<p>昨天刚刚加入，今天早晨十几封邮件已经悄然躺在邮箱中。其中，大家争论最多的问题之一就是Meego到底该采用rpm还是deb，各抒己见，没有定论。当某一天，我们看到一个活跃的小鸡在面前晃动，可能会在脑子中闪现一下“这小鸡到底是怎么哺成的？”实际上，阅读一封封邮件的过程，就是目睹从鸡蛋演化为小鸡的过程，这其中的乐趣甚至超过看到小鸡出世的那一瞬间。</p>
<p>其中，M. Edward (Ed) Borasky的邮件中写到：</p>
<p>Yes! In particular, we need marketing and sales people - MeeGo has to be *better* than iPhone / iPad, Android and ChromeOS, and the world needs to know *why* it's better.</p>
<p>我随即发了一封邮件问到：</p>
<p>Yes! I want to collect the factors why meego's better.</p>
<p>很快，收到他的回复：</p>
<p>My own take is</p>
<p>1. MeeGo is totally open. Apple is mostly closed. Android is mostly open, but ChromeOS is open only on the device - the actual apps run in Google's cloud.</p>
<p>2. MeeGo is a single platform. for handhelds and netbooks. Apple has an iPhone / iPad platform. and a laptop / desktop platform, and no netbook at all. Google has a handheld platform. and a netbook platform.</p>
<p>3. You can run almost any Linux app on MeeGo, given enough RAM and processor capacity. iPhone / iPad apps need to be developed specifically for the platform. Most open source apps will run on the MacOS X laptops and desktops. Android apps need to be developed specifically for the platform, and ChromeOS "netbooks" don't run apps at all - just a browser.</p>
<p>4. For the developer, I think MeeGo is way easier to work with. But I don't know that developers are the target market. Linux, after all, has one percent of the desktop / laptop market share. <img src='http://software.intel.com/zh-cn/blogs/wordpress/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  (And 99 percent of my attention share - the other 1 percent is devoted to weekly virus scan and Windows Vista updates. <img src='http://software.intel.com/zh-cn/blogs/wordpress/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>随后，我又针对此邮件一一问了问题，不知然间，不同的人从不同角度来回答你，问题的答案也就逐渐浮出水面。</p>
<p>1.Difference between MeeGo and Android is huge. MeeGo is linux and Android is a special kind of java virtual machine.</p>
<p>2. More to the point: MeeGo is a standard Linux stack, very close to what you get<br />
for desktop Linux.Android is a Linux kernel with entirely custom (or unusual) userland stack.<br />
All the apps are written in Java and run in a special virtual machine.</p>
<p>3. MeeGo is a pure linux and Android _theoretically_ can be run without linux at all. you just need to bootstrap it's virtual machine. it should work even on windows.Android apps do not care about underlying operating system. They care only about virtual machine</p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/zh-cn/blogs/2010/03/19/meego-pk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>看moblin与maemo合并推出MeeGo</title>
		<link>http://software.intel.com/zh-cn/blogs/2010/02/26/moblinmaemomeego/</link>
		<comments>http://software.intel.com/zh-cn/blogs/2010/02/26/moblinmaemomeego/#comments</comments>
		<pubDate>Fri, 26 Feb 2010 15:38:07 +0000</pubDate>
		<dc:creator>wenzhezujie</dc:creator>
				<category><![CDATA[博客征文专栏]]></category>
		<category><![CDATA[开放源代码]]></category>
		<category><![CDATA[移动技术]]></category>
		<category><![CDATA[Moblin]]></category>

		<guid isPermaLink="false">http://software.intel.com/zh-cn/blogs/2010/02/26/moblinmaemomeego/</guid>
		<description><![CDATA[
在2010世界移动大会召开的同时，之前被报道将缺席大会的诺基亚却选择在大会会场附近举办了一场盛大的发布会。发布会上，诺基亚和Intel的两位高层宣布，将双方基于Linux的开源移动软件项目Moblin和Maemo合并为一个新的平台，名为MeeGo。同名网站www.MeeGo.com也已经上线。
目前，MeeGo针对的平台包括上网本和入门级桌面电脑，手持计算和通信设备，车内信息娱乐设备，网络电视，多媒体电话，但将继续支持更多平台。
按官方网站的说法，MeeGo主要特性包括：
1. 性能优化和功能，以支持图形和计算密集的软件和服务开发。
2. 互联网标准的完整支持，提供最佳Web体验。
3. 基于Qt的易用、灵活和强大的UI/应用开发环境。
4. 最新的Linux组合，为各种小资源平台和移动设备进行优化，保证广泛的兼容性。

而从MeeGo的架构图和相关资料来看，MeeGo实际上分为三层：由Moblin的内核为主的OS基础层，Qt和其他服务构成的中间层，以及针对不同设备的用户体验层。此外，为MeeGo开发的软件和服务还可以通过Intel的AppUp Center和诺基亚的Ovi Store下载和销售。
在兼容性方面，硬件上MeeGo不仅支持Intel的芯片，也将支持ARM架构；软件方面，原有的Moblin和Maemo应用都可以直接运行在MeeGo上，而MeeGo应用重新编译就可以在Symbian和其他Linux平台上运行。
诺基亚表示，自己的手机主要软件平台仍将是Symbian。MeeGo将更多针对其他设备。
【CSDN观察】
MeeGo其实是诺基亚和Intel去年6月宣布的长期合作计划的一部分，也是Intel从PC芯片厂商向更广阔和更有前景的移动设备市场转型的重要标志。由于诺基亚的影响力，这次合作显然对Intel非常有利。
诺基亚对Symbian的强调表明，它仍在操作平台上举棋不定。但随着话音功能让位于更多其他软件应用，移动电话和其他设备之间的界限将不复存在，Symbian在吸引软件开发者方面很有可能无法与泛Linux平台抗衡。诺基亚与芯片执牛耳的Intel的合作，以及在MeeGo上留的后手，将为自己保留很大的腾挪空间。从这一点来说，合作对诺基亚也颇具意义。
当然，MeeGo的推出，最大的赢家其实是Linux和开源社区。MeeGo项目本身将由Linux创始人Linus Torvards所在的Linux基金会负责管理。而且有意思的是，连www.MeeGo.com这个域名都是Linux基金会的执行总监Jim Zemlin 1999年注册的。
目前移动操作系统有力的竞争者，是风头最劲的iPhone和Android，以及因为新版本有很大改进恢复竞争力的Windows Mobile。Android虽然基于Linux，但是由于Google严格控制和其他策略，实际上已经开始从Linux分离出去，至少无法成为令人完全信任的开源平台。开源社区急需一个有号召力而且有望成为主流的移动平台。MeeGo的诞生恰逢其时。
正如Jim Zemlin的文章中所说，十年前，IBM, Intel, HP, NEC和富士、日立等公司共同在企业级Linux上投入开发和营销资源，使Linux异军突起，完全改变了企业级操作系统的版图。他很高兴现在诺基亚和Intel认识到开放的价值，相信最大的手机厂商和最大的芯片制造商的结盟，会吸引更多厂商和社区成员，以真正开放的方式加大移动Linux上的投入，很有希望重复辉煌历史。在Linux基金会的领导下，MeeGo项目的成果能够为各种Linux移动系统包括Android、Palm WebOS、三星bada、ChromeOS所共享，极大地推动整个Linux生态链发展。对于不想被单一厂商锁定的移动运营商，对于想在各种设备类型都提供独特用户体验的硬件制造商，对于想以低成本上网的用户，MeeGo都是好消息。
]]></description>
			<content:encoded><![CDATA[<p><img src="http://i.i.com.com/cnwk.1d/i/bto/20100214/meego-logo-2-small.jpg" alt="" /><br />
在2010世界移动大会召开的同时，之前被报道将缺席大会的诺基亚却选择在大会会场附近举办了一场盛大的发布会。发布会上，诺基亚和Intel的两位高层宣布，将双方基于Linux的开源移动软件项目Moblin和Maemo合并为一个新的平台，名为MeeGo。同名网站www.MeeGo.com也已经上线。</p>
<p>目前，MeeGo针对的平台包括上网本和入门级桌面电脑，手持计算和通信设备，车内信息娱乐设备，网络电视，多媒体电话，但将继续支持更多平台。</p>
<p>按官方网站的说法，MeeGo主要特性包括：</p>
<p>1. 性能优化和功能，以支持图形和计算密集的软件和服务开发。</p>
<p>2. 互联网标准的完整支持，提供最佳Web体验。</p>
<p>3. 基于Qt的易用、灵活和强大的UI/应用开发环境。</p>
<p>4. 最新的Linux组合，为各种小资源平台和移动设备进行优化，保证广泛的兼容性。</p>
<p><img src="http://meego.com/sites/all/files/users/u6/MeeGo-Arch.png" alt="" /></p>
<p>而从MeeGo的架构图和相关资料来看，MeeGo实际上分为三层：由Moblin的内核为主的OS基础层，Qt和其他服务构成的中间层，以及针对不同设备的用户体验层。此外，为MeeGo开发的软件和服务还可以通过Intel的AppUp Center和诺基亚的Ovi Store下载和销售。</p>
<p>在兼容性方面，硬件上MeeGo不仅支持Intel的芯片，也将支持ARM架构；软件方面，原有的Moblin和Maemo应用都可以直接运行在MeeGo上，而MeeGo应用重新编译就可以在Symbian和其他Linux平台上运行。</p>
<p>诺基亚表示，自己的手机主要软件平台仍将是Symbian。MeeGo将更多针对其他设备。</p>
<p>【CSDN观察】</p>
<p>MeeGo其实是诺基亚和Intel去年6月宣布的长期合作计划的一部分，也是Intel从PC芯片厂商向更广阔和更有前景的移动设备市场转型的重要标志。由于诺基亚的影响力，这次合作显然对Intel非常有利。</p>
<p>诺基亚对Symbian的强调表明，它仍在操作平台上举棋不定。但随着话音功能让位于更多其他软件应用，移动电话和其他设备之间的界限将不复存在，Symbian在吸引软件开发者方面很有可能无法与泛Linux平台抗衡。诺基亚与芯片执牛耳的Intel的合作，以及在MeeGo上留的后手，将为自己保留很大的腾挪空间。从这一点来说，合作对诺基亚也颇具意义。</p>
<p>当然，MeeGo的推出，最大的赢家其实是Linux和开源社区。MeeGo项目本身将由Linux创始人Linus Torvards所在的Linux基金会负责管理。而且有意思的是，连www.MeeGo.com这个域名都是Linux基金会的执行总监Jim Zemlin 1999年注册的。</p>
<p>目前移动操作系统有力的竞争者，是风头最劲的iPhone和Android，以及因为新版本有很大改进恢复竞争力的Windows Mobile。Android虽然基于Linux，但是由于Google严格控制和其他策略，实际上已经开始从Linux分离出去，至少无法成为令人完全信任的开源平台。开源社区急需一个有号召力而且有望成为主流的移动平台。MeeGo的诞生恰逢其时。</p>
<p>正如Jim Zemlin的文章中所说，十年前，IBM, Intel, HP, NEC和富士、日立等公司共同在企业级Linux上投入开发和营销资源，使Linux异军突起，完全改变了企业级操作系统的版图。他很高兴现在诺基亚和Intel认识到开放的价值，相信最大的手机厂商和最大的芯片制造商的结盟，会吸引更多厂商和社区成员，以真正开放的方式加大移动Linux上的投入，很有希望重复辉煌历史。在Linux基金会的领导下，MeeGo项目的成果能够为各种Linux移动系统包括Android、Palm WebOS、三星bada、ChromeOS所共享，极大地推动整个Linux生态链发展。对于不想被单一厂商锁定的移动运营商，对于想在各种设备类型都提供独特用户体验的硬件制造商，对于想以低成本上网的用户，MeeGo都是好消息。</p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/zh-cn/blogs/2010/02/26/moblinmaemomeego/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>2010年英特尔信息技术峰会来啦</title>
		<link>http://software.intel.com/zh-cn/blogs/2010/02/22/400003360/</link>
		<comments>http://software.intel.com/zh-cn/blogs/2010/02/22/400003360/#comments</comments>
		<pubDate>Mon, 22 Feb 2010 05:36:27 +0000</pubDate>
		<dc:creator>Du Wei 杜伟 (Intel)</dc:creator>
				<category><![CDATA[移动技术]]></category>
		<category><![CDATA[IDF]]></category>
		<category><![CDATA[英特尔信息技术峰会]]></category>

		<guid isPermaLink="false">http://software.intel.com/zh-cn/blogs/2010/02/22/400003360/</guid>
		<description><![CDATA[2010年的春节已结束了，大家也自然回到了自己的工作岗位，开始了正常的工作。
这几天上海的气温，已是呈现逐渐上升的趋势，今天都快接近18摄氏度了。春天快来了。伴随的春天的到来，一年一度的英特尔信息技术峰会也指日可待啦。
今年的首次英特尔信息技术峰会仍然在北京举行，不过相比去年，今年的峰会将移师到奥运场馆鸟巢附近，更为宽敞的场馆，更大的规模，将让这一年一度的业界聚会更有吸引力。 大家可以通过官方中文网站了解。我们会不定期更新我们的博客，给大家带来更多的关于信息技术峰会的细节。

]]></description>
			<content:encoded><![CDATA[<p>2010年的春节已结束了，大家也自然回到了自己的工作岗位，开始了正常的工作。<br />
这几天上海的气温，已是呈现逐渐上升的趋势，今天都快接近18摄氏度了。春天快来了。伴随的春天的到来，一年一度的英特尔信息技术峰会也指日可待啦。</p>
<p>今年的首次英特尔信息技术峰会仍然在北京举行，不过相比去年，今年的峰会将移师到奥运场馆鸟巢附近，更为宽敞的场馆，更大的规模，将让这一年一度的业界聚会更有吸引力。 大家可以通过<a href="http://www.intel.com/cn/idf/index.htm">官方中文网站</a>了解。我们会不定期更新我们的博客，给大家带来更多的关于信息技术峰会的细节。</p>
<p><a href="http://software.intel.com/zh-cn/blogs/wordpress/wp-content/uploads/2010/02/idf.png"><img class="alignnone size-medium wp-image-400003361" title="idf" src="http://software.intel.com/zh-cn/blogs/wordpress/wp-content/uploads/2010/02/idf-300x75.png" alt="" width="600" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/zh-cn/blogs/2010/02/22/400003360/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>摩尔定理再次验证,INTEL 32NM I5来了</title>
		<link>http://software.intel.com/zh-cn/blogs/2010/02/05/intel-32nm-i5/</link>
		<comments>http://software.intel.com/zh-cn/blogs/2010/02/05/intel-32nm-i5/#comments</comments>
		<pubDate>Fri, 05 Feb 2010 05:51:57 +0000</pubDate>
		<dc:creator>avensue</dc:creator>
				<category><![CDATA[图形和视觉计算]]></category>
		<category><![CDATA[并行计算]]></category>
		<category><![CDATA[移动技术]]></category>

		<guid isPermaLink="false">http://software.intel.com/zh-cn/blogs/2010/02/05/intel-32nm-i5/</guid>
		<description><![CDATA[摩尔定理再次得到验证，更高，更快，更强似乎永远是INTEL的座右铭
45NM的风潮才过去，32NM又来了。不过哪怕到3.2NM，我估计也不会惊讶，因为人类的精神在于进取
附1张表

]]></description>
			<content:encoded><![CDATA[<p>摩尔定理再次得到验证，更高，更快，更强似乎永远是INTEL的座右铭</p>
<p>45NM的风潮才过去，32NM又来了。不过哪怕到3.2NM，我估计也不会惊讶，因为人类的精神在于进取</p>
<p>附1张表<br />
<img src="http://images.anandtech.com/reviews/cpu/intel/Clarkdale/mobilecpus.jpg" alt="" /></p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/zh-cn/blogs/2010/02/05/intel-32nm-i5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>用Clutter写控件？不妨看看MX</title>
		<link>http://software.intel.com/zh-cn/blogs/2010/01/20/cluttermx/</link>
		<comments>http://software.intel.com/zh-cn/blogs/2010/01/20/cluttermx/#comments</comments>
		<pubDate>Wed, 20 Jan 2010 10:19:24 +0000</pubDate>
		<dc:creator>方亮 (Intel)</dc:creator>
				<category><![CDATA[开放源代码]]></category>
		<category><![CDATA[移动技术]]></category>
		<category><![CDATA[Clutter]]></category>
		<category><![CDATA[Moblin UI Toolkit]]></category>
		<category><![CDATA[MX]]></category>

		<guid isPermaLink="false">http://software.intel.com/zh-cn/blogs/2010/01/20/cluttermx/</guid>
		<description><![CDATA[之前写过一些介绍Clutter的文章，Clutter将2维的图形搬到了3维的舞台上，并提供了简单的操作接口，使得应用程序的界面可以更加丰富多彩。不过经常进行图形界面开发的程序员会发现，Clutter的缺点也十分的明显——那就是图形控件少的可怜。由于缺少像按钮、单选/复选框、进度条等控件，开发者不得不费时费力的实现一套自己的图形控件库，或者是利用GTK开发应用程序，大部分使用GTK的控件，只在程序内部嵌入Clutter，实现部分的3D效果。
有没有基于Clutter的图形控件库呢？The answer is YES! 现在Moblin.org上有一个名为Moblin UI Toolkit（简称MX）的项目，它为开发者提供了一套基于Clutter的常用控件，包括了常用的图形控件如button, toggle button, combobox, progressbar和scrollbar等，也提供了一些用于布局的容器类，如box layout和table。
MX是一套C库，依赖于clutter和glib。从面向对象的角度看，MX中的基类MxWidget继承自ClutterActor，因此所有针对ClutterActor的操作对MxWidget均可用。从MX的API来看，和GTK倒是有几分相似，熟悉GTK开发的程序员上手应该很快。
不过需要注意的是，目前MX还没有到稳定版本，如果要在正式产品中使用，还请慎重考虑。有兴趣的朋友可以到该项目的官方网址http://moblin.org/projects/moblin-ui-toolkit了解更多内容。
以下代码是从MX的示例代码中摘出的，功能并不完整，只是用来说明MX应用程序代码结构。
#include &#60;clutter/clutter.h&#62;
#include &#60;mx/mx.h&#62;
int main (int argc, char *argv[])
{
ClutterActor *stage, *vbox, *hbox, *holder, *mainbox, *toolbar, *combo;
MxApplication *application;
//
//初始化
// MX: mx_application_new(), 和当年的Hildon很像，呵呵。
// Clutter: clutter_init()
// GTK: gtk_init()
//
application = mx_application_new (&#38;argc, &#38;argv, "Test Mx",
MX_APPLICATION_SINGLE_INSTANCE);
stage = (ClutterActor*) mx_application_create_window (application);
clutter_actor_set_size (stage, 800, 600);
//
//布局方式: Box packing, 用过GTK的朋友应该很熟了
//
mainbox = mx_box_layout_new ();
clutter_actor_set_size (mainbox, 800, [...]]]></description>
			<content:encoded><![CDATA[<p>之前写过一些介绍Clutter的文章，Clutter将2维的图形搬到了3维的舞台上，并提供了简单的操作接口，使得应用程序的界面可以更加丰富多彩。不过经常进行图形界面开发的程序员会发现，Clutter的缺点也十分的明显——那就是图形控件少的可怜。由于缺少像按钮、单选/复选框、进度条等控件，开发者不得不费时费力的实现一套自己的图形控件库，或者是利用GTK开发应用程序，大部分使用GTK的控件，只在程序内部嵌入Clutter，实现部分的3D效果。</p>
<p>有没有基于Clutter的图形控件库呢？The answer is YES! 现在Moblin.org上有一个名为Moblin UI Toolkit（简称MX）的项目，它为开发者提供了一套基于Clutter的常用控件，包括了常用的图形控件如button, toggle button, combobox, progressbar和scrollbar等，也提供了一些用于布局的容器类，如box layout和table。</p>
<p>MX是一套C库，依赖于clutter和glib。从面向对象的角度看，MX中的基类MxWidget继承自ClutterActor，因此所有针对ClutterActor的操作对MxWidget均可用。从MX的API来看，和GTK倒是有几分相似，熟悉GTK开发的程序员上手应该很快。</p>
<p>不过需要注意的是，目前MX还没有到稳定版本，如果要在正式产品中使用，还请慎重考虑。有兴趣的朋友可以到该项目的官方网址<a href="http://moblin.org/projects/moblin-ui-toolkit">http://moblin.org/projects/moblin-ui-toolkit</a>了解更多内容。</p>
<p>以下代码是从MX的示例代码中摘出的，功能并不完整，只是用来说明MX应用程序代码结构。</p>
<p>#include &lt;clutter/clutter.h&gt;</p>
<p>#include &lt;mx/mx.h&gt;</p>
<p>int main (int argc, char *argv[])</p>
<p>{</p>
<p>ClutterActor *stage, *vbox, *hbox, *holder, *mainbox, *toolbar, *combo;</p>
<p>MxApplication *application;</p>
<p>//</p>
<p>//初始化</p>
<p>// MX: mx_application_new(), 和当年的Hildon很像，呵呵。</p>
<p>// Clutter: clutter_init()</p>
<p>// GTK: gtk_init()</p>
<p>//</p>
<p>application = mx_application_new (&amp;argc, &amp;argv, "Test Mx",</p>
<p>MX_APPLICATION_SINGLE_INSTANCE);</p>
<p>stage = (ClutterActor*) mx_application_create_window (application);</p>
<p>clutter_actor_set_size (stage, 800, 600);</p>
<p>//</p>
<p>//布局方式: Box packing, 用过GTK的朋友应该很熟了</p>
<p>//</p>
<p>mainbox = mx_box_layout_new ();</p>
<p>clutter_actor_set_size (mainbox, 800, 600);</p>
<p>mx_box_layout_set_vertical (MX_BOX_LAYOUT (mainbox), TRUE);</p>
<p>clutter_container_add_actor (CLUTTER_CONTAINER (stage), mainbox);</p>
<p>/* create the toolbar */</p>
<p>toolbar = mx_toolbar_new ();</p>
<p>mx_bin_set_alignment (MX_BIN (toolbar), MX_ALIGN_MIDDLE, MX_ALIGN_MIDDLE);</p>
<p>combo = mx_combo_box_new ();</p>
<p>clutter_container_add_actor (CLUTTER_CONTAINER (toolbar), combo);</p>
<p>mx_combo_box_set_title (MX_COMBO_BOX (combo), "Select");</p>
<p>mx_combo_box_append_text (MX_COMBO_BOX (combo), "Hello");</p>
<p>mx_combo_box_append_text (MX_COMBO_BOX (combo), "World");</p>
<p>/* create the horizontal layout */</p>
<p>hbox = mx_box_layout_new ();</p>
<p>clutter_actor_set_position (hbox, 12, 12);</p>
<p>/* add toolbar and hoizontal layout to main container */</p>
<p>clutter_container_add (CLUTTER_CONTAINER (mainbox), toolbar, hbox, NULL);</p>
<p>/* create a vbox for the list of tests */</p>
<p>vbox = mx_box_layout_new ();</p>
<p>mx_box_layout_set_vertical (MX_BOX_LAYOUT (vbox), TRUE);</p>
<p>clutter_container_add_actor (CLUTTER_CONTAINER (hbox), vbox);</p>
<p>/* create a place holder for the tests */</p>
<p>holder = clutter_group_new ();</p>
<p>clutter_container_add_actor (CLUTTER_CONTAINER (hbox), holder);</p>
<p>group = mx_button_group_new ();</p>
<p>add_tab (CLUTTER_CONTAINER (vbox), group, "Label",</p>
<p>(GCallback) label_main, CLUTTER_CONTAINER (holder));</p>
<p>add_tab (CLUTTER_CONTAINER (vbox), group, "Entry",</p>
<p>(GCallback) entry_main, CLUTTER_CONTAINER (holder));</p>
<p>add_tab (CLUTTER_CONTAINER (vbox), group, "Button", (GCallback) buttons_main,</p>
<p>CLUTTER_CONTAINER (holder));</p>
<p>add_tab (CLUTTER_CONTAINER (vbox), group, "Combo Box",</p>
<p>(GCallback) combo_box_main, CLUTTER_CONTAINER (holder));</p>
<p>add_tab (CLUTTER_CONTAINER (vbox), group, "Progress Bar",</p>
<p>(GCallback) progress_bar_main, CLUTTER_CONTAINER (holder));</p>
<p>add_tab (CLUTTER_CONTAINER (vbox), group, "Slider",</p>
<p>(GCallback) slider_main, CLUTTER_CONTAINER (holder));</p>
<p>add_tab (CLUTTER_CONTAINER (vbox), group, "Toggle",</p>
<p>(GCallback) toggle_main, CLUTTER_CONTAINER (holder));</p>
<p>add_tab (CLUTTER_CONTAINER (vbox), group, "Tooltips",</p>
<p>(GCallback) tooltips_main, CLUTTER_CONTAINER (holder));</p>
<p>add_tab (CLUTTER_CONTAINER (vbox), group, "Expander",</p>
<p>(GCallback) expander_main, CLUTTER_CONTAINER (holder));</p>
<p>add_tab (CLUTTER_CONTAINER (vbox), group, "Scroll Grid",</p>
<p>(GCallback) scroll_grid_main, CLUTTER_CONTAINER (holder));</p>
<p>add_tab (CLUTTER_CONTAINER (vbox), group, "Scroll Bar",</p>
<p>(GCallback) scroll_bar_main, CLUTTER_CONTAINER (holder));</p>
<p>add_tab (CLUTTER_CONTAINER (vbox), group, "Scroll View",</p>
<p>(GCallback) scroll_view_main, CLUTTER_CONTAINER (holder));</p>
<p>add_tab (CLUTTER_CONTAINER (vbox), group, "Styles",</p>
<p>(GCallback) styles_main, CLUTTER_CONTAINER (holder));</p>
<p>clutter_actor_show (stage);</p>
<p>//</p>
<p>//Mainloop</p>
<p>//MX: mx_application_run()</p>
<p>//Clutter: clutter_main()</p>
<p>//GTK: gtk_main()</p>
<p>//</p>
<p>mx_application_run (application);</p>
<p>return EXIT_SUCCESS;</p>
<p>}</p>
<p>可以看到，MX应用程序代码结构和Clutter与GTK程序相比大同小异，这使得程序移植的难度相对降低了。当然，由于目前控件还不是太丰富，因此若是复杂的GTK程序要移植到MX上可能还是要费一番功夫，但是Clutter应用程序的移植相对就容易了许多。</p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/zh-cn/blogs/2010/01/20/cluttermx/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Intel AppUp Center上线了</title>
		<link>http://software.intel.com/zh-cn/blogs/2010/01/12/intel-appup-center/</link>
		<comments>http://software.intel.com/zh-cn/blogs/2010/01/12/intel-appup-center/#comments</comments>
		<pubDate>Tue, 12 Jan 2010 07:45:54 +0000</pubDate>
		<dc:creator>方亮 (Intel)</dc:creator>
				<category><![CDATA[其他]]></category>
		<category><![CDATA[移动技术]]></category>
		<category><![CDATA[AppUp]]></category>

		<guid isPermaLink="false">http://software.intel.com/zh-cn/blogs/2010/01/12/intel-appup-center/</guid>
		<description><![CDATA[1月7日，Beta版的Intel® AppUpSM Center正式上线，随之一同发布的还有一款上网本客户端软件，通过这款客户端，用户可以方便的浏览、搜索、购买和下载应用程序商店中的软件，并且可以管理已下载的软件，对已下载的软件进行评分和发表评论。不过目前暂时只有针对Windows操作系统的客户端，且该服务目前暂时只针对美国和加拿大用户开放。
AppUpSM的正式上线标志着Intel的应用程序商店已具雏形：开发者可以通过Intel® Atom™ Developer Program提交所开发的应用程序，如果该程序通过了审核验证，那么最终用户可以通过Intel® AppUpSM Center的客户端看到这款软件，并且能购买与下载安装。
更多消息请参考http://www.intel.com/consumer/products/appup.htm?cid=sw:dev4atom291和http://appdeveloper.intel.com/en-us/
以下是Intel AppUp Center客户端的一些截图，由于中国用户暂时无法申请账号，所以就只有这些啦。:)




]]></description>
			<content:encoded><![CDATA[<p>1月7日，Beta版的Intel® AppUp<sup>SM</sup> Center正式上线，随之一同发布的还有一款上网本客户端软件，通过这款客户端，用户可以方便的浏览、搜索、购买和下载应用程序商店中的软件，并且可以管理已下载的软件，对已下载的软件进行评分和发表评论。不过目前暂时只有针对Windows操作系统的客户端，且该服务目前暂时只针对美国和加拿大用户开放。</p>
<p>AppUp<sup>SM</sup>的正式上线标志着Intel的应用程序商店已具雏形：开发者可以通过Intel® Atom™ Developer Program提交所开发的应用程序，如果该程序通过了审核验证，那么最终用户可以通过Intel® AppUp<sup>SM</sup> Center的客户端看到这款软件，并且能购买与下载安装。</p>
<p>更多消息请参考<a href="http://www.intel.com/consumer/products/appup.htm?cid=sw:dev4atom291">http://www.intel.com/consumer/products/appup.htm?cid=sw:dev4atom291</a>和<a href="http://appdeveloper.intel.com/en-us/">http://appdeveloper.intel.com/en-us/</a></p>
<p>以下是Intel AppUp Center客户端的一些截图，由于中国用户暂时无法申请账号，所以就只有这些啦。:)</p>
<p><a href="http://software.intel.com/zh-cn/blogs/wordpress/wp-content/uploads/2010/01/home2.jpg"><img class="alignnone size-large wp-image-400003162" src="http://software.intel.com/zh-cn/blogs/wordpress/wp-content/uploads/2010/01/home2-1024x600.jpg" alt="" width="1024" height="600" /></a></p>
<p><a href="http://software.intel.com/zh-cn/blogs/wordpress/wp-content/uploads/2010/01/category.jpg"><img class="alignnone size-large wp-image-400003167" src="http://software.intel.com/zh-cn/blogs/wordpress/wp-content/uploads/2010/01/category-1024x600.jpg" alt="" width="1024" height="600" /></a></p>
<p><a href="http://software.intel.com/zh-cn/blogs/wordpress/wp-content/uploads/2010/01/app1.jpg"><img class="alignnone size-large wp-image-400003163" src="http://software.intel.com/zh-cn/blogs/wordpress/wp-content/uploads/2010/01/app1-1024x600.jpg" alt="" width="1024" height="600" /></a></p>
<p><a href="http://software.intel.com/zh-cn/blogs/wordpress/wp-content/uploads/2010/01/search2.jpg"><img class="alignnone size-large wp-image-400003165" src="http://software.intel.com/zh-cn/blogs/wordpress/wp-content/uploads/2010/01/search2-1024x600.jpg" alt="" width="1024" height="600" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/zh-cn/blogs/2010/01/12/intel-appup-center/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Clarkdale和Arrandale之规格</title>
		<link>http://software.intel.com/zh-cn/blogs/2010/01/10/clarkdalearrandale/</link>
		<comments>http://software.intel.com/zh-cn/blogs/2010/01/10/clarkdalearrandale/#comments</comments>
		<pubDate>Sun, 10 Jan 2010 15:06:43 +0000</pubDate>
		<dc:creator>Yanqing Wang (Intel)</dc:creator>
				<category><![CDATA[博客征文专栏]]></category>
		<category><![CDATA[图形和视觉计算]]></category>
		<category><![CDATA[移动技术]]></category>

		<guid isPermaLink="false">http://software.intel.com/zh-cn/blogs/2010/01/10/clarkdalearrandale/</guid>
		<description><![CDATA[    Clarkdale和Arrandale是集成Intel GMA HD显卡的新一代处理器，它们分别面对桌面和移动CPU市场。在Arrandale，CPU与G45的瑰宝一文中，笔者已经具体介绍了Arrandale的特点和趋势，它同样也适用于Clarkdale，所以在此将不再赘数。此外，鉴于Clarkdale和Arrandale的丰富的CPU型号（对应的具体参数难于识记），有网友希望能够有一个简明的表格可以查询（不必每次借助于CPU-Z等工具一一查看）。据此，笔者整理后提供了一个简易的查询表格，如表1，希望能够满足要求。

                            表1 Clarkdale和Arrandale之规格
在查看表1后，细心的网友可能发现，笔者没有将Pentium G6950放入表格，故这里补充一下它的参数：集成显卡主频是533MHZ，CPU主频是2.80GHZ，2C:4T。此外，在Arrandale中，集成显卡的主频普遍比Clarkdale低，最高为533MHZ，最低位166MHZ，主要因为节能方面的考虑。
]]></description>
			<content:encoded><![CDATA[<p>    Clarkdale和Arrandale是集成Intel GMA HD显卡的新一代处理器，它们分别面对桌面和移动CPU市场。在<a href="http://software.intel.com/zh-cn/blogs/2009/12/11/arrandalecpug45/">Arrandale，CPU与G45的瑰宝</a>一文中，笔者已经具体介绍了Arrandale的特点和趋势，它同样也适用于Clarkdale，所以在此将不再赘数。此外，鉴于Clarkdale和Arrandale的丰富的CPU型号（对应的具体参数难于识记），有网友希望能够有一个简明的表格可以查询（不必每次借助于CPU-Z等工具一一查看）。据此，笔者整理后提供了一个简易的查询表格，如表1，希望能够满足要求。</p>
<p><a href="http://software.intel.com/zh-cn/blogs/wordpress/wp-content/uploads/2010/01/Clarkdale-and-Arrandale.png"><img class="alignnone size-full wp-image-400003132" src="http://software.intel.com/zh-cn/blogs/wordpress/wp-content/uploads/2010/01/Clarkdale-and-Arrandale.png" alt="" width="738" height="405" /></a><br />
                            表1 Clarkdale和Arrandale之规格</p>
<p>在查看表1后，细心的网友可能发现，笔者没有将Pentium G6950放入表格，故这里补充一下它的参数：集成显卡主频是533MHZ，CPU主频是2.80GHZ，2C:4T。此外，在Arrandale中，集成显卡的主频普遍比Clarkdale低，最高为533MHZ，最低位166MHZ，主要因为节能方面的考虑。</p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/zh-cn/blogs/2010/01/10/clarkdalearrandale/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ATOM优化之GCC篇</title>
		<link>http://software.intel.com/zh-cn/blogs/2009/12/31/atomgcc/</link>
		<comments>http://software.intel.com/zh-cn/blogs/2009/12/31/atomgcc/#comments</comments>
		<pubDate>Thu, 31 Dec 2009 03:43:32 +0000</pubDate>
		<dc:creator>Yanqing Wang (Intel)</dc:creator>
				<category><![CDATA[图形和视觉计算]]></category>
		<category><![CDATA[开放源代码]]></category>
		<category><![CDATA[移动技术]]></category>

		<guid isPermaLink="false">http://software.intel.com/zh-cn/blogs/2009/12/31/atomgcc/</guid>
		<description><![CDATA[在ATOM程序优化利器中，笔者着重讲述了如何使用Intel Compiler对ATOM应用程序的优化，很多网友都比较感兴趣并想知道在GCC编译器下如何优化ATOM。借此，本文将重点于讨论如何使ATOM应用程序在GCC编译器下优化。
细心的网友可能发现GCC4.4.2手册没有讲述如何在ATOM平台优化，所以要通过GCC对ATOM平台优化，一定要从平台的特性出发。为了便于理解，先回顾一下ATOM平台的特点：
1. ATOM平台的指令是顺序执行的。
2. ATOM平台支持超线程技术，也就是我们通常所说的1C:2T。
3. ATOM平台支持SSE3指令集。
如果我们的GCC编译选项能够满足这基本的三大点，那么相应的应用程序性能也将会有很大提升。
讨论1：ATOM应用程序在ATOM计算机上编译。
对于本机编译而言，这种开发环境相对是比较容易优化的。我们只要关心两个基本点：
1. SSE3指令集。
2. 平台环境（32位还是64位？）。
a) 对于32位操作系统，ATOM应用程序的优化设置为：
-mtune=native -m32 -mmmx -msse -msse2 -msse3 -mssse3 -mfpmath=sse -O3
说明：
-mtune 表示CPU类型，因为它是本地编译，所以选择native编译选项。
-m32 表示平台是32位OS。
-mmmx -msse -msse2 -msse3 -mssse3 表示它支持MMX和SSE1~3的全部指令，编译器更加代码情况优化。
-mfpmath=sse 表示使用SSE指令浮点库
-O3 表示是第3级别优化
b) 对于64位操作系统，ATOM应用程序的优化设置为：
-mtune=native -m64 -mmmx -msse -msse2 -msse3 -mssse3 -mfpmath=sse -O3
和32位系统的唯一差别是：使用-m64替代了-m32，这个比较容易理解，不再赘述了。
讨论2：ATOM应用程序在非ATOM计算机上编译。
相比与讨论1，这里的主要差别是编译的计算器不是ATOM平台，那么默认的本地优化必须手工设置。按照32位和64位的区别，下文还是分别展开。
a) 对于32位操作系统，ATOM应用程序的优化设置为：
-mtune=pentium -m32 -mmmx -msse -msse2 -msse3 -mssse3 -mfpmath=sse -O3
说明
-mtune设置为pentium处理器，主要考虑它的指令是顺序执行。这个和ATOM的执行顺序十分吻合，对于程序的效率和节能方面将有很大帮助。
-m32 表示平台是32位OS。
-mmmx -msse -msse2 -msse3 -mssse3 表示它支持MMX和SSE1~3的全部指令，编译器更加代码情况优化。
-mfpmath=sse 表示使用SSE指令浮点库
-O3 表示是第3级别优化
b) 对于64位操作系统，ATOM应用程序的优化设置为：
-mtune=pentium -m64 -mmmx -msse [...]]]></description>
			<content:encoded><![CDATA[<p>在<a href="http://software.intel.com/zh-cn/blogs/2009/11/23/atom-3/">ATOM程序优化利器</a>中，笔者着重讲述了如何使用Intel Compiler对ATOM应用程序的优化，很多网友都比较感兴趣并想知道在GCC编译器下如何优化ATOM。借此，本文将重点于讨论如何使ATOM应用程序在GCC编译器下优化。</p>
<p>细心的网友可能发现<a href="http://gcc.gnu.org/onlinedocs/gcc-4.4.2/gcc.pdf">GCC4.4.2手册</a>没有讲述如何在ATOM平台优化，所以要通过GCC对ATOM平台优化，一定要从平台的特性出发。为了便于理解，先回顾一下ATOM平台的特点：<br />
1. ATOM平台的指令是顺序执行的。<br />
2. ATOM平台支持超线程技术，也就是我们通常所说的1C:2T。<br />
3. ATOM平台支持SSE3指令集。<br />
如果我们的GCC编译选项能够满足这基本的三大点，那么相应的应用程序性能也将会有很大提升。</p>
<p><strong>讨论1：ATOM应用程序在ATOM计算机上编译。</strong><br />
对于本机编译而言，这种开发环境相对是比较容易优化的。我们只要关心两个基本点：<br />
1. SSE3指令集。<br />
2. 平台环境（32位还是64位？）。<br />
a) 对于32位操作系统，ATOM应用程序的优化设置为：<br />
-mtune=native -m32 -mmmx -msse -msse2 -msse3 -mssse3 -mfpmath=sse -O3<br />
说明：<br />
-mtune 表示CPU类型，因为它是本地编译，所以选择native编译选项。<br />
-m32 表示平台是32位OS。<br />
-mmmx -msse -msse2 -msse3 -mssse3 表示它支持MMX和SSE1~3的全部指令，编译器更加代码情况优化。<br />
-mfpmath=sse 表示使用SSE指令浮点库<br />
-O3 表示是第3级别优化</p>
<p>b) 对于64位操作系统，ATOM应用程序的优化设置为：<br />
-mtune=native -m64 -mmmx -msse -msse2 -msse3 -mssse3 -mfpmath=sse -O3<br />
和32位系统的唯一差别是：使用-m64替代了-m32，这个比较容易理解，不再赘述了。</p>
<p><strong>讨论2：ATOM应用程序在非ATOM计算机上编译。</strong><br />
相比与讨论1，这里的主要差别是编译的计算器不是ATOM平台，那么默认的本地优化必须手工设置。按照32位和64位的区别，下文还是分别展开。<br />
a) 对于32位操作系统，ATOM应用程序的优化设置为：<br />
-mtune=pentium -m32 -mmmx -msse -msse2 -msse3 -mssse3 -mfpmath=sse -O3<br />
说明<br />
-mtune设置为pentium处理器，主要考虑它的指令是顺序执行。这个和ATOM的执行顺序十分吻合，对于程序的效率和节能方面将有很大帮助。<br />
-m32 表示平台是32位OS。<br />
-mmmx -msse -msse2 -msse3 -mssse3 表示它支持MMX和SSE1~3的全部指令，编译器更加代码情况优化。<br />
-mfpmath=sse 表示使用SSE指令浮点库<br />
-O3 表示是第3级别优化</p>
<p>b) 对于64位操作系统，ATOM应用程序的优化设置为：<br />
-mtune=pentium -m64 -mmmx -msse -msse2 -msse3 -mssse3 -mfpmath=sse -O3<br />
和32位系统的唯一差别是：使用-m64替代了-m32，这个比较容易理解，不再赘述了。</p>
<p>虽然GCC在ATOM应用程序方面也做了相当的工作，但是较Intel编译器而言还是有差距的。比如说，使用Intel 10.0编译出的程序与GCC4.1.1编译出的程序，在电池耐久力方面高~10%，在Renders数量方面要高~18%，所以笔者个人认为：尽量使用Intel编译器编译ATOM程序，除非非要用GCC来编译才选择。</p>
<p>总之，个人观点，欢迎讨论！</p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/zh-cn/blogs/2009/12/31/atomgcc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>当Widget遇上MID</title>
		<link>http://software.intel.com/zh-cn/blogs/2009/12/29/widgetmid/</link>
		<comments>http://software.intel.com/zh-cn/blogs/2009/12/29/widgetmid/#comments</comments>
		<pubDate>Tue, 29 Dec 2009 09:40:28 +0000</pubDate>
		<dc:creator>谢周意 (Intel)</dc:creator>
				<category><![CDATA[移动技术]]></category>
		<category><![CDATA[Atom]]></category>
		<category><![CDATA[MID]]></category>
		<category><![CDATA[Widget]]></category>
		<category><![CDATA[手持设备]]></category>

		<guid isPermaLink="false">http://software.intel.com/zh-cn/blogs/2009/12/29/widgetmid/</guid>
		<description><![CDATA[说到Widget，相信大家不会陌生。各位首先想到的可能是Yahoo Widget，Google Desktop或Vista SideBar这些桌面Widget。他们炫丽的UI确实让人印象深刻。但Widget发展到今天，它的概念不仅仅是“桌面上的小部件”而已，已经有了比较广泛的含义。
一般来说，Widget可以分为三类：桌面Widget、网页Widget和移动Widget。
桌面Widget：就是大家普遍熟悉的PC桌面上的传统Widget部件。这类Widget一般有炫酷的界面，给桌面起到装饰的作用。
网页Widget：这类Widget一般作为一个模块嵌入网页中，起到个性化网页的作用。比如iGoogle，Sohu 博客和Chinaren校友录中的模块即是这一类Widget。
移动Widget：这类Widget运行在手持设备中。因为一般的移动设备屏幕比较小，所以一般都不作为桌面上的浮动部件出现，而是作为一个简单易用的应用程序。
其实这三类Widget没有明显的界线，它们之间可以相互移植或转化。
传统的桌面Widget，虽然开始的时候能给人眼前一亮的感觉，但至今没有真正火起来。我觉得原因有三：第一是因为传统PC上的应用已经非常丰富，Widget应用只能作为一个很小的补充；第二是传统PC在使用模式上，用户往往倾向于功能强大或者集多种功能于一身的应用，而Widget的功能一般都比较贫乏简单；第三是桌面Widget的UI固然炫丽，但对系统资源占用也比较严重。
相比桌面Widget而言，最近移动Widget则相对流行一些。我觉得原因也有三：
第一、 手持设备上的应用相比传统PC上的应用要少很多，而Widget正好起到一个很好的补充作用；
第二、 手持设备的用户在移动过程中并不需要功能非常复杂或强大的应用，更倾向于简单易用的功能；在路途中，在小的屏幕上，更需要的是直观明了的互联网内容和服务；
第三、 Widget应用的开发相对传统的应用要简单得多，基于JavaScript，HTML和CSS等网页语言就能开发出一个炫丽的Widget应用。
当然，目前的移动Widget也有劣势。首先，Widget应用的功能还是过于简单，大部分的特性都是基于Web的，在没有互联网连接的情况下基本不可用；对于本地资源、服务、接口的功能调用方面，虽然已经开始有些支持，但还很不完善，整个行业也还没有统一的标准。其次，对于UI炫丽而且功能比较强大的Widget，在普通的手机平台上运行得不够流畅，影响用户体验。
而当Widget遇上MID，我觉得是一个比较完美的结合。
一方面，移动Widget的优点能给MID的应用起到很好的补充作用；另一方面，MID比较强大的处理能力，正好能弥补目前移动Widget中的劣势，比如在UI和多媒体处理方面提高Widget的性能和用户体验。
所以我觉得，Widget作为MID中应用的补充是一个不错的选择。
]]></description>
			<content:encoded><![CDATA[<p>说到Widget，相信大家不会陌生。各位首先想到的可能是Yahoo Widget，Google Desktop或Vista SideBar这些桌面Widget。他们炫丽的UI确实让人印象深刻。但Widget发展到今天，它的概念不仅仅是“桌面上的小部件”而已，已经有了比较广泛的含义。</p>
<p>一般来说，Widget可以分为三类：桌面Widget、网页Widget和移动Widget。</p>
<p>桌面Widget：就是大家普遍熟悉的PC桌面上的传统Widget部件。这类Widget一般有炫酷的界面，给桌面起到装饰的作用。</p>
<p>网页Widget：这类Widget一般作为一个模块嵌入网页中，起到个性化网页的作用。比如iGoogle，Sohu 博客和Chinaren校友录中的模块即是这一类Widget。</p>
<p>移动Widget：这类Widget运行在手持设备中。因为一般的移动设备屏幕比较小，所以一般都不作为桌面上的浮动部件出现，而是作为一个简单易用的应用程序。</p>
<p>其实这三类Widget没有明显的界线，它们之间可以相互移植或转化。</p>
<p>传统的桌面Widget，虽然开始的时候能给人眼前一亮的感觉，但至今没有真正火起来。我觉得原因有三：第一是因为传统PC上的应用已经非常丰富，Widget应用只能作为一个很小的补充；第二是传统PC在使用模式上，用户往往倾向于功能强大或者集多种功能于一身的应用，而Widget的功能一般都比较贫乏简单；第三是桌面Widget的UI固然炫丽，但对系统资源占用也比较严重。</p>
<p>相比桌面Widget而言，最近移动Widget则相对流行一些。我觉得原因也有三：</p>
<p>第一、 手持设备上的应用相比传统PC上的应用要少很多，而Widget正好起到一个很好的补充作用；</p>
<p>第二、 手持设备的用户在移动过程中并不需要功能非常复杂或强大的应用，更倾向于简单易用的功能；在路途中，在小的屏幕上，更需要的是直观明了的互联网内容和服务；</p>
<p>第三、 Widget应用的开发相对传统的应用要简单得多，基于JavaScript，HTML和CSS等网页语言就能开发出一个炫丽的Widget应用。</p>
<p>当然，目前的移动Widget也有劣势。首先，Widget应用的功能还是过于简单，大部分的特性都是基于Web的，在没有互联网连接的情况下基本不可用；对于本地资源、服务、接口的功能调用方面，虽然已经开始有些支持，但还很不完善，整个行业也还没有统一的标准。其次，对于UI炫丽而且功能比较强大的Widget，在普通的手机平台上运行得不够流畅，影响用户体验。</p>
<p>而当Widget遇上MID，我觉得是一个比较完美的结合。</p>
<p>一方面，移动Widget的优点能给MID的应用起到很好的补充作用；另一方面，MID比较强大的处理能力，正好能弥补目前移动Widget中的劣势，比如在UI和多媒体处理方面提高Widget的性能和用户体验。</p>
<p>所以我觉得，Widget作为MID中应用的补充是一个不错的选择。</p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/zh-cn/blogs/2009/12/29/widgetmid/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
