ついに、買ってしまった。カスタマイズモデル。
10月末に手に入れたMacbook Pro 14インチ M1 Pro CPU10コア・GPU16コア・メモリー16GB・SSD1TBモデルですが、前回の記事で「どうせ何年も使うならばメモリーは盛った方がいいんじゃ無いか」という問題に囚われ続けてしまい、買ったモデルを愛せなくなってしまったのでメモリーを32GBに変更したモデルに変更する決意をいたしました。
12月の初頭にやっと上記のスペックにメモリだけ32GBに載せ替えたM1 Pro版14インチMacbook Proを手に入れました。
さてその差はどれくらいのものなのか、お話したいと思います。
sponsored links
もくじ
体感の変化…無し。
早速初期設定を済ませて、まずは普段使い程度にSafariで動画を見たり、ネットサーフィンに使ってみた所、特に体感では16GBとの差はほぼほぼ無いかなという印象です。
アクティビティモニターで確認すると常時13GBくらいメモリは使用されているようです。16GBモデルの時は常時7GB程度使用しているので、実質倍近くのメモリが使用されていることになります。
MacもといUNIXが物理メモリーに空きがあればキャッシュとしてメモリを先に確保しておいて使用しているアプリに素早くメモリが使われるような仕組みになっており、別のアプリを立ち上げ物理メモリーが足りなくなってきたら、その使用されていないキャッシュを解放して使うという流れなので、実使用分よりは多めにメモリーを使っているように見えます。ただ足りていないことでは無く、最適化しているため数値では判断できないだけなので安心ですね。
M1 Pro/MAXの吊るしのモデルでMAXの一部ベースモデルを除いてほとんどのモデルの搭載メモリーは16GBでした。CTOモデルを選択して初めて32GB以上のメモリーを選ぶことができました。
これはMacbook Proユーザーのほとんどの人が16GBで足りるというAppleの狙いは間違いないように感じます。
sponsored links
M1 ProとMAXのメモリー帯域幅の違い
そもそもM1 ProとM1 MAXでメモリーの帯域幅が200GB/sと400GB/sと倍ほど違う性能差があるという事はどういう事なのか、メモリーの容量は増やす選択はしたのに帯域幅の事はなぜ気にならなかったのかもお話いたします。
CPUの処理はメモリーに対して行われます。例えばファイルのコピーにしても一旦メモリーにコピーしながら別のファイルとして書き出されます。
1秒間に100GBのコピーできるより200GBコピーできる方が早く終わるのは明白ですね。
2021年時点のWindowsマシンはDDR4-3200(PC4-25600)が標準です。この25600はMB/sの事なので、25.6GB/sという事になります。デュアルチャネルで使う事が多いので、25.6G/s ×2で51.2GB/sです。
M1 Proはそれは200GB/sなので単純に4倍のメモリ速度がある事になります。
しかし、M1シリーズよりユニファイドメモリといってGPUのメモリも兼ねる事になっております。通常グラフィックボードは専用のメモリを持っており、GeForce 1060などが192GB/sの速度のメモリ帯域幅を持っています。RTX 2080となると448GB/sにもなります。
そうなるとグラフィックボードのメモリーが専用で入ってる方が速いじゃないかとも考えるのですが、そう単純な話ではなく、CPUの命令でメインメモリーにあるデータをグラフィックボードに処理させるとなるとメインメモリーからグラフィックボードのメモリーへのデータのコピーが生まれます。そして処理した内容をメインメモリーにまた返す処理が生まれ、結果ボトルネックが発生する事となります。
そのような処理を防ぐためグラフィックボードへの直接の命令ができるAPIや仕組みがまた別に存在し、グラフィックボードの規格や違いによりまたそのAPIをラッピングするライブラリやAPIが存在したりするので、アプリケーションの実装やサポートの違いによって差があり、グラフィック性能を生かしきれない場面が出てくる事もあります。
Macの話に戻ると、M1シリーズからユニファイドメモリとなったのでメインメモリとGPUメモリが共有となったので無駄なメモリのコピーが生まれる事がなくなり、仕組みが同じなのでAPIをラッピングするAPIなどもなくなるので、実装の差も生まれづらくなります。
M1シリーズはユニファイドメモリとなったため、グラフィック処理のために帯域幅が大幅に引き上げられ、メモリの速度も上がったという事になります。
グラフィックと関係のないメモリ速度もM1 Maxで400GB/sに引き上げられたのですが、この記事によるとグラフィックと関係ないメモリの速度上限は224GB/s程度になるとの事なのでDTMなどをメインで使用を考えた場合はM1 MAXにする事に優位性はそこまで大きくないとの事なので、あとはどのくらいメモリの容量があれば良いかで考えた末、私はM1 Proのメモリを「心の余裕」のために32GBモデルに変更する決意をしたのです。
sponsored links
メモリ32GBでDTMする
前回の記事でメモリ16GBでAbleton Live11.1b5を使用してApple Siliconに最適化された状態でDTMの実作業をすればどうなるかの実験をしました。
結果、KONTAKT6で6個、独立ソフトウェア音源が6つで音源を12に増やしたとしてもAudioUnitsは3GB、Live自身は800MBとで合計4GBにも満たない使用率となった訳ですが、この状態でもかなり安定しており、動作も問題なく空きメモリも6GBを残していたので何の憂いもなかった訳なので、結論を言えば「何も変わらない」でした。
では、どのくらいの処理をさせたら悲鳴をあげるのか試してみる事にしました。
Ableton Live 11.1b9にAudio UnitsでKONTAKT6でKOMPLETE12に入っているソフトウェア音源を複数立ち上げ、4和音程度の音を流し続けてどこまで使い続けるか見ていきます。
KONTAKT6に読み込ませたソフトウェア音源は以下の通り
- Session Strings2
- Session Horns
- Scarbee Mark I
- Scarbee MM-Bass
- Vintage Organs
- The Merverick
- The Grandeur
- Hybrid Keys
- The Giant
- Strummed Acoustic
- String Emsemble(Factory Library)
使用したオーディオインタフェースはUniversal Audio Apollo Twin X DUOです。オーディオバッファは64Samplesでセットし、レイテンシーは低めで使用する設定にしました。
11トラック
Liveがアプリが使用しているメモリ、AUHostingCompatibilityService(Live)がAudioUnitsで展開されているソフトウェア音源が使用しているメモリです。4.85GB使用されています。音切れももちろんなく快適です。
22トラック〜55トラックまで
55トラックまでは音切れも起こらずの結果でしたので、一気に見ていきましょう。
使用メモリは5.56GB。
使用メモリは6.26GB。
使用メモリは6.97GB。
使用メモリは7.68GB。700MBずつくらい増えていました。
CPUの使用率ですが、60%を超えてきました。DAWでのソフトウェア音源はCPUに命令を行い計算して波形データを即時に生成してその他のオーディオと同期して再生されます。
55個のソフトウェア音源に一気に処理を行え、メモリもスワップせずに快適に使用できています。なんの問題もありません。ファンも回りません。十分だぜM1 Pro。
66トラック
さて、この辺りから問題が出始めました。発音時にCPU使用率が70%に到達し再生音にプツプツ音が混ざり始めました。CPUの方が悲鳴を上げ始めました。メモリは余裕でした。
77トラック
さらに11トラック増やすと、それぞれのトラックの発音にコンマ何秒か遅れが発生し、再生中もプツプツ音が目立ち始めました。実作業となるとこの辺りで厳しいかなと思います。
88トラック
ダメ元でもう11トラックを増やしてみました。
発音も大きく乱れ、CPU使用率も瞬間的に100%をこえるようになり、音として認識もできなくなってきたのでこの辺りで検証を終了しました。メモリは12GB程度空きがありかなり残っていますね。
CPUの使用率と組み合わせるとメモリは16GBでも良かったんじゃないか、とよぎり始めました。
sponsored links
バッファサイズを128Sampleにしてトライ
バッファサイズを大きくするとCPU処理できる時間が増えるので結果的にCPUへの負担が減ります。しかしレイテンシーは大きくなるので、リアルタイム演奏や録音を行うとズレが生じてしまうので注意が必要です。
66トラック
64Samplesの時にプツプツ音が聞こえていた66トラックからのスタートです。
128Samplesだとプツプツ音は消えて発音はばっちりです。CPU負荷を下げてやるとまだいけますね。
77トラック
さらに11トラック増やしてみた所、発音の瞬間にちょっとプツっと音が鳴っている気がします。
88トラック
88トラックまで来るとバッファサイズ64Sampleと同じような発音の遅れとプツプツが入り始めました。
実作業にはここまで来ると厳しいかなという所です…。
99トラック
バッファサイズ64Samplesの77トラックくらいの発音の遅れ、ズレ、プツプツ音になりました。
ちなみにこのトラック数でさらにバッファサイズを256Samplesにしてみた所、少し発音時にプツプツするかなという感じでした。
512Samplesにしてもプツプツ音が出たのでこの辺りがマシンの限界かと思いました。
sponsored links
快適に使える結論
64Samplesで快適に同時に使えるソフトウェア音源数は60トラックまでくらいだなと思います。もちろん音源の種類やマシンスペックを要求するソフトウェア音源によって変わりますので、一つの目安として捉えてもらったらと思います。
16GB版でこのテストをしていなかったのが悔やまれますが、32GBで試した所感だとCPUが先に上限に達したのでメモリでの限界を考えれば30トラックくらいはスワップせずストレスなく使用できそうな感じじゃないかと思います。
今回の実験でソフトウェア音源を多く使うDTMマシンはメモリーだけでなくCPUも重要だと感じました。M1では高性能コアがAirで3コア・Proで4コア・高効率コアは共通で4コア、M1 Proで高性能コアが6コアか8コア、高効率コアは共通で2コアと高性能コアをそれぞれ選択できますが、DTMをするならばM1 Proの10コアCPUを選択していれば良いと思います。
メモリーは今回の結果でどれだけソフトウェア音源に頼るかで変わってくると思います。作る音楽がソフトウェアシンセバリバリでもサンプラーを使用しない物であればメモリーは少なめでもOKですが、EastWestのストリングスや木管などの生楽器を使用する音源やIvoryなど幾層にも重なるピアノ音源などサンプルをメモリに多く展開するタイプの音源を多用する音楽を制作するならばメモリーは多めの方が良いと思います。これは以前だした結論とそう変わらない印象です。
ただM1 MAXの優位性はメモリーの容量だけなので自分の作る音楽に合わせて盛る、という選択で良いかと思います。
メモリーが少なくてもフリーズ機能を支えばOK!
ここまでソフトウェア音源を同時発音する事を実験してきましたが、大体OKのトラックだったり後からまた考えようとしているトラックなど今すぐ変更予定のないトラックについてはフリーズ機能を使用すればソフトウェア音源は一旦オーディオデータに書き出されて再生されるようになり、CPUへの負担を一気に解消できますので、フリーズ機能をうまいこと使用しながらを使いながら音楽制作していけば全然メモリが少なくても問題はありませんよ。
実験しながら「16GB版でも良かったかなぁ〜」と思っている優柔不断なワタシがいます…。でも実験しないとわからなかったのでそれはそれでヨシとすることにします!!
sponsored links
ついに決着。何年も使うぞ!
10月中旬からワタシを悩ませてきたMacbook Pro何買うの問題、やっとこれで決着・納得がいきました。M1 Pro 32GBで十二分、M1 Pro 16GBでも十分。そんな結論でした。
これからM2やまたそれ以上のスペックを持ったM2 ProやMaxなんぞも登場してくると思いますが、自分のDTMライフやWeb開発やソフトウェア開発にはこのスペックで何年も戦っていけそうな気がしています。
しばらくこのMacを愛して相棒としてやっていこうと思います😘
2021 Apple MacBook Pro (14インチ, 10コアCPUと16コアGPUを搭載したApple M1 Proチップ, 16GB RAM, 1TB SSD) - シルバー
BaseQi iSDA 高精度 アルミニウム製 MicroSD カード アダプター (Lenovo yoga 900 & 710) - Color : Silver
Macbook ProのSDカードスロットにmicroSDがピッタリ収まるアダプター発見しました!!これ便利ですよ〜!
sponsored links