2018-07-06

Windows 10 + Snapdragon 835を採用したASUS NovaGoを手に入れてみた

これはWindows/arm64 (Windows on Arm) を採用し、Snapdragon 835を搭載したラップトップ。まずこのarm64を採用したWindowsの最初のリリースはHP Envy x2とこのASUS NovaGoLenovo Miix 630はこの3機種。HPのは3月リリース、Lenovoのは6月。ASUSは4月くらいにはリリースされてたようなんだけど、6月になってやっと手に入りやすくなった。NovaGoがAmazon.com (US)で入手可能になったので手に入れてみた。なおUSのMicrosoft Storeでもオーダー可能になってる (日本へ発送可能かは知らない)

お値段は、本体価格が699ドル+送料で、781.08ドル。輸入コストも考えると比較的安く手に入った。(ホントは6月にアメリカ行ってる時に現地で入手したかったけどどこにもなかった)

普通に起動 & セットアップして、Windows Sモードを解除 (Microsoft StoreでWindows 10 Proを入手すればいいだけ。無償) した後、いろいろテストしてみた。


アプリケーション

  • Edgeは当然のことながらネイティブアプリケーション
  • x86なアプリケーションを動かすためのJITはXTCACHEというプロセスがやっている模様
  • arm64なネイティブアプリ以外にも、arm 32bit (ARMNTと呼ばれるThumb2モードのみのもの。Surface RTとかWindows Phone 8以降で使ってたモード。これもネイティブで動作可能)、x86 (これはJIT使って動的にarm64へ変換してるはず)、と3つのアーキテクチャをサポートしてる
  • \Windows\SysWow64、\Windows\SysArm32、\Windows\System32と各CPUモード毎にSystem32ディレクトリがある。なお、\Program Filesも\Program Files (Arm)とか\Program Files (x86)とか存在する
  • Windows Subsystem for Linuxはversion 1803に上げると使える。
  • Internet Explorer 11も含まれているけど、どうもx86版のみ
  • Firefox (x86)は動作するけど、Chrome (x86)はVersion 1709だとちょくちょくクラッシュする。Version 1803にすれば安定するし、パフォーマンスもちょっとよくなる

WebブラウザのJITで生成されたコードをJITでarm64に変換するのはよりコストがかかる (モジュールだったら一回コンパイルした後キャッシュ持てばいいだけだし) ので、もっと遅いかと思ったら、まぁこんな程度でしょう的な感じ。これはFirefoxでSunSpiderを実行した結果

Edgeだと


開発環境

  • Visual Studioはx86なら動くのでインストール可能。x86_arm64なクロスコンパイラがあるので、これでクロス環境でなくてもネイティブアプリを作ることはできる (amd64_arm64なコンパイラだと起動できないため)
  • デバッガ (cdb、windbg) はネイティブ版 (arm64) がWindows SDKに含まれているので、それを使えばネイティブアプリをデバッグ可能
  • 生成コードを見る限りUNIXなAArch64 ABIと同様。ARMNT (Thumb2) の時と同様これはarmの定義したABIをそのまま使ってる
ファーストインプレッションはこのような感じです。

0 件のコメント: