Reduser spillforsinkelse på Nexus 7 og andre enheter med Seeder Entropy Generator

click fraud protection

Oppdater: På grunn av tvilsomme gevinster og iboende ulemper, anbefaler vi at brukere leser denne forklaringen før du fortsetter.

Til tross for noe virkelig førsteklasses maskinvare, noen avanserte Android-enheter ser fortsatt ut til å ha problemer med noen spill. Det er mods der ute for å fikse disse forsinkelsesproblemene, da den underliggende årsaken vanligvis tilsvarer et eller annet problem med at prosessoren ikke fungerer til full kapasitet. Det er nå en ny løsning for Nexus 7 enheter for å redusere spillforsinkelse.

XDA seniormedlem lambgx02 la opprinnelig ut Seeder Entropy Generator for å stoppe etterslep på forskjellige Android-enheter. Utgangspunktet var at mest spilllag var forårsaket av entropi. Som lambgx02 forklarer:

Så jeg opplevde betydelig etterslep som vi alle gjør fra tid til annen, og bestemte meg for at jeg skulle komme til bunns i det.

Etter å ha sporet og feilsøkt i timevis, oppdaget jeg kilden til 90 % av Androids etterslep. Med et ord, entropi (eller mangel på sådan).

Googles JVM, som Suns, leser fra /dev/random. For alle tilfeldige data. Ja, /dev/random som bruker en svært begrenset entropipool.

Tilfeldige data brukes til alle slags ting.. UUID-generering, sesjonsnøkler, SSL.. når vi går tom for entropi, blokkerer prosessen. Det viser seg som etterslep. Prosessen kan ikke fortsette før kjernen genererer flere tilfeldige data av høy kvalitet.

Så jeg krysskompilerte rngd, og brukte den til å mate /dev/urandom inn i /dev/random med 1 sekunds intervaller.

Resultatet av å fikse dette problemet er at spill kjører mye, mye jevnere. XDA anerkjent bidragsyter bradman117 testet og bekreftet at det fungerte for Nexus 7 og lagt ut der flere brukere kan se det. Så langt har brukere rapportert utmerkede resultater. Installasjonen er også enkel, siden det er en enkel zip for å flashe under gjenoppretting.

Men hvis du bestemmer deg for å gi det en sjanse, vær oppmerksom på veldig reelle forbehold av redusert sikkerhet på grunn av dårlig generering av tilfeldige tall, samt redusert batterilevetid. Som uttalt av lambgx02:

  • Det er en (teoretisk) sikkerhetsrisiko ved at seeding /dev/random med /dev/urandom reduserer kvaliteten på de tilfeldige dataene. I praksis er oddsen for at dette blir kryptografisk utnyttet langt lavere enn oddsen for at noen angriper selve operativsystemet (en mye enklere utfordring).
  • Dette kan påvirke batterilevetiden negativt, siden den våkner hvert sekund. Den holder ikke en wakelock, så den burde ikke ha stor innvirkning, men gi meg beskjed hvis du tror det skaper problemer. Jeg kan legge til en blokkeringslesing i koden slik at den bare kjøres mens skjermen er på. På den annen side tilskriver mange av oss etterslep til manglende CPU-kraft. Siden dette hacket eliminerer nesten all etterslep, er det mindre behov for å overklokke, noe som potensielt reduserer batteriforbruket.

Mens lambgx02 opplyser at risikoen for å bli utnyttet pga uvilkårlig -> tilfeldig seeding er lav, er eventuell økt risiko for mye for en daglig drevet enhet i vår bok. Vi anbefaler imidlertid alle de som er interessert å tenke litt over dette på grunn av de potensielle risikoene. Vi forstår imidlertid hvorfor noen i sterkt kontrollerte miljøer, hvor kryptografisk styrke ikke er av stor betydning, kanskje vil prøve dette. For å se mer, sjekk ut Nexus 7-tråd samt original tråd.