现在该选x86还是x64?(转)
看了这篇文章觉得很有道理,不要盲目地跟风,什么东西一概 64!文章如下:
文章可能会比较长,所以先把结论写在前面,有兴趣的就看完,没兴趣的或者坚持自己独特看法的,现在就可以直接按浏览器的“返回”按钮了。
结论:一个普通的便携机,家庭台式机,甚至高端平面图形工作站,现在仍然完完全全没有必要安装64位操作系统。
引用微软自己对64bit xp系统的介绍:
“Microsoft 已经开始开发它的第一个64位客户操作系统--Windows® XP 64-Bit Edition,来满足电影特效制作、3D动画、工程和科学应用这样的特殊用户对大量内存和高浮点运算性能的需求。
在专业化和科技应用上的性能优点
64位计算的优异性能给汽车或飞机设计这样的领域带来了巨大的好处,因为它允许工程师创建更大、更复杂的模型。(以下省略)……”
看到了?如果您使用的是拥有超过4G内存的电脑,并且您正在从事好莱坞电影特效制作,或者您是设计汽车飞机火箭大炮的专家的话,我强烈建议您立刻安装Windows XP/Vista 64-bit Edition。
如果您是一个平面图形工程师,或者您只是一个普通的计算机用户,那么你现在用32-bit的windows系统将会带给你更好的性能。——非要给自己的电脑弄一个64位的系统并不会让你显得“专业”,相反可能还有些可笑。
不是号称64位是未来的潮流嘛?的确,个人计算机的内存越来越多,应用软件所消耗的内存也越来越多。64位时代一定会到来,但绝对不是现在。
作为平面图形工作站必备软件之一的Adobe Photoshop想必没人不知道吧?Photoshop吃内存之狠想必大家也都深有体会。但是就连这样对内存有着极大需求的应用软件,在今年3月底就要推出最新的CS3版的时候,却还是没有提供64位支持。
聪明人看完上面这句话,应该能明白我要说什么了吧。64位还有很长一段路要走。可能是一年,也可能更长。
也许当Photoshop推出64位版本的时候,才是考虑是否要把家里的台式机也升级到64位的时候吧。
也许有人要说,我非要用64位的操作系统,反正它也兼容32位的软件,我的硬件也都能找到64位的驱动程序……
那么真的有必要吗?首先可以肯定地是,32位软件在64位系统下运行,绝对比其在纯32位系统下要慢。下面从32位软件在64位系统上运行的基本原理上进行说明。
32位软件运行于64位系统时,需要由一个叫做WOW64的东西来作为“桥梁”。
WOW64 是 Windows-32-on-Windows-64 的缩写。它为现有的 32 位应用程序提供了 32 位的模拟,可以使大多数 32 位应用程序在无需修改的情况下运行在 Windows 64 位版本上。它类似于旧的 WOW32 子系统,负责在 Windows 32 位版本下运行 16 位的代码。
硬件本身具有 32 位兼容性模式,可以处理 IA-32 指令的实际执行(例如你的Pentium 4 EMT64 CPU),而 WOW 层处理诸如在 32 位和 64 位模式之间切换处理器以及模拟 32 位系统的事务。例如,32 位和 64 位程序具有不同的注册表配置单元。还有一个用于 32 位二进制文件的不同的系统目录。64 位二进制文件仍然使用 System32 目录,因此,当 32 位应用程序安装到系统中时,WOW 层会确保将 32 位二进制文件置于一个新的目录 SysWOW64 中。这是通过如下方式实现的:根据应用程序是否运行在 WOW 下,截获对 API 的调用(如 GetSystemDirectory)并返回适当的目录。相同的问题可能会存在于注册表中。因为 32 位和 64 位的 COM 服务器都可以安装在系统上,并位于相同的类标识符 (CLSID) 下,因此 WOW 层需要将对注册表的调用重定向到适当的 32 位或 64 位配置单元中。WOW 层也会处理注册表中某些区域之间的镜像更改,以便使其更简单地支持 32 位和 64 位代码之间的交互操作。
WOW64 非常重要,因为当不关注性能和可伸缩性的问题时,它使您可以利用大多数现有的 32 位代码。有关 WOW64 的另外一点需要牢记:它并不是为要求高性能的应用程序而设计的。至少,WOW64 子系统需要将 32 位参数扩展到 64 位,并且需要将 64 位的返回值截断为 32 位。在最糟糕的情况下,WOW64 子系统将需要进行内核调用,涉及到的不仅仅是到内核的转换,还有从处理器的 32 位兼容性模式到其本机 64 位模式的转换。在 WOW64 下运行时,应用程序将无法妥当地进行调整。
简单来说,64位操作系统是让你来运行64位软件而不是32位软件的,出于兼容和减少升级成本的目的,64位操作系统可以兼容大部分的32位软件,但是性能嘛……
另外,WOW64 是在用户模式下实现的,作为 ntdll.dll 和内核之间的层。WOW64 及其支持的一些 DLL 仅仅是可以加载到 32 位进程中的 64 位的 DLL。对于所有其他情况,进程保持为纯进程。32 位的进程无法加载 64 位的 DLL,反之亦然。这就是为什么64位的IE浏览器无法打开flash动画的原因——因为Flash Player根本就没有64位的版本。而在64位的进程中加在32位的dll是不可能的。这也是造成很多32位软件到了64位系统下无法使用的原因之一。
至于内存,就算你把4G内存升级到8G,对于单个Photoshop 32位版本来说,也并不能获得多少性能提升。——也许你同时开两个会比以前快吧……
说了这么多,不想再说了。各位连64位软件都没有的同志,不要自己没事找事搞什么64位操作系统了,纯属瞎折腾!
转自:Vista粉丝网