Minecraft 中的箱子与木桶
Minecraft 在 1.14 版本之前,能够储存大量物品的廉价容器,仅有箱子。箱子有 27 格空间,两个箱子能合并为 54 格空间的大箱子,但顶部有完整方块时,就无法开启。
时间来到 1.14 版本,Mojang 为 Minecraft 添加了新的容器:木桶。其性能与箱子相似,并且不会因为顶部的完整方块,而无法开启,但不能合并为大木桶。
那么只要处理好箱子的顶部,防止出现被锁住的情况,考虑到箱子有合并的机制,是否属于木桶的上位选择?答案是否定的,因为 Minecraft 有个历史悠久的 bug:MC-5417,大量的箱子会导致游戏大幅帧速下降。
造成 MC-5417 的根本原因,是箱子使用了 与实体相同的渲染代码,而 Minecraft 渲染实体对性能的消耗很大,可能一个实体,相当于成百上千的方块的性能消耗。(用类似渲染实体的方式来做箱子,其原因是为了流畅的开启动画,潜影盒的情况同样如此。)
那么在经常存放物品的小型「快取」仓库,使用能合并的箱子。而偶尔访问的大型「冷存储」仓库,使用木桶,就能平衡两种容器的优缺点,应该是个好主意吧。
#minecraft
Minecraft 在 1.14 版本之前,能够储存大量物品的廉价容器,仅有箱子。箱子有 27 格空间,两个箱子能合并为 54 格空间的大箱子,但顶部有完整方块时,就无法开启。
时间来到 1.14 版本,Mojang 为 Minecraft 添加了新的容器:木桶。其性能与箱子相似,并且不会因为顶部的完整方块,而无法开启,但不能合并为大木桶。
那么只要处理好箱子的顶部,防止出现被锁住的情况,考虑到箱子有合并的机制,是否属于木桶的上位选择?答案是否定的,因为 Minecraft 有个历史悠久的 bug:MC-5417,大量的箱子会导致游戏大幅帧速下降。
造成 MC-5417 的根本原因,是箱子使用了 与实体相同的渲染代码,而 Minecraft 渲染实体对性能的消耗很大,可能一个实体,相当于成百上千的方块的性能消耗。(用类似渲染实体的方式来做箱子,其原因是为了流畅的开启动画,潜影盒的情况同样如此。)
那么在经常存放物品的小型「快取」仓库,使用能合并的箱子。而偶尔访问的大型「冷存储」仓库,使用木桶,就能平衡两种容器的优缺点,应该是个好主意吧。
#minecraft