Opdatering: På grund af tvivlsomme gevinster og iboende ulemper anbefaler vi, at brugere læser denne forklaring før du fortsætter.
På trods af noget virkelig førsteklasses hardware, nogle avancerede Android-enheder ser stadig ud til at have problemer med nogle spil. Der er mods derude til at løse disse forsinkelsesproblemer, da den underliggende årsag normalt svarer til et eller andet problem med, at processoren ikke fungerer til sin fulde kapacitet. Der er nu en ny rettelse til Nexus 7 enheder, der hjælper med at reducere spilforsinkelse.
XDA seniormedlem lambgx02 oprindeligt postede Seeder Entropy Generator for at stoppe forsinkelse på forskellige Android-enheder. Udgangspunktet var, at det meste spillag var forårsaget af entropi. Som lambgx02 forklarer:
Så jeg oplevede betydelig forsinkelse, som vi alle gør fra tid til anden, og besluttede, at jeg ville komme til bunds i det.
Efter at have sporet og fejlrettet i timevis opdagede jeg kilden til 90 % af Androids forsinkelse. Kort sagt entropi (eller mangel på samme).
Googles JVM, ligesom Suns, læser fra /dev/random. For alle tilfældige data. Ja, /dev/random, der bruger en meget begrænset entropipulje.
Tilfældige data bruges til alle slags ting.. UUID-generering, sessionsnøgler, SSL.. når vi løber tør for entropi, blokerer processen. Det viser sig som forsinkelse. Processen kan ikke fortsætte, før kernen genererer flere tilfældige data af høj kvalitet.
Så jeg krydskompilerede rngd og brugte den til at føre /dev/urandom ind i /dev/random med 1 sekunds intervaller.
Resultatet af at løse dette problem er, at spil kører meget, meget glattere. XDA anerkendt bidragyder bradman117 testet og bekræftet, at det virkede for Nexus 7 og postet, hvor flere brugere kan se det. Indtil videre har brugerne rapporteret fremragende resultater. Installationen er også nem, da det er en simpel lynlås til at flashe under genoprettelsen.
Men hvis du beslutter dig for at give det en chance, skal du være opmærksom på meget reelle forbehold af nedsat sikkerhed på grund af ringere generering af tilfældige tal, samt nedsat batterilevetid. Som anført af lambgx02:
- Der er en (teoretisk) sikkerhedsrisiko, ved at seeding /dev/random med /dev/urandom nedsætter kvaliteten af de tilfældige data. I praksis er oddsene for, at dette bliver kryptografisk udnyttet langt lavere end oddsene for, at nogen angriber selve OS (en meget enklere udfordring).
- Dette kan påvirke batteriets levetid negativt, da det vågner hvert sekund. Den holder ikke en wakelock, så den burde ikke have den store indflydelse, men lad mig vide, hvis du synes, den giver problemer. Jeg kan tilføje en blokeringslæsning til koden, så den kun udføres, mens skærmen er tændt. På den anden side tilskriver mange af os forsinkelse til manglende CPU-kraft. Da dette hack eliminerer næsten al forsinkelse, er der mindre behov for at overclocke, hvilket potentielt reducerer batteriforbruget.
Mens lambgx02 oplyser, at risikoen for at blive udnyttet pga urandom -> tilfældig seeding er lav, er enhver øget risiko for meget for en dagligt drevet enhed i vores bog. Vi råder dog alle interesserede til at tænke over dette på grund af de potentielle risici. Vi forstår dog, hvorfor nogle i stærkt kontrollerede miljøer, hvor kryptografisk styrke ikke er af stor betydning, måske vil give dette en chance. For at se mere, tjek Nexus 7 tråd samt original tråd.