【问题标题】:Why does storing coordinates as YZX take up less space than storing them as XZY?为什么将坐标存储为 YZX 比将坐标存储为 XZY 占用的空间更少?
【发布时间】:2022-01-28 03:35:54
【问题描述】:

在最近的 Minecraft 补丁说明中,对其保存世界数据的方式进行了一些更改。

said change

link to wiki page

这包括从 XZY 格式存储坐标(可能是实体)到 YZX 格式的更改。

Minecraft 的 Y 坐标是高度,以前的范围是 0 到 256,但在带来此优化的同一更新中,它已更改为 -64 到 256 的范围。

我想这更快的原因是与 Y 的二进制补码表示需要在前面有一个符号位有关,但我无法想象为什么这会更快的任何原因。

我们将不胜感激。

【问题讨论】:

  • 为什么不问问作者?

标签: java 3d binary compression minecraft


【解决方案1】:

我不确定,但我认为它来自块系统以及部分的存储方式,我一直在寻找原因,答案可能在这里:

https://stackoverflow.com/a/32671125/14712559

这里解释了它是如何工作的,生物群系使用 ZX-order 并且使用 YZX-order 可以更快地渲染图形。也许您知道此信息,请查看此问题并告诉我:D。

【讨论】:

  • 感谢您的链接,使用坐标生成块列表的键/索引似乎更有意义。查看生成索引的方程(来自 wiki),看起来 x、y、z 坐标存储为 16 的不同幂。虽然所有 3 个值的范围都是 0-15,但我猜使用 y 坐标因为最高功率更佳,因为您可以确信 y 轴上不会有那么多间隙。我在推断,但如果找到合适的解决方案,我会更新这个帖子。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-02
  • 2022-01-18
  • 2015-06-03
相关资源
最近更新 更多