ベンチマーク不正行為の反撃: OnePlus などが現行犯で捕まった経緯とそれに対する彼らの対応

OnePlusとMeizuはベンチマークでの不正行為が発覚した。 XDA は、この問題がどのようにして起こったのか、また同じことが起こらないようにするために何ができるのかを調査しています。

数年前、多数の大手メーカーがベンチマークで不正行為をしていたことが発覚し、大騒ぎになりました。 あらゆる規模の OEM (以下を含む) サムスン, HTC, ソニー、LG)は、捕まらずにユーザーを騙そうとするこの軍拡競争に参加しましたが、ありがたいことに、彼らは、いくつかの率直な議論の結果、最終的にベンチマークの不正行為を中止しました。 業界の専門家 そしてジャーナリストたち。

2013 年に遡ると、 発見した サムスンが特定のアプリケーションでGPUのクロック速度を人為的に高め、一連の騒動を引き起こしたという。 調査 あらゆるメーカーのベンチマーク不正行為を防止します。 当時の調査では、Google/Motorola を除くほぼすべてのメーカーがベンチマーク不正行為を行っていたことが判明しました。 彼らは皆、ベンチマークで携帯電話のパフォーマンスを少しでも向上させようと、時間とお金を投資していました。 ユーザーをだまして自分の携帯電話が実際よりも速いと思わせることを目的として、日常の使用に何のプラスの影響も与えません。 だった。 これらの開発努力は、クロック速度の下限の設定から、クロック速度を最大設定に強制すること、さらにはより高い特別な設定を作成することまで、全範囲にわたって行われました。 ベンチマーク時にのみ利用可能な電力状態と特別なクロック速度。これらの取り組みにより、多くの場合、わずか数パーセントの増加に終わります。 基準。

ベンチマーク不正行為のこれらの試みはベンチマーク自体の本質に反するものであったため、これが発見されたときは大きな怒りが生じました。 ほとんどのベンチマークは、実験室のような条件下での電話機の理論上の最大パフォーマンスを示すものではありません。 日々の使用で再現可能ですが、むしろ、実際の環境での比較のための参照点を提供するためにあります。 電話。 テクノロジー関連の出版物、業界リーダー、および企業からのちょっとした公の場での非難 (およびいくつかのプライベートな会話) の後、 一般の人々、ほとんどのメーカーは、ベンチマーク不正行為は単に容認できないというメッセージを受け取り、不正行為として停止しました。 結果。 大幅な変更が加えられたため、その時点で停止しなかった少数のプログラムのほとんどは、その後すぐに停止しました。 ベンチマークの不正行為を阻止するために、実行されるベンチマークの数に制限を加えます(ベンチマークの利点を減らすことによって)。 それ)。 クロック速度を最大化することによるサーマル スロットルがすぐにわかるように、多くのベンチマークは長めに設定されています。

私たちが インタビューされました Geekbench の作成者である John Poole 氏が、ベンチマーク不正行為と、Primate Labs のような企業が不正行為を防ぐために何ができるかについて話題にしました。 特に Primate Labs は、ベンチマーク不正行為の影響を軽減するために、Geekbench 4 を Geekbench 3 よりもかなり長くしました。 開発を確実にするために利益を削減する ベンチマーク不正行為のコストは価値がありません.

「問題は、これだけ大きなランタイムが得られると、クロックを上げてゲームを始めると、 速度を上げたり、ガバナーを無効にしたり、あるいはそのようなことをすると、実際に実際の危険が車に加わり始めることになります。 電話... ゲームするつもりなら… それほど多くは得られません。 まだ数パーセントはもらえるかも知れませんが、本当にそれだけの価値があるのでしょうか?」 - ジョン・プール


どうしたの

残念ながら、一部の OEM が再び不正行為を始めたことを報告しなければなりません。これは、私たちがもう一度注意を払う必要があることを意味します。 ありがたいことに、メーカーはこのような問題に対してますます敏感になっており、適切な注意を払えば、この問題は迅速に解決できます。 反発がどれほど大きかったかを考慮して、メーカーがベンチマーク不正行為を実施しているのを見るのは少しショックです 前回の試行時 (一部のベンチマークでは、パフォーマンスから不正なデバイスを完全に除外しています) リスト)。 この反動は、ベンチマーク不正行為によるパフォーマンスの向上が通常 (ほとんどの場合) いかに小さいかとは対照的です。 前回は 5% 未満のスコア増加に終わった試行のうち、これがすべて遅れていることを心から望んでいました 私たち。

数カ月前にベンチマーク不正行為があったため、この試みのタイミングは特に不適切です。 愛好家の関心を集め、フォルクスワーゲンとフィアット・クライスラーが排ガス不正行為を摘発されたことで公共の場にも参入した ベンチマーク。 両社は、ディーゼル車が排出ガス試験を受けていることを検出するソフトウェアを実装し、車両を低排出ガスモードに切り替えさせました。 排出ガスの規制値内に収まりながら、燃費でガソリン車と競争しようとして、燃費が低下した。 テスト。 これまでのところ、このスキャンダルは数十億の罰金、数百億のリコール費用、告訴をもたらしているが、決してそのような報復ではない。 OEM はベンチマーク スコアを水増しすることを検討しますが、これは純粋にユーザーの比較を目的としており、規制の測定には使用されません。 要件。

その間 クアルコムがどのようにしてアプリを開く速度の高速化を実現したかを調査 当時新しい Qualcomm Snapdragon 821 では、何か奇妙なことに気づきました。 ワンプラス 3T では再現できませんでした Xiaomi Mi Note 2 または Google ピクセル XL、他のSnapdragon 821デバイスの中でも。 編集長のマリオ セラフェロは、Qualcomm Trepn と Snapdragon Performance Visualizer を使用して、Qualcomm が CPU をどのように「ブースト」するかを監視していました。 アプリを開くときにクロック速度を調整し、OnePlus 3T 上の特定のアプリが起動後に通常のアイドリング速度に戻らないことに気付きました。 オープニング。 一般的な経験則として、パフォーマンス監視ツールが追加のパフォーマンス オーバーヘッドをもたらすため、可能な限りパフォーマンス監視ツールを開いた状態でベンチマークをテストすることは避けます。 (特に、公式のデスクトップ ツールがない非 Snapdragon デバイスの場合) しかし、今回のインシデントでは、それらのおかげで、私たちが見逃していたであろういくつかの奇妙な動作に気づくことができました。 さもないと。

特定のベンチマーク アプリを実行すると、CPU 負荷が 0% に低下した場合でも、OnePlus 3T のコアは小さなコアでは 0.98 GHz 以上、大きなコアでは 1.29 GHz 以上を維持します。 通常、無負荷時には両方のコアのセットが OnePlus 3T で 0.31 GHz まで低下するため、これは非常に奇妙です。 これを最初に見たとき、OnePlus の CPU スケーリングが単に少し奇妙に設定されているだけではないかと心配しましたが、 しかし、さらなるテストの結果、OnePlus は特定のターゲットをターゲットにしているに違いないという結論に達しました。 アプリケーション。 私たちの仮説は、OnePlus がこれらのベンチマークを名前でターゲットにしており、ベンチマーク スコアを上げるために代替 CPU スケーリング モードに入っているというものでした。 私たちの主な懸念の 1 つは、OnePlus で発生した問題を回避するために、OnePlus がこのモードでより緩やかな温度制限を設定している可能性があるということでした。 1 つ目、OnePlus X、OnePlus 2 では、Geekbench のマルチコア セクション用にオンラインになる追加コアの処理が電話機で適切に行われていませんでした。 その結果、場合によっては大幅にスロットルが低下することがあります (OnePlus X のスコアがシングル コア セクションよりもマルチ コア セクションで低くなることがありました) コアセクション)。 激しいスロットリングは次のページで見つけることができます。 OnePlus 2 レビュー、デバイスが Geekbench 3 マルチコア スコアを最大 50% 削減できることがわかりました。 その後、デバイス間でスロットリングとサーマルを比較し始めたとき、 ワンプラス2 これは、OEM が避けるべきものの教科書的な例となりました。

