扫码在手机阅读
手机阅读《Minecraft指令手册》
Minecraft指令手册

第151章如何看懂调试界面④

但或许你还不懂已分配内存、当前占用内存和设定占用内存最大值的区别。已分配内存就是计算机分配给程序的内存空间大小,这个大小是动态变化的,具体是由该程序实际占用内存大小来决定。而占用内存大小的上限则是程序给自己设定的一个内存占用限度,并不等于计算机实际分配给程序的内存空间大小。

接下来我们来看看第二个方阵,这个方阵主要是关于你的显卡、显示屏信息:

Display:aaaax

这三条线朝向的方向都是XYZ的正方向,其中红色的是X轴,蓝色的是Z轴,绿色的是Y轴。

这可比看Facing那一行来判断坐标正负有用多了(Mojang啊你为什么一定要用positive和negative啊,用+和-难道不香吗?)

前三章的研究主要是针对左侧一栏,不难发现左侧一栏更多是关于游戏的信息。接下来我们要研究右侧一栏,这个右侧一栏主要是关于客户端的硬件信息,毕竟硬件决定了软件的上限嘛。

显卡驱动程序版本

Minecraf版本到版本期间,新更新了一个CPU方阵将Display这一方阵挤到了第三去。这个CPU方阵在版本时长这样:

Native:xxx/xxxxMB——Java虚拟机目前使用内存和虚拟机内存使用上限

CPU:核心数,品牌和型号,运行速度(GHz)

Native这一行作者在写作时还在,隔了几天再次打开不知怎么就没掉了。关于Native内存和Java虚拟机的更多内容作者这边就不细讲了,去csdn有一篇文章叫《java native内存_JVM Heap Memory和Native Memory》(作者是“海阔山高人为峰”)那里或上搜索引擎了解。

到这儿,右侧一行也算是基本结束了.......

真的结束了吗?

现在,请你看向任何一个非气态方块。在版本之前,如果你看到了固态方块,那右侧一栏就会显示关于这个方块的信息:

命名空间:方块ID

方块状态:状态值

方块状态:状态值

其中,第一行的方块名绝对会显示,第二行开始就是该方块的方块状态。

什么是方块状态?在之前的章节中我们已经见到过很多次,但大多数时候都是一笔带过。由于接下来一两卷就要开始详细了解方块,这儿就先简单了解一下。

方块状态,正如其名,就是方块本身所处的状态,是进一步定义一个方块的附加数据。朝向就是最常见的方块状态之一。

如果你准心瞄准到了草方块,就会显示这些信息:

minecraft:grass

snowy:false

其中,snowy:false就是这个方块的方块状态。

snowy状态的值是个布尔值,当值为true时草方块就会变成“雪方块”。

有一些常见的方块状态,知道这些不光是在指令方面有大用,甚至在生存、红石方面都有许多用处:

facing——朝向,接受north(北)、south(南)、east(东)、west(西)、up(上)、down(下)

level——有不同意思,接受数值。为液体时作为液体方块扩撒的等级,每扩散一次-1,直到为0。为堆肥桶和炼药锅时作为填积的厚度等级。

age和stage——一般作为植物或方块的生长状态或等级,大部分方块的该状态会在随机刻后增加。如马铃薯的age就接受0到7,01、23、46和7分别为四个生长阶段。

在版本之后,Mojang加入了查看液体方块信息的功能,这一部分就发生了大改动,变成这个样子:

Targeted Block

命名空间:方块ID

该方块的方块状态(方块状态:值)

