UU看書

第一百五十一章 如何看懂除錯介面 ④

天才一秒記住【UU看書】地址:www.uukanshu.co

開啟除錯介面,你會發現你的準心出現了三條顏色不一樣的線。

這三條線朝向的方向都是XYZ的正方向,其中紅色的是X軸,藍色的是Z軸,綠色的是Y軸。

這可比看Facing那一行來判斷座標正負有用多了(Mojang啊你為什麼一定要用positive和negative啊,用和難道不香嗎?)

前三章的研究主要是針對左側一欄,不難發現左側一欄更多是關於遊戲的資訊。接下來我們要研究右側一欄,這個右側一欄主要是關於客戶端的硬體資訊,畢竟硬體決定了軟體的上限嘛。

在18版本,右側一共有兩個方陣。第一個方陣主要是關於遊戲的Java版本和記憶體使用情況:

Java:1xxxxx32bit64bit——顯示Java的版本號和位數

Mem:xx當前佔用記憶體佔用記憶體上限MB——顯示當前記憶體佔用記憶體最大值的百分比,以及具體佔用的記憶體量設定佔用記憶體的最大值。

Allocated:xx已分配記憶體——已分配給遊戲的記憶體相對於記憶體上限的百分比和具體的值

這裡順帶講一下,什麼是記憶體以及記憶體和硬碟的區別。

但凡是個計算機,肯定有不止一個儲存裝置。此時你估計會問:為什麼說不止一個呢?儲存裝置不就是硬碟或SD卡嗎?

NoNoNo,儲存裝置不只是指硬碟和SD卡,這兩個東西只是儲存裝置的一大類,特點是讀寫速度快、斷電不會丟失資料、儲存時間長、容量大,主要作用是儲存各種各樣的資料,比如系統資料,軟體資料、你的學習資料等。總之,硬碟和SD卡就相當於計算機的長期記憶。

另一大類則是記憶體(民間裡也稱“運存”)。記憶體也是每個計算機必須要有的,所以一個計算機不止有一個儲存裝置(況且還有視訊記憶體和CPU快取呢)。記憶體有如下特點:

①讀寫速度特快,比硬碟快不知道多少倍

②使用電力儲存,一停電立馬GG

③容量一般相對於硬碟來說很小

記憶體最主要的用途是存放程式在執行時產生的臨時資料。一個程式想要執行,必須要先將要執行的東西從硬碟讀取出來存到記憶體中,然後再經CPU快取給CPU執行(CPU快取是CPU和記憶體資料交換的過渡區,一般有三個區,分別是L1、L2和L3。CPU快取雖然容量極小,但讀寫速度超級快,比記憶體都要快許多)。如果這個軟體被關閉,那麼關於這個軟體的記憶體資料將會被清除。

這就是為什麼當你的老師上完課後,在沒有關閉PPT的情況下直接把隨身碟拔出帶走PPT還能正常播放甚至另存為的原因,因為軟體在執行該檔案時,已經把這個檔案從隨身碟複製到記憶體裡了。

遊戲對記憶體的使用也是一樣的。如果你在Minecraft中執行太多的指令、放太多的實體、一下子改變太多的方塊、加太多的模組以及使用太高畫質的材質包時,都會佔用大量記憶體。