私たちはチームに連絡しました。 霊長類研究所 彼らはベンチマーク不正行為の第一波の暴露に尽力し、さらなるテストのために彼らと提携しました。 私たちは、初期分析のために OnePlus 3T をトロントの Primate Labs のオフィスに持ち込みました。 初期テストには ROM ダンプが含まれており、OnePlus 3T がかなりの数のアプリを名前で直接検索していることが判明しました。 最も注目すべきは、OnePlus 3T が Geekbench、AnTuTu、Androbench、Quadrant、Vellamo、および GFXBench を探していたことです。 この時点で、OnePlus がベンチマーク不正行為に関与しているというかなり明確な証拠が得られたため、Primate Labs は 「ボブのミニゴルフパット」 Geekbench 4 のバージョン。 おかげ 大幅な変更 Geekbench 3 と 4 の間では、 "ミニゴルフ" このテストのために特別にバージョンをゼロから再構築する必要がありました。 このバージョンの Geekbench 4 は、Geekbench を通常どおり実行できるように、ベンチマークの検出を回避するように設計されています。 不正行為を行っている携帯電話上のアプリケーション (ベンチマークのほとんどの試みを騙すパッケージ名の変更を超えたもの) 不正行為)。


驚くべき例

アプリを開いた瞬間、違いは明らかでした。 OnePlus 3T は、通常の Geekbench アプリのように大きなコアでは 1.29 GHz、小さなコアでは 0.98 GHz ではなく、ほとんどのアプリで行われる 0.31 GHz でアイドリングしていました。 OnePlus は CPU ガバナーをより積極的にしており、その結果、Geekbench の隠れた Geekbench ビルドには存在しなかった実用的な人工的なクロック速度の下限が実現しました。 これは CPU ワークロードではなく、アプリのパッケージ名に基づいており、非表示のビルドによって誤魔化される可能性があります。 個々の実行における差は最小限でしたが、以下に示す持続的なパフォーマンス テストではサーマル スロットルの緩和が顕著でした。

私たちのテストによると、これはかなり前から Hydrogen OS の「機能」であったようですが、Nougat リリースに向けてコミュニティが構築されるまで Oxygen OS には追加されませんでした (リリース後)。 2つのROMがマージされました). 特にROMの統合後にOnePlusが今月発生したソフトウェアの問題を考慮すると、これを見るのは少し残念です。 ブートローダーの脆弱性GPL コンプライアンスの問題. 2 つのチームの合併により問題が解決するにつれて、OnePlus が本来の姿に戻り、引き続き開発者に優しいオプションとしての地位を確立することを期待しています。

とともに "ミニゴルフ" Geekbench のバージョンを手に入れて、他の携帯電話のベンチマーク不正行為のテストも開始しました。 ありがたいことに、私たちのテストでは、半年前にスキャンダルに関与した企業による不正行為は見られませんでした。 HTC、Xiaomi、Huawei、Honor、Google、Sony などは、通常の Geekbench ビルドと "ミニゴルフ" 当社のテストデバイス上に構築されます。

残念ながら、他のいくつかの企業からはまだ確認できていない、ベンチマーク不正行為の可能性のある証拠を発見しました。今後さらに調査する予定です。 この最悪の例は Exynos 8890 を搭載した Meizu Pro 6 Plus で、ベンチマーク不正行為をさらに極端なものにしました。


ひどい例

Meizu はこれまで、CPU のスケーリングを非常に控えめに設定してきました。 特に、彼らは多くの場合、「パフォーマンス モード」であっても大きなコアがめったにオンラインにならないように携帯電話を設定し、主力プロセッサ (優れたプロセッサなど) を実現します。 エクシノス 8890)彼らが主力携帯電話に搭載しているのは、ミッドレンジプロセッサのように機能します。 この問題が本格化したのは昨年のことだった アナンドテック Mediatek Helio X25 ベースの Meizu Pro 6 での Anandtech の JavaScript ベンチマークのパフォーマンスが低いとして Meizu を非難し、 テストのほとんどの間、大きなコアがオフラインのままであることに注目しました (テストはほぼ大きなコアのみで実行されるはずでした) コア)。 Anandtech は先週、ソフトウェア アップデートが Meizu Pro 6 にプッシュされ、最終的に Meizu がこれらのコアを最大限に使用できるようになったことに気づきました。 Anandtech スマートフォン上級編集者、Matt Humrick 氏は次のように述べています。 と述べた それ 「Flyme OS 5.2.5.0G にアップデートした後、PRO 6 のパフォーマンスは大幅に向上しました。 Kraken、WebXPRT 2015、および JetStream のスコアは約 2 倍から 2.5 倍向上します。 Meizu は負荷のしきい値を調整したようで、スレッドがより頻繁に A72 コアに移行できるようになり、パフォーマンスが向上しました。」

