Apple Engine

Apple, iPhone, iOS, その周辺のことについて

ARKit 3 の変更点 (Xcode 11 beta 3)

ARSession

stopTrackedRaycasts

ドキュメント説明がないため詳細不明。
レイキャストを止めたか調べるものだと思われる。

static var stopTrackedRaycasts: ARSession.RunOptions { get }

 

ARSession.CollaborationData

ドキュメント説明がないため詳細不明。
Collaboration の際、何らかのプライオリティを決めるものだと思われる。

var priority: ARSession.CollaborationData.Priority { get }
enum Priority : Int
case critical
case optional

 

ARFrame

ARBody2D

ARSkeletonDefinition

ドキュメント説明がないため詳細不明。
スケルトンのジョイント(ボーン)の数を調べるものだと思われる。

var jointCount: Int { get }

 

ARCamera

ARCamera.TrackingState

TrackingState は enum だったのが、@frozen enum に変更された。

frozen な enum は Handling Future Enum Cases (英語) を参照。 github.com

 

ARView

RealityKit がらみなので割愛。
Scene、EntityTranslationGestureRecognizer で機能変更、追加。
そして以下が追加。

init(frame: CGRect, cameraMode: ARView.CameraMode, automaticallyConfigureSession: Bool)
Instance Properties
var automaticallyConfigureSession: Bool

 

上記のものに伴い「init(frame: CGRect, cameraMode: ARView.CameraMode)」が廃止された。

 

まとめ

ARView 以外では変更はほとんどない模様。

SceneKit の変更点 (Xcode 11 beta 3)

変更されたものは2つ。
simd framework から Swift Standard Liblary の SIMD Vector Types に変更された。

 

SCNVector3

init が float3 から SIMD3 double3 から SIMD3 に変更された。

init(SIMD3<Float>)
init(SIMD3<Double>)

 

SCNVector4

init が float4 から SIMD4 double4 から SIMD4 に変更された。

init(SIMD4<Float>)
init(SIMD4<Double>)

 

まとめ

SCNVector3 や SCNVector4 など核になる部分の変更がされていた。
float4 など SIMD4 エイリアスになっているため、既存のコードでも動くようになっている。

GameplayKit の変更点 (Xcode 11 beta 3)

変更されたクラスは2つ。
simd framework から Swift Standard Liblary の SIMD Vector Types に変更された。

 

GKPolygonObstacle

float2 から SIMD2 に変更された。

convenience init(points: [SIMD2<Float>])
convenience init(points: [float2])

 

GKPath

init(points:radius:cyclical:)

float3 から SIMD3、 float2 から SIMD2 に変更される。

convenience init(points: [SIMD3<Float>], radius: Float, cyclical: Bool)
convenience init(points: [float3], radius: Float, cyclical: Bool)

 

convenience init(points: [SIMD2<Float>], radius: Float, cyclical: Bool)
convenience init(points: [float2], radius: Float, cyclical: Bool)

 

まとめ

float で設定されていた部分が SIMD に変更されたと共に、GameplayKit 自体更新してくるところがありがたい。

2019 年版 上半期でベストな Mac を考える

Mac Pro が発表され、多分9月以降になると思われるため、
一旦、まとめてみる。
今回も iMac のコスパ最高。

Mac Pro は別記事で書いたためスルー、
あとユーラシア経済連合で未発表のラップトップと思しきものが 7 モデル登録されているため、数ヶ月後ラインナップが変わるかもしれない。

 

3点の注意事項

デスクトップとラップトップで同じコアの CPU でもデスクトップの方が処理能力が高い。 直付の GPU は大体 PCI Express 3.0 x16 128Gbps。
eGPU で使用する Thunderbolt は 40Gbps。
eGPU は同じ GPU でも性能を完全に出しきれない。
販売終了後サポート終了までのカウントダウンが始まるので、長く使いたいなら腹をくくって早めに買うべし。

あと、以降価格は税別価格。

 

コストの安いものを求める

ラップトップ

MacBook Air 13 inch Retina が良い気はする。
MacBook と MacBook Pro 13 inch はスペックが微妙と感じてはいる。

MacBook Pro 13 inch は 4 Core だが、Air 2 Core で GPU スペックは低い。
今自分が使用している MacBook Pro 13 inch Late 2016 と同等のものだと思ってもよい。

Touch Bar はないものの Touch ID はある。

  • 128 GB ¥134,800
  • 256 GB ¥156,800

 

メモリ 16GB ¥22,000。
バッテリー等の問題で Pro 13 inch も 16GB までしかあげられないので問題ないだろう。

ストレージ 256 GB から 512 GB は ¥22,000 なのでわりとお値打ち。

Thunderbolt 3 ポート が 2 つなのでここは困るかもしれない。
必ず電源で1つ奪われ、残りがもう1つしかないので。

 

デスクトップ

Mac Mini

旧 i7 相当の Core i5 6コア ¥122,800。
i7 で +¥22,000。

