假如把Minecraft地图中,一切的区块都加载出来,那么这个存档将会有多大?
当我忽然冒出这个主意,并决议去《我的国际》找出答案的时分。才发现自己给自己挖了一个巨大的坑!
下面是一个费尽心机“填坑”的核算进程。
首要,悉数坚持区块加载,这或许完成么?
关于大神来说,没有什么不或许的!2017年2月份,这是一个值得纪念的日子,神仙级玩家gnembon发现了“我的国际”区块永久加载器!
原版mc区块加载原理;
《我的国际》是由无数个16*16*256为单位的区块组成,玩家一向向前,则所在的区块被加载,死后通过的区块被卸载。这么一个继续加载和卸载的进程。
区块永久加载器;
便是一种使用各种红石器材,人为的加载无法被玩家加载到的悠远区块。并且能够坚持该区块正常、继续的运作。而不需求玩家近距离加载的一个神仙技能。
可是有一个难点便是,体系会在每45秒检测该区块是否是被玩家所加载,若否,则《我的国际》强制卸载。所以大多数的红石设备(例:伪平和开关)都无法做到永久加载。
像矢量珍珠炮,实际上即便用了“区块永久加载器”,才干到达如此长距离的瞬间百万格的瞬移和迁跃。可是,这仅仅一个方向上的永久加载。
若你有满足强壮电脑设备。一起加载地图上一切区块,乃至是主国际、下界、末地三个维度一起进行“永久加载”。当然这在“理论”上是能够用“区块永久加载器”来完成!
仅仅你有那么大的硬盘么?
问题二:一个区块终究有多大?
想要算出悉数区块加载后有多大,首要咱们得算一算《我的国际》只要一个区块的存档有多大。
有一个地图叫做“1_Chunk_Survival”,这是一个只要1个区块,也便是16*16*256巨细的活动空间,这个存档的巨细为4M。
也便是说,Minecraft一个区块的巨细,应该在4M左右。
那么“我的国际”一共有多少个区块呢?
在国际边界章节中,史蒂夫正常可到达的极限边界为X/Z ±30,000,000;尽管在此只要一道肉眼可见的屏障隔绝,但那不是边界。当然真实的国际极限在X/Z ±30,000,192;但这儿大多都是假区块。
所以也便是说MC一张地图的长度为60,000,000;所以一个区块的面积是256㎡。
下面开端一个小学生都会的除法:
通过简略核算可得,在《我的国际》一张地图中,包含了14062500000000 个区块。每个区块能够诞生7.46×10的244700次方种不同的或许。
也便是14万亿多个区块!
挨近本相:区块悉数加载,这个地图终究有多大?
按一个区块是4MB来核算,那若加载完悉数区块的话,又一个简略的乘法,这个数据到达了56250000000000MB,依照1T=1024G,1G=1024M来进行简略的转化,你会得出一个或许你这辈子都没想到过的内存数字!
53644180T巨细的一个存档!你没看错,足足“五千多万个T”的巨细!
听说,现在国际记载的坚持着,全球最大的一个固态硬盘现已打破到了100T的境地,那若Minecraft一切区块加载后,终究需求多少个这样的硬盘呢?
最终咱们来收拾下数据:
Minecraft区域悉数加载的14万亿个区块,至少需求54万个100T的硬盘来包容!
这个数据算出来,信任没人不会觉得惊奇!
当然上面的核算当然存在不科学的要素,究竟谁也不能确保,Minecraft单个区块就一定是4M的巨细。(由于这个巨细会遭到不同群系的方块数量有所影响)并且区块的探究也并非是一个简略的巨细线性叠加的进程。
可是,单纯主国际一切区块一起被加载,这肯定是一个以百万为单位个T的存档。假如下界、末地、主国际三个维度一起加载,那这个内存,还要乘以3的恐惧数字
也便是162万个100T的内存!