2020年8月1日,是中国人民解放军建军93周年的好日子。昨天晚上,DNF也发生了一件意义重大的事情:64位客户端登录格兰之森体验服。用了十多年的32位程序,终于要发生进化了。32位到64位到底是什么意思呢?它又能解决什么问题呢?想要了解这些问题,我们可以先从32位的问题入手。
不知道各位读者目前手边的电脑安装内存是多大,操作系统又是多少位的。如果你安装的是32位的操作系统,那么很抱歉,它并不能运行64位程序,而且最大支持可以寻址的内存理论上,也不会超过4GB。
32位操作系统,实际上连4GB内存都无法全部使用
计算机最小存储单位
计算机最小的存储单位是什么?答案是bit,这里的Byte就是指我们本篇所讲的字节。
内存地址与可用内存大小
在内存中,我们已经确定了以1个Byte代替1个bit来减轻数据访问工作量的方式。但显而易见,这仍然不够。内存中可以存储的Byte非常多,光是1GB就有2^30Byte,即约10亿个字节,几乎接近中国目前总人口的70%。在10亿人当中找到1个人的难度可想而知。
为了解决这个问题,我们引入内存地址的概念,即给这10亿个人每人都分配一间住房。这样,在我们想找1个人的时候,只需要知道他住在那里(内存地址)就可以了,而不再需要一个人一个人的认过去。现实生活中我们的地址表示方式是通过行政区域的概念,从大到小来实现的,比如“北京市北京市海淀区知春路甲48号”。而在计算机中,则是以一串二进制数字来表示的。
我们一直讲到的32位系统,实际上就是将上述表示内存地址的这一串数字的长度定位32。每个数字均能填入一个数字,32个数字构成的每一个值都可以代表一个内存地址,每个内存地址上都存放了一个大小为1Byte的数据。内存地址的长度,从根本上决定了理论上可使用的内存的最大大小。显而易见的是,32个数字能够表示2^32个内存地址,即约4GB的数据量。因此,我们电脑明明安装了4GB或以上的内存,但当使用32位操作系统时却并不能完全使用的道理,就源自于此处。
如果将内存地址的长度扩大为64bit,即使用64位系统,理论上我们能调用的内存上限,则扩大到了2^64=256TB,这是32位系统允许的最大内存的40亿倍。
DNF内存占用
作为一个2003年立项开发的游戏项目,DNF的编写必然是以32位环境为基础的,毕竟64位的架构,在2003年才刚刚被引入到个人计算机领域的主流。实际上我们的电脑大规模的变为64位已经是到了Window7的后期,早已过了2010年了。而2003年,我们的机器大多用的还是Windows XP甚至Windows 2000。
由于32位软件的局限性,DNF所能调用的最大内存当然也不超过4GB。在游戏的聊天框内输入“//monitor”命令,我们就能够看到包括当前内存占用情况(Memory Usage)等一系列数据了。
DNF内存占用情况
众所周知,DNF这款游戏占用的内存空间是极大的。刚登录游戏后,我们第一次释放技能、第一次进入副本时都可能会出现卡顿,这就是计算机将各类贴图数据读入到内存中造成的。并且后续游戏过程中,只要不退出游戏,这些数据基本都不会被释放,所以游戏时间越久,我们的内存占用会越大,当超过了一定限度(比如4GB)时,游戏就会因为内存溢出而崩溃闪退了。
所以,这次游戏从32位升级为64位,可谓一次史诗性的升级,理论上直接将内存调用最大上限从4GB变为了256TB,相当于取消了这个限制。也就是说,我们以后再也不会遇到由于内存溢出而导致游戏崩溃的事情了。实际上,它能从根本上解决我们长时间登录游戏不下线、使用多个角色切换进行游戏、频繁打团等经常导致游戏卡顿或闪退的问题。
不过,正如开头我们所说,32位的操作系统是无法运行64位的程序的。也就是说,如果你的电脑还在坚持使用32位系统,那么是时候对它进行更新了。
亦或者,换个游戏?
以上就是朝夕生活(www.30zx.com)关于“DNF丨从32位到64位,可不是乘以2那么简单”的详细内容,希望对大家有所帮助!