残念ながら、新しいデバイスの CPU スケーリングを改善するのではなく、より優れたパフォーマンスを実現しているようです。 ベンチマーク スコアによると、特定のアプリが動作しているときに携帯電話がビッグ コアの使用に切り替わるように設定されているようです。 ランニング。

Meizu Pro 6 Plus では、ベンチマーク アプリを開くときに、「パフォーマンス モード」に切り替えることをお勧めします (これだけでは 特定のパッケージ名を探していることを確認するには十分です)、大きな違いがあるようです。 標準の「バランス モード」の場合、携帯電話は Geekbench のシングルコア セクションとマルチコア セクションで一貫して約 604 と 2220 のスコアを獲得しますが、 「パフォーマンス モード」では 1473 と 3906 のスコアを獲得しました。これは主に、「バランス モード」ではテストの大部分でビッグ コアがオフのままであり、「バランス モード」ではオンになったおかげです。 「パフォーマンスモード」。 Meizu は、小さなコアを最大速度 1.48 GHz にロックし、実行時に 2 つの大きなコア 1.46 GHz にハードフロアを設定しているようです。 「パフォーマンス モード」の Geekbench (他の 2 つの大きなコアは自由かつ非常に積極的なスケールが許可されています)。 を実行している "ミニゴルフ" 建てる。

高電力モードと低電力モードを選択できるのは優れた機能ですが、この場合、それは単なるお店のトリックにすぎないようです。 Meizu Pro 6 Plus は、通常の Geekbench アプリの「パフォーマンス モード」でまともなスコアを示していますが、 "ミニゴルフ" Geekbench のビルドを開始すると、「バランス モード」に設定されているときと同じレベルのパフォーマンスに戻ります。 Meizu Pro 6 Plus のより高いパフォーマンス状態は、ベンチマークのみを目的としており、実際の日常使用ではありません。

注目すべき点の 1 つは、Meizu Pro 6 Plus を「パフォーマンス モード」でシークレットを使用してテストしたときのことです。 Geekbench のビルド、クアルコムでクロック速度を記録している場合、大きなコアがオンラインになりました トレプン。 Trepn が実行され、大きなコアがオンになっていることを Meizu が認識しているかどうかはまだ確認されていません。 それが一部の原因であるか、それとも単に余分な CPU 負荷が原因で大きなコアがオンになっているだけなのか、 を作成します。 バックグラウンドで追加の負荷 (テスト中にパフォーマンス グラフをオンにした場合など) が発生すると、直観に反して聞こえるかもしれませんが、 増加 ベンチマークの結果、Meizu の保守的なスケーリングは、余分なオーバーヘッドが発生することを意味する可能性があります。 エッジを超えて大きなコアを作動させるのに十分なため、すべてのパフォーマンスが向上します。 タスク。


受容的な OEM がフィードバックに対処するとき...

