Swift - 一张ARKit WorldMap占用多少数据

Swift -How much Data does an ARKit WorldMap take up

您可以save a world map稍后检索。我想保存几张世界地图,但我找不到关于每张地图占用多少数据的任何信息。

每个数据占用多少数据以及决定数据大小的因素是什么?例如,如果我在厨房里,那是一回事,但如果我在在海滩那是另一回事,如果我在购物中心那又是另一回事。我不确定它们是否会被视为小型压缩照片或大型未压缩视频的大小。

// Because ARWorldMap conforms to NSSecureCoding, you serialize it using NSKeyedArchiver:

func writeWorldMap(_ worldMap: ARWorldMap, to url: URL) throws {
    let data = try NSKeyedArchiver.archivedData(withRootObject: worldMap, requiringSecureCoding: true)
    try data.write(to: url)
}

// To restore the world map the next time your app launches, use NSKeyedUnarchiver:

func loadWorldMap(from url: URL) throws -> ARWorldMap {
    let mapData = try Data(contentsOf: url)
    guard let worldMap = try NSKeyedUnarchiver.unarchivedObject(ofClass: ARWorldMap.self, from: mapData)
        else { throw ARError(.invalidWorldMap) }
    return worldMap
}

好像是50mb

左右

我在这个 youtube tutorial 之后连接了 2 个世界。该项目使用 RealityKitARKit.

在 iPhone 7+ 上,在从另一台设备添加 WorldMap 之前,Memory 徘徊在 280mb 左右。从 iPhone 11 添加 WorldMap 后,7+ 上的 Memory 一直在 320mb-330mb 之间跳跃(总是接近 330).

在 iPhone 11 上,在从另一台设备添加 WorldMap 之前,Memory 徘徊在 340mb 左右。从 iPhone 7+ 添加 WorldMap 后,11 上的 Memory 一直在 380mb-390mb 之间跳跃(总是接近 390).

在这两款手机上,使用上面的数字,它偶尔会降低 10-20mb 点,但也会升高 1-5mb。但基本上 50mb 是最常见的数字。

仅供参考,我将两部手机分别连接到 Xcode。我无法同时连接两者。