LoginSignup
2
2

More than 3 years have passed since last update.

RealityKitとSceneKit、どちらのメモリ使用量がすくないか

Last updated at Posted at 2021-05-30

メモリ使用量をへらしたい

ARKitでリッチなUSDZファイルを表示すると、すごくメモリを食う
ファイルサイズが数十MBの3Dでも、レンダリングによるメモリ消費は数百MBになり、複数表示しようものなら落ちてしまう。

普段SceneKitをつかっているのだが、新しい方のRealityKitなら、レンダリングが最適化されてメモリ使用が劇的に少なかったりするんじゃないか、と思い、フレームワークによって、メモリ使用量が変わるか、調べてみた。

(左)RealityKit (右)SceneKit (ネットで拾ってきたRobot 35MBのUSDZ)

IMG_4987.PNG IMG_4988.PNG

<結果>

フレームワーク CPU使用量 メモリ使用量
RealityKit 100% 715MB
SceneKit 73% 645MB

Σ(゚∀´ フエトルヤンッ

RealityKitは「驚くほど滑らかな映像や物理シミュレーションを実現」しているせいか、メモリ使用量が10%ちょい多いようでした。
どっちがappleのサポート手厚いか、どちらがARがきれいかなど、どちらをつかうか悩む昨今です。季節はすっかり夏ですね。

ちなみに、USDZをロードしたコードは以下。

RealityKit
let anchor = AnchorEntity()
arView.scene.anchors.append(anchor)
let robot = try! Entity.loadModel(named: "robot")
anchor.addChild(robot)
SceneKit
let localURL = Bundle.main.url(forResource: "robot", withExtension: "usdz", subdirectory: "art.scnassets")!
let scene = try! SCNScene(url: localURL, options: [.checkConsistency: true])
let robotNode = scene.rootNode
sceneView.scene.rootNode.addChildNode(robotNode)

🐣


フリーランスエンジニアです。
お仕事のご相談こちらまで
rockyshikoku@gmail.com

LGTMついてないか毎日チェックしています。嬉しいもんです。

Core MLを使ったアプリを作っています。
機械学習関連の情報を発信しています。

Twitter
Medium

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2