渲染距离和模拟距离的复杂「综合理解」

渲染距离和模拟距离的复杂「综合理解」

🔥手机输入,格式靠emoji见谅。

🔥这两天研究mc的区块加载机制。

😯发现在1.18加入模拟距离更新后,许多科普区块的文章和视频都讲不明白了,没有涉及我需要了解的细节。Wiki也看了点,但是没抓住要点!

🐴这些细节又是我认为的基础的一部分,正好整理出来问下大伙

🧐🧐🧐nerd预警。

测试版本:1.20.1

🐧声明,我用tweakeroo灵魂出窍来查看区块渲染状况。

👇问题:👇

1. 👀确认:“这样理解可以吗”:

「渲染距离」是[方块+实体]状态的渲染画面呈现,而「模拟距离」对应了[实体]状态的计算,因此,游戏默认情况下两者相等,但两者可以不一致---

🤯渲染距离更大,那么将看到差值区间的区块有方块的渲染,实体不更新

🤯模拟距离更大,那么就是玩家只看到渲染距离内的方块,以及一部分更新中的实体,就像“人在雾中”,雾外是差值区间的区块,区块里的实体在更新,但看不见。

2. 两种距离覆盖范围的“形状”:

2.2 小问题😅:我不知道怎么查看模拟距离的范围,用什么工具可以查看?

🧐实测发现,1.20.1 渲染距离是球形,半径为渲染距离

1.17却是方形,(边长-1)的一半为渲染距离

我还却碰到一个细节:设置值和实际不是一直都是对应的,好像出区块方向会少1距离,反向会多1距离(不是重点)

✨那么✨,是不是

🧐1.18以前,两种距离都是一种,渲染距离🟩模拟距离🟦正方体,比如5x5 chunk那就有25个区块被模拟并渲染

🧐1.18之后,渲染距离是🟢圆形,模拟距离为🟦正方形?两者相等,则方形切内圆,更进一步,圆形切内方则是渲染到所有更新实体,这就需要渲染距离为模拟距离的√2倍?

3.👀确认:

1.18后的语境是不是把“加载”区块或者“Load”Chunk默认狭义上➕指向“模拟距离”对应的“实体更新”范围?

广义上➕则认为两者是一致的时候的模拟距离范围(或者1.18前的仅渲染距离情况下的渲染距离范围)?

🧐这个问题是为了确认理解。我认为渲染只负责图像,模拟负责实体计算,模拟之后渲染,或者不模拟直接渲染,或者直接模拟不渲染,或者不模拟不渲染。

4. 服务端的渲染距离,服务器的模拟距离,客户端的渲染距离,客户端的模拟距离...“可以...这样理解吗?👇”🤯🤯🤯

🐴服务端server.properties下面确实也有这两种距离的设置,但服务端端是命令行控制台,我想不需要渲染什么图形吧,所以我认为

🤯服渲染距离为 客渲染距离的父集,不影响太多性能?

🤯服模拟距离为 客模拟距离的父集,影响很多性能?

🧐也就是说假设玩家a电脑好,想渲染32区块那么远,也需要服务器允许你渲染到那么远

🧐或者想模拟很远的运算,也需要服务器本身模拟距离比他的高,否则如果客模拟设置很高,大于服模拟,多出的部分也是空运算?

🧐反之,我电脑差,我只渲染2区块,模拟5区块,也是取了服务端提供的渲染/模拟资源的子集?

因此理想的服务端可以设置中高渲染距离,中低模拟距离,以适应高配玩家的需求?

相关推荐

打官司具体需要多久才能判决?
365金融投注

打官司具体需要多久才能判决?

📅 07-26 👁️ 4175
打官司具体需要多久才能判决?
365金融投注

打官司具体需要多久才能判决?

📅 07-26 👁️ 4175
平安信用卡多久才能到账
nowgoal365live score

平安信用卡多久才能到账

📅 08-05 👁️ 7753