メモリ、ストレージも Air 同様に ¥22,000 毎で標準スペックの倍になる。

付属品が電源コードしかない。
ポインティングデバイス、キーボード、ディスプレイはないので注意。
あと、intel の内臓 GPU なのでかなりスペックが落ちる。

 

iMac 21.5 inch Retina 4K

Mac mini に 2 〜 4 万足すだけで 4K ディスプレイ、Radeon Pro 555X の GPU、Magic Mouse 2、Magic Keyboard がついてきてお得。

  • 4コア i3 ¥142,800
  • 6コア i5 ¥164,800

 

ただ、標準構成だとストレージが HDD なので、
1TB Fusion Driveストレージ +¥11,000、
256GB SSDストレージ +¥22,000 か
512GB SSDストレージ +¥44,000 にした方が良さげ。

 

ハイスペックなものを考える

iMac Pro CPU 8コア ¥558,800 をベースにしてみる。

  • Intel Xeon W 8コア 3.2GHz / Turbo Boost 4.2GHz
  • 32GB 2,666MHz DDR4 ECC メモリ
  • 1TB SSDストレージ
  • Radeon Pro Vega 56(8GB HBM2メモリ)

 

CPU は 10 Core などグレードをあげると +¥88,000 づつ上がる。

GPU は Vega 64(16GB HBM2) +¥60,500、
Vega 64X(16GB HBM2) +¥77,000。

 

Mac mini

iMac Pro に近い構成で ¥276,800。

  • Intel Core i7 6コア
  • 32GB 2,666MHz DDR4 メモリ
  • Intel UHD Graphics 630
  • 1TB SSDストレージ

 

CPU は 8 コアと比べ 75%、
GPU は非力過ぎるため、eGPU を追加すると 数万〜十数万。

 

MacBook Pro 15 inch

iMac Pro に近い構成で ¥451,300

  • Intel Core i9 8コア
  • 32GB 2,400MHz DDR4 メモリ
  • Radeon Pro Vega 20(4GB HBM2 メモリ)
  • 1TB SSDストレージ

 

第9世代の i9 は Turbo Boost が 5.0GHz であるため、フルパワーだと iMac Pro 8コアの CPU スペックを超える。
(Turbo Boost は本体温度の問題があるのでラップトップでちゃんと動かすのは難しいかも)

GPU は Vega 56 の半分以下なので、アップグレードせず eGPU を追加してもよいと思う。

とりあえず、2018 年版の MacBook Pro 15 inch と値段据え置きで CPU スペックが上がっているのでかなり良い。

 

iMac

iMac Pro に近い構成で ¥468,300

  • Intel Core i9 8コア
  • 32GB 2,666MHz DDR4 メモリ
  • Radeon Pro Vega 48(8GB HBM2 メモリ)
  • 1TB SSDストレージ

 

第9世代の i9 は Turbo Boost が 5.0GHz であるため、フルパワーだと iMac Pro 8コアの CPU スペックを超える。
GPU は 85% ぐらいの性能。

T2 チップがないので、T2 による HEVC エンコードが使えないが GPU 処理でも速く、ファイルサイズが小さくなるのであまり利点はないだろう。

 

eGPU について

Blackmagic eGPU が以下の価格。

  • Blackmagic eGPU ¥89,800
  • Blackmagic eGPU Pro ¥149,000

 

eGPU が Radeon Pro 580、
eGPU Pro が Radeon Pro Vega 56 となっている。

eGPU はグラフィックボード性能をそのまま出せないため、580 や Vega 56 に近しいスペックの eGPU を使用しても、ゲームなどの GPU によるリアルタイム描画はあまり期待できない。

ただ、動画のエンコードや機械学習など複数 GPU 処理を使用できるものに関しては、MacBook Pro や iMac 自体で GPU と eGPU と共に計算を行うので速くはなる。

 

Blackmagic のものは静音性を保つため努力をしているためお高いが、Sonnet や Razer など eGPU のケースとグラフィックボードを別で買う場合かなり安くなる。 Vega 64 の 8GB HBM2 版は安いと5万円以下で買えるのでケースと合わせても 10 万切るし、RX 580 や 590 は更に安い。

 

また、Vega 64 より 1.2 〜 1.3 倍速いの Radeon VII が秋葉館で売られており、Blackmagic eGPU Pro より安い。

www.akibakan.com

 

まとめ

コスト安くしたいなら MacBook Air。
正直、Mac mini や iMac は数万足すと上のグレードが買えるので長く使うならそこら辺も考えた方が良いかも。

ハイスペックでは iMac と MacBook Pro の i9 は、iMac Pro の 8 コアより、シングルスレッドとマルチスレッド共に高いため良い。
約5数万の差なので i9 を薦めるが、iMac と MacBook Pro の i7 もわりとよい。

と書きつつ、Xeon プロセッサの独自機能や GPU が直付されている iMac Pro の方が性能が高く、
eGPU の追加価格がそれなりにするので iMac Pro 購入を検討しても良いかもしれない。

