Seederi entroopiageneraatori abil vähendage mänguviivitust Nexus 7-s ja muudes seadmetes

Värskendus: Küsitavate eeliste ja loomupäraste puuduste tõttu soovitame kasutajatel lugeda see seletus enne jätkamist.

Vaatamata mõnele tõeliselt tipptasemel riistvarale on mõned tipptasemel Android-seadmed tundub, et mõne mänguga on ikka probleeme. Nende viivitusprobleemide lahendamiseks on olemas modifikatsioonid, kuna algpõhjus on tavaliselt võrdne mõne probleemiga, mille tõttu protsessor ei tööta täisvõimsusel. Nüüd on selle jaoks uus parandus Nexus 7 seadmed, mis aitavad mängu viivitust vähendada.

XDA vanemliige lambgx02 algselt postitas seeder Entropy Generator, et peatada viivitus erinevates Android-seadmetes. Eelduseks oli, et enamiku mängu viivituse põhjustas entroopia. Nagu lambgx02 selgitab:

Niisiis, nagu me kõik aeg-ajalt kogesin märkimisväärset mahajäämust ja otsustasin, et jõuan asja põhjani.

Pärast tundidepikkust otsimist ja silumist avastasin 90% Androidi viivituse allika. Ühesõnaga entroopia (või selle puudumine).

Google'i JVM, nagu Sun, loeb failist /dev/random. Kõigi juhuslike andmete jaoks. Jah, /dev/random, mis kasutab väga piiratud entroopiakogumit.

Juhuslikke andmeid kasutatakse igasuguste asjade jaoks. UUID genereerimine, seansivõtmed, SSL. kui entroopia saab otsa, protsess blokeerub. See väljendub viivitusena. Protsess ei saa jätkuda enne, kui kernel genereerib rohkem kvaliteetseid juhuslikke andmeid.

Niisiis, ma koostasin rngd ristkompileerimise ja kasutasin seda /dev/urandom sisestamiseks /dev/random 1-sekundiliste intervallidega.

Selle probleemi lahendamise tulemuseks on see, et mängud töötavad palju, palju sujuvamalt. XDA tunnustatud kaastööline bradman117 testis ja kinnitas, et see töötab Nexus 7 jaoks ning postitas kohta, kus rohkem kasutajaid seda näevad. Seni on kasutajad teatanud suurepärastest tulemustest. Paigaldamine on samuti lihtne, kuna see on taastamise ajal vilkuv lihtne zip.

Kui aga otsustate proovida, pidage meeles väga tõelised hoiatused vähenenud turvalisus, mis on tingitud juhuslike numbrite halvemast genereerimisest, samuti lühenenud aku tööiga. Nagu lambgx02 ütles:

  • Seal on (teoreetiline) turvarisk, kuna /dev/random külvamine /dev/urandom vähendab juhuslike andmete kvaliteeti. Praktikas on tõenäosus, et seda krüptograafiliselt ära kasutatakse kaugele väiksem kui tõenäosus, et keegi ründab OS-i ennast (palju lihtsam väljakutse).
  • See võib aku tööiga negatiivselt mõjutada, kuna see ärkab iga sekundi järel. See ei peata äratuslukku, seega ei tohiks sellel olla suurt mõju, kuid andke mulle teada, kui arvate, et see põhjustab probleeme. Saan koodile lisada blokeeriva lugemise, nii et see käivitub ainult siis, kui ekraan on sisse lülitatud. Teisest küljest omistavad paljud meist viivituse protsessori võimsuse puudumisele. Kuna see häkkimine kõrvaldab peaaegu kogu viivituse, on vähem vaja kiirendada, mis võib vähendada aku tarbimist.

Kuigi lambgx02 väidab, et ärakasutamise oht on tingitud urandlikkus -> juhuslik külv on väike, on igasugune suurenenud risk meie raamatus igapäevaselt kasutatava seadme jaoks liiga suur. Soovitame kõigil huvilistel võimalike riskide tõttu sellele siiski järele mõelda. Siiski mõistame, miks mõned tugevalt kontrollitud keskkondades, kus krüptograafiline tugevus pole eriti oluline, võivad soovida seda proovida. Lisateabe saamiseks vaadake Nexus 7 lõime samuti originaallõng.