Уменьшите задержку игры на Nexus 7 и других устройствах с помощью генератора энтропии Seeder

click fraud protection

Обновлять: Из-за сомнительных преимуществ и присущих недостатков мы рекомендуем пользователям прочитать это объяснение прежде чем продолжить.

Несмотря на действительно первоклассное оборудование, некоторые высокопроизводительные устройства Android похоже, все еще проблемы с некоторыми играми. Существуют моды, устраняющие эти проблемы с задержкой, поскольку основная причина обычно связана с проблемой, когда процессор не работает на полную мощность. Теперь есть новое исправление Нексус 7 устройства, помогающие уменьшить задержку игры.

Старший член XDA лямбгx02 изначально опубликовал генератор энтропии Seeder для устранения задержек на различных устройствах Android. Основная предпосылка заключалась в том, что большая часть задержек в игре была вызвана энтропией. Как объясняет lambgx02:

Итак, я, как и все мы, время от времени испытывал значительное отставание, и решил, что докопаюсь до сути.

После нескольких часов отслеживания и отладки я обнаружил причину 90% зависаний Android. Одним словом, энтропия (или ее отсутствие).

JVM Google, как и Sun, читает файлы из /dev/random. Для всех случайных данных. Да, /dev/random, который использует очень ограниченный пул энтропии.

Случайные данные используются для самых разных вещей. Генерация UUID, сеансовые ключи, SSL.. когда у нас заканчивается энтропия, процесс блокируется. Это проявляется в виде отставания. Процесс не может продолжаться до тех пор, пока ядро ​​не сгенерирует случайные данные более высокого качества.

Итак, я перекрестно скомпилировал rngd и использовал его для подачи /dev/urandom в /dev/random с интервалом в 1 секунду.

Результатом решения этой проблемы стало то, что игры стали работать намного плавнее. Признанный участник XDA Брэдман117 протестировано и подтверждено, что оно работает на Nexus 7, и опубликовано там, где его смогут увидеть больше пользователей. На данный момент пользователи сообщают об отличных результатах. Установка также проста, так как это простой zip-архив для прошивки в режиме восстановления.

Однако, если вы все же решите попробовать, имейте в виду очень реальные предостережения снижение безопасности из-за плохой генерации случайных чисел, а также уменьшения срока службы батареи. Как заявил lambgx02:

  • Существует (теоретическая) угроза безопасности, заключающаяся в том, что заполнение /dev/random с помощью /dev/urandom снижает качество случайных данных. На практике вероятность того, что это будет использовано криптографически, равна далеко ниже, чем вероятность того, что кто-то атакует саму ОС (гораздо более простая задача).
  • Это может отрицательно сказаться на сроке службы батареи, поскольку она просыпается каждую секунду. Он не поддерживает блокировку пробуждения, поэтому это не должно иметь большого влияния, но дайте мне знать, если вы считаете, что это вызывает проблемы. Я могу добавить блокирующее чтение в код, чтобы он выполнялся только при включенном экране. С другой стороны, многие из нас связывают задержку с недостатком мощности процессора. Поскольку этот хак устраняет почти все задержки, необходимость в разгоне снижается, что потенциально снижает расход заряда батареи.

Хотя lambgx02 заявляет, что риск использования из-за случайный -> случайный посев низкий, любой повышенный риск слишком велик для устройства с ежедневным использованием в нашей книге. Однако мы советуем всем, кто заинтересован, подумать об этом еще раз из-за потенциальных рисков. Однако мы понимаем, почему некоторые пользователи в жестко контролируемых средах, где надежность шифрования не имеет большого значения, могут захотеть попробовать это сделать. Чтобы увидеть больше, ознакомьтесь с Тема о Нексусе 7 так же хорошо как оригинальная тема.