Mac Pro について妄想してみる

なんとなく予想をまとめてみる。
貧民なので今回は基本的にはネガティブな内容。

CTO 価格がわからないが、現状公開されているエントリーモデルの価格から考えるにかなり高い構成になると予想される。
大金を使って少しでも速く処理したいクリエイティブ職向けで、その中でもかなりハイクラスでないとコストに対して見合わない気はする。

とりあえず、エントリーモデルに関しては iMac Pro 8 コアより高く、現状スペックにわりと厳しさがある。
(Radeon Pro 580X がデュアル構成なら若干よいかも)

www.apple.com

 

CPU

CPU が多分 Cascade Lake なので若干良くなるが、それ以外エントリーモデルでは CPU 以外スペックは良くない。
iMac Pro 8 コアから 18 へのアップグレードが ¥264,000 なので、Mac Pro で 28 コアにした場合は確実に 40 万超えそうではある。
(また同スペックの Xeon W のリテール版40万超えるので)

正直、今後 CPU を使いたおすものより、GPU 処理が強いものの方がユーザーとしては利点が多い気はすし、
Apple の紹介ページを見ると 28 コア と iMac Pro 18 コアでは、コア比以上に性能がないので、今後ベーススペックが高かったり、コアの多い Core i 系が出てしまうと iMac Pro と共にコスパがかなり悪いかもしれない。

そのため、前の Mac Pro が 2013 〜 2019 まで販売されていたため、今回優位性が速い段階で無くなる可能性がある。

 

GPU

Apple の紹介ページを見るとデュアル Radeon Pro Vega II と Vega 64X のとの差がギリギリ 2 倍なく、
Cinema 4D リアルタイム 3D レンダリングで Vega 64X と Vega II の差が少ない。
(そもそも、現状複数 GPU を使用してリアルタイム 3D レンダリングを速くする Metal の機能を知らない)

また、PCI Express が行うことができる電力供給の問題で一部スロットが独自の MPX となっており、 Radeon Pro Vege II Duo にした場合、1枚で約 500 W らしいので、CPU GPU を合わせるとスペック通り 1400 W かかるのは間違えないと思われる。

あと、現行 PCI Express が Gen4 が出始め Gen5 が策定されているので、Gen3 である Mac Pro は速い段階で Windows などの PC と GPU 性能差が出るかもしれない。

 

Afterburner

中身の詳細不明。
Apple が FPGA のエンジニアを募集していたとはいえ、すぐに開発はできないと思われるので、Intel Agilex か、Agilex と Apple A チップの混合の気がする。
Agilex の新しいものは最大 40TFlops とのことなので処理はできそう。

 

メモリ

8 コア以外は 2,933MHz メモリに対応している。
12 スロット使えるということは、36TB 以上は可能だと思われる。

多分、今後電源を切ってもデータが失われない不揮発性メモリ Optane DC Persistent Memory 対応できそうではある。
macOS 自体でも調整する必要があるが。

 

電源

  • 1,280W(108〜125Vまたは220〜240V)
  • 1,180W(100〜107V)

Max 出力では 200V 以上必要。
集合住宅などで 100V の場合は単相三線式でないと屋内の工事が必要なるかもしれなく面倒。

 

モジュール式

モジュール式にはなっているが、SSD のスロットは独自らしく、GPU は MPX を使用しているので、他社製で使えるのはメモリと空きの PCI ぐらいかなと。

 

まとめ

正直コスパは悪いが、macOS でハイグレードのものがこれしかないので、有り余るお金がある方には十分な機能をもつハードだと思われる。

ARKit 3 の更新内容(Xcode 11 Beta 2)

Beta 2 では AR の機能変更はない。

 

変更 / 追加

RealityKit の ARView なので厳密には ARKit ではないのだが、
ARView の Scene で Combine の Publisher 関連の関数が増えた。

Combine の Publisher で追加されたものがこちらでも適応されている。

  • publisher(for:)
  • publisher(for:_:)
  • publisher(for:::)
func publisher<T>(for: KeyPath<E, T>) -> Publishers.ValueForKey<Scene.Publisher<E>, T>
func publisher<T0, T1>(for: KeyPath<E, T0>, KeyPath<E, T1>) -> Publishers.ValueForKeys2<Scene.Publisher<E>, T0, T1>
func publisher<T0, T1, T2>(for: KeyPath<E, T0>, KeyPath<E, T1>, KeyPath<E, T2>) -> Publishers.ValueForKeys3<Scene.Publisher<E>, T0, T1, T2>

 

以上

SceneKit の変更点 (Xcode 11 Beta 2)

追加

SCNMaterial、LightingModel で shadowOnly が追加された。
多分、AR などで影だけ表示するためのジオメトリのマテリアル用に追加されたのだろうと思う。

developer.apple.com

 

変更

修飾子 が unowned(unsafe) から weak に変更されたもの。

  • SCNParticlePropertyController の inputOrigin
  • SCNSceneRenderer の delegate

 

以上