テスト後、見つかった問題について OnePlus に問い合わせました。 に応じて、 OnePlus は、ベンチマーク不正行為でベンチマーク アプリをターゲットにすることをやめることをすぐに約束しましたが、ゲーム (ベンチマークの対象にもなります) については引き続き維持するつもりです。 OxygenOS の将来のビルドでは、このメカニズムはベンチマークによってトリガーされなくなります。. OnePlus は、ユーザーが何が起こっているかを把握できるように、トグルを追加するという私たちの提案も受け入れてくれました。 内部では、少なくともベンチマークにおける不当で誤解を招く優位性は明らかにされるべきである。 修正しました。 ただし、旧正月の休暇とその機能のバックログのため、このパフォーマンス機能のユーザー向けのカスタマイズ オプションが表示されるまでにはしばらく時間がかかる可能性があります。 動作を修正するだけでも改善ですが、通常の動作で確認されるのはまだ少し残念です。 実際のパフォーマンスを向上させるのではなく、特定のアプリをターゲットにすることが重要であるため、アプリケーション (ゲームなど) スケーリング。 実際に高速化が必要なときを識別する携帯電話の機能を向上させるのではなく、プロセッサの積極性を人為的に高め、特定のアプリのクロック速度を高めることによって OnePlus は、クロック速度に応じて携帯電話のパフォーマンスに一貫性を持たせません。これは、携帯電話が古くなり、OnePlus がターゲットにしていないゲームが増えるにつれて、より顕著になります。 解放されました。 ただし、現時点ではこの実装によりゲームのパフォーマンスが向上します。 OnePlus もこの記事に対して声明を提供しており、以下で読むことができます。

 「リソースを大量に消費するアプリやゲーム、特にグラフィックスを多用するアプリやゲームにおいて、より良いユーザー エクスペリエンスをユーザーに提供するため」 1 つ目は、コミュニティと Nougat ビルドに特定のメカニズムを実装して、プロセッサーがさらに実行できるようにトリガーすることです。 積極的に。 アプリのベンチマークのトリガー プロセスは、OnePlus 3 および OnePlus 3T 上の今後の OxygenOS ビルドには存在しません。

OnePlus がスマートフォンからベンチマーク不正行為を削除すると聞いて嬉しく思います。 今後も、可能な限り OEM に対し、より消費者に優しいものになるよう圧力をかけ続け、将来のベンチマーク不正行為に注意を払っていきます。

残念ながら、この種の欺瞞に対する唯一の本当の答えは、絶えず警戒することです. スマートフォン愛好家のコミュニティとして、このようなユーザーを騙す試みに注意を払う必要があります。 私たちが関心があるのはベンチマーク スコアそのものではなく、むしろベンチマークが携帯電話のパフォーマンスについて何を示しているかです。 ベンチマーク不正行為はまだアクティブではありませんでしたが、 ワンプラス3 私たちがレビューしたところ、この誤解を招く「機能」を追加するには、単純なソフトウェア アップデートで十分でした。 最初の起動時にデバイスのベンチマーク不正行為をチェックすることが正しくないことを明確に示しています。 十分。 このような問題は、デバイスの発売後、数日、数週間、数か月、さらには数年後に人為的に追加される可能性があります。 数か月後にベンチマークによって収集された世界平均を水増しし、最終的なデータベースに影響を与える 結果。 これらの調整を行ったとしても、メーカーは開発に時間と資金を投資しなければならなかったことに注意すべきです。 通常、ベンチマーク スコアの増加は数パーセントのみです (Meizuのような、より大きな問題を不正行為で隠蔽しているいくつかの周辺事件を除く)。 数パーセント ポイントですが、これは最高のパフォーマンスのデバイスと最低のパフォーマンスのデバイスの差よりもはるかに小さいです。 ただし、デバイスが実行するハードウェアがますます類似しているため、これらの追加のパーセンテージ ポイントが、ユーザーが最終的に参照するランキング チャートの決定要因となる可能性があると私たちは主張します。 より優れたドライバーの最適化とよりスマートな CPU スケーリングは、デバイスのパフォーマンスに大きな影響を与える可能性があります。 最高パフォーマンスの Qualcomm Snapdragon 820 ベースのデバイスと、最低パフォーマンスのデバイス (大手 OEM 製) のスコアが 20% を超える ギークベンチ。 ユーザーを欺くために時間とお金を費やすことによる数パーセントのポイントではなく、ドライバーの最適化による 20 パーセント。 そして、それはベンチマーク スコアに影響を与える可能性のある開発努力について話しているだけです。 デバイスのソフトウェアの改善に投資する最大のメリットの多くは 常にベンチマークに反映されるわけではない、OnePlus はデバイスで優れた現実世界のパフォーマンスを提供します。 この場合、企業の開発努力がどこに焦点を当てるべきかを明確にする必要があります。 私たちは、ベンチマークで不正を行っている企業を見つけ次第、さらに連絡を取り合っており、彼らが OnePlus と同じくらい寛容であることを願っています。


この問題の解明に協力してくれたPrimate Labsのチームに改めて感謝したいと思います。 Geekbench の「Mini Golf」エディションがなければ、ベンチマーク不正行為を適切にテストすることはかなり困難であったでしょう。