どうもこんにちは。今回はAndroidウォークマンの電池持ちが悪い理由がわかったので少し書いてみることにしました。今作のAndroidウォークマンの電池持ちが悪い方は必見です。
該当機種
NW-A100シリーズ
NW-ZX500シリーズ
最新のウォークマン。なぜ電池持ちが悪いのか
端的に言えばプロセッサが悪いです。今回、ウォークマンが採用しているプロセッサについては型番の明言はありませんが、使用してるGPUなどから以下のものであると推察されます。
SoC NXP i.MX 8M Mini
Cortex-A53の4コア構成
GPUがVivante GC7000NanoUltra
(OPEN GL2.0までの対応、省電力型)
製造プロセスは14nm LPC FinFET
さて、多くの人はNXP製のSoCなんて聞いたことがないことでしょう。こちらのSoCは、主に検証ボートや組み込み向け機器に利用されているもので、スマートフォンやタブレット端末向けにはほとんど出回らないものになっています。
私もこれでAndroid乗っかってるのは初めて見ました。まぁ、原因を書いていきますと…
1.アンダークロックが高すぎる
AIDA64でウォークマンを調べてみると、アイドル時(無操作時)で1.2GHzという高い周波数で動作してることがわかりました。
同じCortex-A53を搭載したスマートフォン向けのものだと、アンダークロックは100〜300MHz程と低く抑えられています。このようにする事で、負荷時はパフォーマンスを発揮するものの、アイドル時は消費電力を抑え電池持ちを良くするようにしています。
今回のウォークマンは、そのアイドル時の動作周波数がスマホ向けのものに比べて4倍近くあるわけです。電池持ちが悪い点も理解できます。
Androidウォークマンの電池が持たない理由がわかったぞ
— はやぽん (@Hayaponlog) 2020年2月9日
1.プロセッサ
使用してるプロセッサは恐らくNXP i. MX 8M Miniでほぼ確定だろう。組み込み機器向けで性能も抑えられてる。
が、アンダークロックが1.2GHzと言うアイドル時にしてはあまりに高い周波数が電池持ちを悪くしてる原因と思われる。 pic.twitter.com/TihSELXL5Y
2.制御ガバナがおかしい
プロセッサには制御ガバナと呼ばれるものがあります。これは主に動作クロックのステップやコアをどのように動作させるかといった、指示系統をまとめたものになります。
一般に動作周波数が1.8GHzクラスのSoCであれば、だいたい6〜8ステップ。4コアクラスであればコア停止などの処理も行われます。
これがNXP i.MX 8M Miniでは3ステップしかなく、コア停止すらありません。そんなバカなと思ってプロセッサのデータシートを確認してみたのですが、該当項目にあったのは以下の通り。
このプロセッサのカーネル(基幹部)での制御項目が1つしかないのです。上欄のMin,Typ,Maxは許容値です。しかも1コアだけ動かすと言ったことが定義されておらず、常時4コアで動作しています。
これは組み込み向け機器への設計ということになってるのかなと思います。あのような機器はバッテリーでの動作ではなく、常時電源が供給される環境にあることが多いです。
それであればスマホ向けのように制御項目を複雑にしないことで、開発者にわかりやすいものにしていると思えば納得です。
ちなみに今回のウォークマンのバッテリー容量は1500mAhとなる。実はNW-ZX2より少なくなってます。それでいて常時1.2GHz 4コアで動くチップセットを載せてる訳ですから。そりゃ電池持ちも悪いですよw
バッテリードレインの理由も、このプロセッサでしたら半ば仕様に近いです。
なぜソニーはこのチップセットを選んだのか?
これはあくまで推察ですが、ソニーとしてもウォークマンに搭載する選定要件に以下のものが入ってたのかと思われます。
・64bit対応チップセット
・4Gモデム非搭載
・省電力型チップセット
音楽プレイヤーですので、処理能力としてはまぁそこそこあれば十分との判断でしょう。64bit対応は2019年に発売する端末で32bitはさすがに無理がありますから。
4Gモデム非搭載は音質面を考慮してかと思われます。音楽プレイヤーにはノイズ源となりますので
これらの条件でプロセッサを探すとなると、大手のQualcommでは4Gモデム非搭載のAPQ型番のものは現在製造していません。組み込み向けでも32bitのみになっています。
64bitだと形落ちになりますが、以下のものが該当します。
APQ8094(モデム搭載型はMSM8994 Snapdragon 810)
APQ8096(モデム搭載型はMSM8996 Snapdragon 820)
いずれもハイエンド向きの消費電力が大きく、チップサイズも大型であることから不採用だったのかなと感じます。
同じく大手のMediaTekでは該当する商品はあるものの、モデム無しはMTK8162と言ったタブレットPCなどで使われてるものが多く、これでは省電力とは言えません。
SAMSUNG Exynosに関してはほとんどがモデム非搭載のプロセッサではあるが、ソニーグループ内に携帯電話(Xperia)を製造するチームがいる以上競合となるため使えなかったと考えられます。また、HiSiliconはHuaweiの傘下企業であるため、外部への供給はしません。
この時点で大手メーカーのプロセッサを利用できなくなってます。
このような結果となればAllwinnerやRockchipと言った中華SoCという手もあるが、販売予定のメイン市場が中国といった訳でもなくグローバル展開するものです。
これらのサプライヤーではチップセットの供給面で不安が残りますし、日本なんかでこれが分かれば「ソニーが中華チップを使ってる」と信頼はガタ落ちかになるかと思います。
結果としてモバイル機器向けではない、組み込み向けのARMチップの採用が見えてきます。特に今回は本体を小型化してる上に基板もセパレート構造になってることから、プロセッサのサイズも小型なものが求められたのかと思います。
同じ音楽プレイヤーでもSnapdragon 425を積むHiby R6やExynos 7872を積むFiio M11とは筐体サイズが明らかに小型なことがわかります。
結果として、i.MX8M miniくらいしか積めるものがなかったと言ったところでしょうか。2年くらい前から開発が始まってれば部品選定のタイミングから見ても、こいつくらいしか該当するチップはいません。
恐らくWi-Fiモデムも別実装となっていることから、システムとしては省電力設計になっていないと思います。こればかりは、ある程度自由な基板設計のため仕方なかったと言えるでしょうか。
電池持ちが悪いと嘆く私たちはなにができるの?
正直、選定してるプロセッサが悪い以上、ユーザーである我々にできることは限られます。
Android標準の省電力モードを使ったところで、1.2GHz 4コアで動作するのは変わらないのです。これは外部の節電アプリを利用しても同じことでしょう。
仮にルート権限が取れたとしても、標準カーネルの定義が上記の通り小数しかないため、カスタムカーネルの導入しか効果はありません。
こんな機種に対してルートを取得し、ブートローダーのアンロック、導入用のカスタムカーネル、カスタムROMを作るような方はほぼいないと思います。
言っちゃ悪いですが、こんなプロセッサを採用してバッテリーをNW-ZX2より減らしているウォークマン。電池持ちが悪くて当然だと思います。
ソニーではアップデートでこれらの機種に対して「電源OFFタイマー」を実装してくれました。どうして電源OFF?と最初は思いましたが、プロセッサのスペックシートを確認した何となくわかりました。「これは、こう対応するしかできないんだ」と。
つまり、この時点でガバナでの制御はできないと言われたようなものです。使わない時は電源を切れという事です。
次回作はQualcommのSnapdragon 400番台あたりのプロセッサを採用すると、電池持ちは改善されるかなと思います。同じCortex-A53対応ならMediaTek MT65××(Helio P25やP35)の方がまだマシですね。
今回はここまで。それでは