サムスン、Galaxy S4の「ベンチマーク最適化」疑惑に回答

写真拡大

サムスンのフラッグシップAndroidスマートフォン Galaxy S4 に特定のベンチマークアプリを対象にした「最適化」が発覚した件について、サムスンが広報Blog に釈明を掲載しました。

Galaxy S4 で見つかった「最適化」は、通常のアプリはゲームなど負荷が高いものでもGPUクロックは480MHzまでしか上がらないのに対して、システムファイルに埋め込まれた特定のベンチマークアプリでは最高の532MHzで駆動するよう設定されていたこと。

負荷や発熱・消費電力をもとに自動調節する一般的な最適化ではなく、特定のアプリでのみ最高性能が解禁されるため、テスト部分は内部的に同じ処理のベンチマークアプリでも、名前が違うと結果が違う現象が起こります。




Samsung Electronics の公式グローバルBlog Samsung Tomorrow に掲載されたステートメントは:

――――

通常の状況では、GALAXY S4 は最大のGPU動作周波数533MHz で動くよう設計されています。しかし、特定のゲームに対しては、長時間に渡って全画面モードで使われた場合に過負荷を起こす可能性があることから、最大GPU動作周波数は480MHzに下げられています。

一方で、普段から全画面モードで使われるアプリケーションは最大GPU動作周波数で動くことが許可されています。たとえばS ブラウザ、ギャラリー、カメラ、ビデオプレーヤ、および大きな処理能力を要求する特定のベンチーマークなどです。

GALAXY S4 の最大GPU動作周波数は、ユーザーにとって最適な体験を提供するために変化するもので、特定のベンチマーク結果を向上させる意図はありません。

Samsung Elecrtonics は引き続き、お客様に最高のユーザーエクスペリエンスを提供することに取り組んでまいります。

――――

最高クロックを許さない方にも許す方にも「フルスクリーンモード」が理由付けになっている意味はよく分かりませんが、要するに

・通常は533MHz
・ただし、特定のゲームでは長時間使われると(熱設計を超える)負荷になる可能性があるため480MHzにキャップ。
・サムスン製の組み込みアプリと、高性能を要求する特定ベンチについては最大の533MHzを許可。

という文章です。後半はとりあえず置いて、ずっと高負荷の最大性能で回したら熱もバッテリーも大変だから抑える、という、今回の「ベンチマークブースター」以前の一般論部分は大変に分かりやすく説得力があります。


しかし実際にアプリを走らせてGPUクロックを観測した結果には、これでは説明できない点が多々あります。まず、サムスンの主張では特定の高負荷ゲームのみブラックリスト的に480MHzに抑えられているはずですが、ベンチマークアプリの GFXBench 2.7.0でも最高クロックは480MHzまで。一方で、内部的にGFXBench と処理が同一のはずのGLBenchmark 2.5.1 (「特定のベンチマークアプリ」)では、常に533(532)MHz で動きます。

要するにブラックリストで特定のものを抑えているのではなく、ホワイトリストで一部アプリだけ「ブーストモード」に入るといったほうがより正確に表現できる挙動です。

またこの件を詳細に検証したリンク先 AnandTech では、サムスンの説明では名指しして最大クロック駆動が許されているはずの純正組み込みアプリでも、Sブラウザやギャラリーでは、どんなに重い処理を動かしても最大クロックが266MHzに留まっていると報告しています。(ブラウザはゲームやベンチほど常時GPUに重い処理をするわけではありませんが、PC向けのWebGL 3D描画を最大負荷で回しても266MHz)。

おもしろいことに、カメラアプリでは特に重いフィルタなどを有効にした瞬間のみ一瞬532MHzに達するものの、通常は480MHzキャップに調節されています。一方で、サムスンも後半で「特定のベンチマークアプリ」として触れている AnTuTu は常時532MHz。