(所以,以後如果再看到那種超高畫質材質包的影片,千萬別隻組團偷顯示卡,記憶體也要偷,不然遊戲還沒進去就“你的電腦遇到問題,需要重新啟動。我們只收集某些錯誤資訊,然後為你重新啟動。(完成0”)

也就是說,記憶體就相當於計算機的短期記憶。

但或許你還不懂已分配記憶體、當前佔用記憶體和設定佔用記憶體最大值的區別。已分配記憶體就是計算機分配給程式的記憶體空間大小,這個大小是動態變化的,具體是由該程式實際佔用記憶體大小來決定。而佔用記憶體大小的上限則是程式給自己設定的一個記憶體佔用限度,並不等於計算機實際分配給程式的記憶體空間大小。

接下來我們來看看第二個方陣,這個方陣主要是關於你的顯示卡、顯示屏資訊:

Display:aaaa×bbbb(顯示卡品牌名稱)——即你的Minecraft視窗解析度和顯示卡品牌

顯示卡名稱,顯示卡支援的東西

顯示卡驅動程式版本

MinecraftJava18版本到1122版本期間,新更新了一個CPU方陣將Display這一方陣擠到了第三去。這個CPU方陣在1122版本時長這樣:

Native:xxxxxxxMB——Java虛擬機器目前使用記憶體和虛擬機器記憶體使用上限

CPU:核心數,品牌和型號,執行速度GHz

Native這一行作者在寫作時還在,隔了幾天再次開啟不知怎麼就沒掉了。關於Native記憶體和Java虛擬機器的更多內容作者這邊就不細講了,去csdn有一篇文章叫《javanative記憶體JVMHeapMemory和NativeMemory》(作者是“海闊山高人為峰”)那裡或上搜尋引擎瞭解。

到這兒,右側一行也算是基本結束了

真的結束了嗎?

現在,請你看向任何一個非氣態方塊。在113版本之前,如果你看到了固態方塊,那右側一欄就會顯示關於這個方塊的資訊:

名稱空間方塊ID

方塊狀態:狀態值

方塊狀態:狀態值

其中,第一行的方塊名絕對會顯示,第二行開始就是該方塊的方塊狀態。

什麼是方塊狀態?在之前的章節中我們已經見到過很多次,但大多數時候都是一筆帶過。由於接下來一兩卷就要開始詳細瞭解方塊,這兒就先簡單瞭解一下。

方塊狀態,正如其名,就是方塊本身所處的狀態,是進一步定義一個方塊的附加資料。朝向就是最常見的方塊狀態之一。

如果你準心瞄準到了草方塊,就會顯示這些資訊:

minecraftgrass

snowyfalse

其中,snowyfalse就是這個方塊的方塊狀態。

snowy狀態的值是個布林值,當值為true時草方塊就會變成“雪方塊”。

有一些常見的方塊狀態,知道這些不光是在指令方面有大用,甚至在生存、紅石方面都有許多用處:

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

level——有不同意思,接受數值。為液體時作為液體方塊擴撒的等級,每擴散一次1,直到為0。為堆肥桶和煉藥鍋時作為填積的厚度等級。

age和stage——一般作為植物或方塊的生長狀態或等級,大部分方塊的該狀態會在隨機刻後增加。如馬鈴薯的age就接受0到7,01、23、46和7分別為四個生長階段。

在113版本之後,Mojang加入了檢視液體方塊資訊的功能,這一部分就發生了大改動,變成這個樣子:

TargetedBlock

名稱空間方塊ID

該方塊的方塊狀態(方塊狀態值)

該方塊的方塊標籤(名稱空間:標籤名)

TargetedFluid

名稱空間液體方塊ID

該液體的方塊狀態(方塊狀態值)

該液體的方塊標籤(名稱空間:標籤名)

不難發現,在113及以上版本多了方塊標籤。什麼是方塊標籤?這和我們的記分板標籤(tag)差不多,都是透過給特定的實體、方塊賦予特定標籤,以使特定時候能呼叫。但方塊標籤和記分板標籤有一點不同——前者是預設就存在的,後者需要手動新增。

比如我們的草方塊,如果在1132版本中看向它,那麼將會顯示:

TargetedBlock

minecraftgrassblock

snowyfalse

minecraftendermanholdable

minecraftvalidspawn

具有endermanholdable標籤的方塊可以被末影人拿起,你看向西瓜也會發現其具有該標籤。

具有validspawn標籤的方塊即是玩家的有效出生位置(?)。

在前兩章中,我們曾發現Lookingat一行在116版本中沒掉了。那麼Lookingat的資訊去哪了呢?

和右側的TargetedBlock、TargetedFluid合併變成了:

TargetedBlock:X,Y,Z

TargetedFluid:X,Y,Z

到這兒,我們整個除錯介面也算是講完了,本章也算結束了。

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

(哦,原因是因為最近在對前面的章節大修,你此時如果去翻前面的內容,會發現從序言開始一直到第三十九章大部分章節都有大改。目前的目標是修到第九十章,可能至少還要再修一個月吧,畢竟一年半過去Minecraft更新的內容還是蠻多的)

(對了,修改後的章節增加了許多指令的例子,其中不妨有及其有用的指令哦!)

如遇章節錯誤,請點選報錯(無需登陸)

新書推薦

與美同居 回到黑暗的初中時代 網遊之第九次世界大戰 諸天從傳奇開始 開局最廢草系法師:但我是隱藏sss級 絕頂槍王 我真是最強中單