Aggiornamento: A causa dei vantaggi discutibili e degli svantaggi inerenti, consigliamo agli utenti di leggere questa spiegazione prima di procedere.
Nonostante alcuni hardware davvero di prim'ordine, alcuni dispositivi Android di fascia alta sembra che abbia ancora problemi con alcuni giochi. Esistono mod per risolvere questi problemi di ritardo, poiché la causa sottostante di solito equivale a qualche problema con il processore che non funziona alla sua piena capacità. Ora è disponibile una nuova soluzione per Nexus 7 dispositivi per ridurre il ritardo del gioco.
Membro senior dell'XDA lambgx02 originariamente pubblicato il Seeder Entropy Generator per fermare il ritardo su vari dispositivi Android. La premessa principale era che la maggior parte del ritardo del gioco era causato dall'entropia. Come spiega lambgx02:
Quindi, stavo riscontrando un ritardo significativo, come capita a tutti di tanto in tanto, e ho deciso che sarei andato fino in fondo.
Dopo aver monitorato ed eseguito il debug per ore, ho scoperto l'origine del 90% del ritardo di Android. In una parola, entropia (o mancanza di essa).
La JVM di Google, come quella di Sun, legge da /dev/random. Per tutti i dati casuali. Sì, il /dev/random che utilizza una riserva di entropia molto limitata.
I dati casuali vengono utilizzati per tutti i tipi di cose.. Generazione UUID, chiavi di sessione, SSL.. quando esauriamo l’entropia, il processo si blocca. Ciò si manifesta come ritardo. Il processo non può continuare finché il kernel non genera più dati casuali di alta qualità.
Quindi, ho compilato in modo incrociato rngd e l'ho usato per inserire /dev/urandom in /dev/random a intervalli di 1 secondo.
Il risultato della risoluzione di questo problema è che i giochi funzionano molto, molto più fluidamente. Collaboratore riconosciuto XDA bradman117 testato e confermato che funzionava per il Nexus 7 e pubblicato dove più utenti possono vederlo. Finora, gli utenti hanno riportato risultati eccellenti. Anche l'installazione è semplice, poiché è sufficiente un semplice zip per eseguire il flashing durante il ripristino.
Tuttavia, se decidi di provarci, tieni presente il avvertenze molto reali di una minore sicurezza dovuta alla generazione inferiore di numeri casuali, nonché alla ridotta durata della batteria. Come affermato da lambgx02:
- Esiste un rischio (teorico) per la sicurezza, in quanto il seeding di /dev/random con /dev/urandom diminuisce la qualità dei dati casuali. In pratica, le probabilità che questo venga sfruttato crittograficamente sono elevate lontano inferiori alle probabilità che qualcuno attacchi il sistema operativo stesso (una sfida molto più semplice).
- Ciò potrebbe influire negativamente sulla durata della batteria, poiché si riattiva ogni secondo. Non contiene wakelock, quindi non dovrebbe avere un grande impatto, ma fammi sapere se pensi che stia causando problemi. Posso aggiungere una lettura di blocco al codice in modo che venga eseguito solo mentre lo schermo è acceso. D'altra parte, molti di noi attribuiscono il ritardo alla mancanza di potenza della CPU. Poiché questo hack elimina quasi tutto il ritardo, c'è meno bisogno di overclockare, riducendo potenzialmente il consumo della batteria.
Mentre lambgx02 afferma che il rischio di essere sfruttato a causa del file urandom -> casuale il seeding è basso, qualsiasi aumento del rischio è eccessivo per un dispositivo utilizzato quotidianamente nel nostro libro. Consigliamo però a tutti coloro che sono interessati di ripensarci a causa dei potenziali rischi. Tuttavia, capiamo perché alcuni in ambienti fortemente controllati, dove la forza crittografica non è di grande importanza, potrebbero voler fare un tentativo. Per vedere di più, controlla il Discussione sul Nexus 7 così come il filo originale.