该方块的方块标签(#命名空间:标签名)

Targeted Fluid

命名空间:液体方块ID

该液体的方块状态(方块状态:值)

该液体的方块标签(#命名空间:标签名)

不难发现,在及以上版本多了方块标签。什么是方块标签?这和我们的记分板标签(tag)差不多,都是通过给特定的实体、方块赋予特定标签,以使特定时候能调用。但方块标签和记分板标签有一点不同——前者是默认就存在的,后者需要手动添加。

比如我们的草方块,如果在版本中看向它,那么将会显示:

Targeted Block

minecraft:grass_block

snowy:false

#minecraft:enderman_holdable

#minecraft:valid_spawn

具有enderman_holdable标签的方块可以被末影人拿起,你看向西瓜也会发现其具有该标签。

具有valid_spawn标签的方块即是玩家的有效出生位置(?)。

在前两章中,我们曾发现Looking at一行在版本中没掉了。那么Looking at的信息去哪了呢?

和右侧的Targeted Block、Targeted Fluid合并变成了:

Targeted Block:X,Y,Z

........

Targeted Fluid:X,Y,Z

........

到这儿,我们整个调试界面也算是讲完了,本章也算结束了。

(唉作者,你咋隔了快一个月才更新了呢?)

(哦,原因是因为最近在对前面的章节大修,你此时如果去翻前面的内容,会发现从序言开始一直到第三十九章大部分章节都有大改。目前的目标是修到第九十章,可能至少还要再修一个月吧,毕竟一年半过去Minecraft更新的内容还是蛮多的)

(对了,修改后的章节增加了许多指令的例子,其中不妨有及其有用的指令哦!)

在1.8版本,右侧一共有两个方阵。第一个方阵主要是关于游戏的Java版本和内存使用情况:

Java:_xx 32bit/64bit——显示Java的版本号和位数

(所以,以后如果再看到那种超高清材质包的视频,千万别只组团偷显卡,内存也要偷,不然游戏还没进去就“:(你的电脑遇到问题,需要重新启动。我们只收集某些错误信息,然后为你重新启动。(完成 0%)”)

也就是说,内存就相当于计算机的短期记忆。

3容量一般相对于硬盘来说很小

打开调试界面,你会发现你的准心出现了三条颜色不一样的线。

Mem:xx%当前占用内存/占用内存上限MB——显示当前内存占用内存最大值的百分比,以及具体占用的内存量/设定占用内存的最大值。

Allocated:xx%已分配内存——已分配给游戏的内存相对于内存上限的百分比和具体的值

另一大类则是内存(民间里也称“运存”)。内存也是每个计算机必须要有的,所以一个计算机不止有一个存储装置(况且还有显存和CPU缓存呢)。内存有如下特点:

内存最主要的用途是存放程序在运行时产生的临时数据。一个程序想要运行,必须要先将要运行的东西从硬盘读取出来存到内存中,然后再经CPU缓存给CPU运行(CPU缓存是CPU和内存数据交换的过渡区,一般有三个区,分别是L1、L2和L3。CPU缓存虽然容量极小,但读写速度超级快,比内存都要快许多)。如果这个软件被关闭,那么关于这个软件的内存数据将会被清除。

这就是为什么当你的老师上完课后,在没有关闭PPT的情况下直接把U盘拔出带走PPT还能正常播放甚至另存为的原因,因为软件在运行该文件时,已经把这个文件从U盘拷贝到内存里了。

游戏对内存的使用也是一样的。如果你在Minecraft中运行太多的指令、放太多的实体、一下子改变太多的方块、加太多的模组以及使用太高清的材质包时,都会占用大量内存。

但凡是个计算机,肯定有不止一个存储装置。此时你估计会问:为什么说不止一个呢?存储装置不就是硬盘或SD卡吗?

NoNoNo,存储装置不只是指硬盘和SD卡,这两个东西只是存储装置的一大类,特点是读写速度快、断电不会丢失数据、保存时间长、容量大,主要作用是存储各种各样的资料,比如系统资料,软件数据、你的学习资料等。总之,硬盘和SD卡就相当于计算机的长期记忆。

(显卡品牌名称)——即你的Minecraft窗口分辨率和显卡品牌

显卡名称,显卡支持的东西

1读写速度特快,比硬盘快不知道多少倍

2使用电力存储,一停电立马GG

这里顺带讲一下,什么是内存以及内存和硬盘的区别。

  • 加入收藏
  • 目录
  • A+
  • A-