アップデート: 疑わしい利点と固有の欠点があるため、ユーザーには次の内容を読むことをお勧めします。 この説明 先に進む前に。
本当に一流のハードウェアがあるにもかかわらず、一部のハイエンド Android デバイス まだ一部のゲームで問題が発生しているようです. 根本的な原因は通常、プロセッサーがその能力を最大限に発揮していないことによる何らかの問題に相当するため、これらの遅延の問題を修正するための MOD が存在します。 新しい修正が行われました ネクサス7 ゲームの遅延を軽減するデバイス。
XDA 上級会員 ラムgx02 当初は、さまざまな Android デバイスでの遅延を防ぐために Seeder Entropy Generator を投稿しました。 実行の前提は、ゲームのラグのほとんどはエントロピーによって引き起こされるということでした。 lambgx02 は次のように説明しています。
そこで、誰もが時々経験するように、私も大幅な遅れを経験し、その真相に到達しようと決心しました。
何時間もトレースとデバッグを行った結果、Android の遅延の 90% の原因を発見しました。 一言で言えば、エントロピー(またはエントロピーの欠如)です。
Google の JVM は、Sun と同様、/dev/random から読み取ります。 すべてのランダムデータ用。 はい、/dev/random は非常に限られたエントロピー プールを使用します。
ランダム データはあらゆる種類のものに使用されます。 UUID の生成、セッション キー、SSL など。 エントロピーが不足すると、プロセスがブロックされます。 それが遅れとなって現れます。 カーネルがより高品質のランダム データを生成するまで、プロセスは続行できません。
そこで、rngd をクロスコンパイルし、それを使用して /dev/urandom を 1 秒間隔で /dev/random にフィードしました。
この問題を修正した結果、ゲームは非常にスムーズに実行されるようになりました。 XDA 認定貢献者 ブラッドマン117 Nexus 7 で動作することをテストして確認し、より多くのユーザーが閲覧できる場所に投稿しました。 これまでのところ、ユーザーから素晴らしい結果が報告されています。 リカバリ時にフラッシュするためのシンプルな zip なので、インストールも簡単です。
ただし、実際に試してみることにした場合は、次の点に注意してください。 非常に現実的な警告 乱数の生成が不十分なため、セキュリティが低下し、バッテリー寿命も短くなります。 lambgx02 が述べているように:
- /dev/random を /dev/urandom でシードすると、ランダム データの品質が低下するという (理論上の) セキュリティ リスクがあります。 実際には、これが暗号的に悪用される確率は次のとおりです。 遠い 誰かが OS 自体を攻撃する確率よりも低いです (はるかに単純な挑戦)。
- 毎秒起動するため、これはバッテリー寿命に悪影響を与える可能性があります。 ウェイクロックを保持していないため、大きな影響はありませんが、問題を引き起こしていると思われる場合はお知らせください。 コードにブロッキング読み取りを追加して、画面がオンになっている間のみ実行されるようにすることができます。 一方で、ラグの原因は CPU パワー不足にあると考えている人も少なくありません。 このハックによりラグがほぼすべて解消されるため、オーバークロックの必要性が減り、バッテリーの消費が削減される可能性があります。
lambgx02 では、次の理由により悪用されるリスクがあると述べています。 ランダム -> ランダム シードは低く、リスクの増加は、私たちの本の中で毎日駆動されるデバイスとしては大きすぎます。 ただし、潜在的なリスクがあるため、これに興味がある人はもう一度考えてみることをお勧めします。 ただし、暗号強度がそれほど重要ではない、厳しく管理された環境では、これを試してみたいと思う人がいるのも理解できます。 さらに詳しく見るには、 Nexus 7 のスレッド 同様に 元のスレッド.