Оновлення: Через сумнівні переваги та властиві недоліки ми рекомендуємо користувачам прочитати це пояснення перш ніж продовжити.
Незважаючи на справді першокласне обладнання, деякі високоякісні пристрої Android здається, все ще є проблеми з деякими іграми. Існують моди для вирішення цих проблем із затримкою, оскільки основною причиною зазвичай є якась проблема, коли процесор не працює на повну потужність. Тепер є нове виправлення для Nexus 7 пристрої, які допомагають зменшити затримку гри.
Старший член XDA lambgx02 спочатку опублікував Seeder Entropy Generator, щоб зупинити відставання на різних пристроях Android. Основна передумова полягала в тому, що більшість ігрових затримок викликана ентропією. Як пояснює lambgx02:
Отже, я відчував значне відставання, як і всі ми час від часу, і вирішив, що збираюся розібратися в цьому.
Після годинного відстеження та налагодження я виявив джерело 90% затримок Android. Одним словом, ентропія (або її відсутність).
JVM Google, як і Sun, читає з /dev/random. Для всіх випадкових даних. Так, /dev/random, який використовує дуже обмежений пул ентропії.
Випадкові дані використовуються для будь-яких речей.. Генерація UUID, сеансові ключі, SSL.. коли у нас закінчується ентропія, процес блокується. Це проявляється як відставання. Процес не може тривати, доки ядро не згенерує більше високоякісних випадкових даних.
Отже, я скомпільував rngd і використовував його для передачі /dev/urandom в /dev/random з інтервалом в 1 секунду.
Результатом вирішення цієї проблеми є те, що ігри працюють набагато, набагато плавніше. Визнаний учасник XDA bradman117 протестовано та підтверджено, що це працює для Nexus 7, і опубліковано, де більше користувачів можуть це побачити. Наразі користувачі повідомляють про чудові результати. Встановлення також просте, оскільки це простий zip для прошивки під час відновлення.
Однак, якщо ви вирішите спробувати, знайте про це дуже реальні застереження зниження безпеки через неякісну генерацію випадкових чисел, а також зменшений термін служби акумулятора. Як заявив lambgx02:
- Існує (теоретичний) ризик безпеки, оскільки заповнення /dev/random разом із /dev/urandom знижує якість випадкових даних. На практиці ймовірність того, що це буде криптографічно використано, велика далеко нижчі, ніж шанси того, що хтось атакує саму ОС (набагато простіша задача).
- Це може негативно вплинути на час автономної роботи, оскільки він виходить із режиму сну щосекунди. Він не підтримує wakelock, тому це не повинно мати великого впливу, але дайте мені знати, якщо ви вважаєте, що це спричиняє проблеми. Я можу додати до коду блокування читання, щоб він виконувався лише тоді, коли екран увімкнено. З іншого боку, багато хто з нас пояснює відставання недостатньою потужністю процесора. Оскільки цей хак усуває майже всі затримки, менше потреби в розгоні, потенційно зменшуючи споживання батареї.
У той час як lambgx02 заявляє, що ризик бути використаним через випадковий -> випадковий посіву є низьким, будь-який підвищений ризик занадто великий для щоденного приводу пристрою в нашій книзі. Ми радимо всім тим, хто зацікавлений, ще раз подумати про це через потенційні ризики. Однак ми розуміємо, чому деякі люди в сильно контрольованому середовищі, де криптографічна надійність не має великого значення, можуть спробувати це. Щоб побачити більше, перегляньте Потік Nexus 7 а також оригінальна нитка.