MacBookAir 2020 M1を買った

夏にDELLのXPS13を導入したばかりでしたが、Apple Silicon M1が搭載されたMacBookAirがどうしても気になってしまいました。ちょうど、冬茄子の時期ということで、うまく誤魔化せるだろうと期待して導入しました。
MBA_M1_1.jpg
エンジニアとしては、一般大衆向けコンピュータとしてもっとも台数が売れるであろうMacBookAirで、ARMプロセッサがどのように効果的に動くかを確認したかったところです。マイクロソフトから、クアルコムのチップベースのARMプロセッサ搭載機種が既に出ていますが、発売直後の評判や、商品の魅力を考えると、MacBookAirかなあと思ってます。
数時間しか触っていませんが、モバイル向けをベースに開発されたARMプロセッサベースのPCが遅いという勝手な思い込み・懸念は完全に払拭されました。全く問題なし。メモリも8GBの機種にしていますが、特に今のところ、遅さを感じることは全くありません。性能はネットの評判通りで、バッテリの持ちはこれからですが、これでソフトが十分に充実してくれば、革命的なことになろうと思います。
この想定外の性能は、単純にARMプロセッサだからということではなく、ノイマン型コンピュータのバスではなく、Fabricというn:nの接続を可能にするデータ伝送方式の導入(AMDもそうですね)、RAMの完全統合、SSDの高速化、OSとの連動などなど、最適化を推し進めた結果と思います。PCからではなくモバイル・タブレットの視点から作り上げたというのが、この結果を生んでいるのかなと感じる次第であります。
さて、Macに移行(といってもWin10デスクトップは今まで通り工作室に置いてあります)するので、ソフトの移行問題が課題です。Windowsを使われている方は充実しているのであまり気にしてなかったかもしれませんが、MacやLinuxでは切実な問題です。
とはいえ、10年前と比べると、一通りの有名なソフトはマルチプラットフォームになっていることもあり、改善してはいます。さらに従来型のインテル版Macでは、WindowsをBootcampやParallesなどで動かすことが可能なので、Windowsと共用するということができていました。必要な人は、ハードルはそれほど大きくなく、どうにかできていたというのも実際のところです。
しかし今回はARMプロセッサになっているので、CPUエミュレーションを行わなくてはなりません。今回のMacOSでも、Rosetta2というCPUエミュレータが入っていて、インテル版のバイナリを動作中に変換してくれるので動きますが、30%の速度低下のようです。しかしこれはあくまでも、同じOS内でAPIを使えない部分のCPU依存部分だけを変換しているので、このスピードダウンで済んでいることになります。とはいえ、それはあくまでも、Macアプリの話です。
Windowsを動かそうとすると、話は大きく変わるわけであります。評判通りの、ものすごい性能のM1チップとはいえ、WindowsのOSごとエミュレーションするとなると、相当にヘビーなことになると推測できます。そこで、個人的に注目なのが、WINEです。WINEの有償版がCodeWeaversです。
WINEはOSレベルではなく、APIレベルを模擬するソフトウェアで、Windowsアプリがよく使うAPI(Win32が中心, 間接的に.Net, DirectXなど)を置き換えて動かすような働きをしてくれます。なので、APIをM1ネイティブで実装できれば、それなりの性能が期待できます。
現時点だと、Rosetta2にバグがあるようで、OS11.1のリリースを待たないといけないようです。
例えば、DCCサウンドユーザーだと、ESUのLokProgrammerがMacで動くと、かなり使い勝手の面でメリットが出てくるわけですが、現時点だと動かせるかどうかは不明です。ただし、x86 LinuxのWINEでは動くというデータベース情報がありましたので、WINEのM1対応が進めば、デコーダの書き込みは難しい模様ですがサウンドファイルの編集は期待できそうです。
DesktopStationSoftwareも実はLokProgrammerと同じ問題でして、同じC#製で、.Net Frameworkを使っているのも同じです。以前にMacでWINEを試したことがありましたが、シリアル通信が正常に動かず、画面も少し乱れるなどがあり断念してました。
DesktopStationSoftwareについては、VisuatStudio 2019 for Mac(旧Xamarin)を使うという手もあります。以前はよくわかりませんでしたが、シリアルポートも普通に動かせるようではあります。
色々なOS間で、互換性を持たせる仕組みがたくさんあり、嬉しい反面悩ましいところもあり、M1チップでどこまで実現できるか試していこうと思います。

タイトルとURLをコピーしました