Atnaujinimas: Dėl abejotinų pranašumų ir būdingų trūkumų rekomenduojame vartotojams perskaityti šis paaiškinimas prieš tęsiant.
Nepaisant tam tikros aukščiausios klasės aparatinės įrangos, kai kurie aukščiausios klasės „Android“ įrenginiai vis dar turi problemų su kai kuriais žaidimais. Yra modifikacijų, skirtų šioms vėlavimo problemoms išspręsti, nes pagrindinė priežastis paprastai yra tam tikra problema, kai procesorius neveikia visu pajėgumu. Dabar yra naujas pataisymas „Nexus 7“. įrenginiai, padedantys sumažinti žaidimo atsilikimą.
XDA vyresnysis narys lambgx02 iš pradžių paskelbė „Seeder Entropy Generator“, kad sustabdytų atsilikimą įvairiuose „Android“ įrenginiuose. Pagrindinė prielaida buvo ta, kad didžiąją dalį žaidimo vėlavimo sukėlė entropija. Kaip paaiškina lambgx02:
Taigi, aš, kaip ir mes visi, retkarčiais patyriau didelį atsilikimą ir nusprendžiau, kad pasistengsiu išsiaiškinti.
Po kelių valandų sekimo ir derinimo sužinojau 90 % „Android“ delsos šaltinį. Žodžiu, entropija (arba jos nebuvimas).
„Google“ JVM, kaip ir „Sun“, skaito iš /dev/random. Visiems atsitiktiniams duomenims. Taip, /dev/random, kuris naudoja labai ribotą entropijos telkinį.
Atsitiktiniai duomenys naudojami įvairiems dalykams. UUID generavimas, seanso raktai, SSL. kai baigiasi entropija, procesas blokuojasi. Tai pasireiškia kaip atsilikimas. Procesas negali tęstis tol, kol branduolys nesugeneruos daugiau aukštos kokybės atsitiktinių duomenų.
Taigi, aš sukūriau kryžminį rngd ir panaudojau jį /dev/urandom įvedimui į /dev/random 1 sekundės intervalais.
Išsprendus šią problemą, žaidimai veikia daug sklandžiau. XDA pripažintas bendradarbis bradmanas117 išbandė ir patvirtino, kad jis veikia „Nexus 7“, ir paskelbė, kur jį gali pamatyti daugiau vartotojų. Iki šiol vartotojai pranešė apie puikius rezultatus. Diegimas taip pat lengvas, nes atkūrimo metu tai yra paprastas užtrauktukas.
Tačiau, jei nuspręsite tai išbandyti, žinokite labai tikri įspėjimai sumažėjęs saugumas dėl prastesnės atsitiktinių skaičių generavimo, taip pat sutrumpėjęs baterijos veikimo laikas. Kaip teigia lambgx02:
- Egzistuoja (teorinė) saugumo rizika, nes /dev/random sėjimas su /dev/urandom sumažina atsitiktinių duomenų kokybę. Praktikoje yra tikimybė, kad tai bus panaudota kriptografiškai toli mažesnė nei tikimybė, kad kažkas užpuls pačią OS (daug paprastesnis iššūkis).
- Tai gali neigiamai paveikti baterijos veikimo laiką, nes ji pabunda kas sekundę. Jis neapsaugo „wakelock“, todėl neturėtų turėti didelio poveikio, bet praneškite man, jei manote, kad tai sukelia problemų. Prie kodo galiu pridėti blokavimo skaitymą, kad jis būtų vykdomas tik tada, kai ekranas įjungtas. Kita vertus, daugelis iš mūsų priskiria atsilikimą dėl procesoriaus galios trūkumo. Kadangi šis įsilaužimas pašalina beveik visą vėlavimą, nereikia peršokti, o tai gali sumažinti akumuliatoriaus suvartojimą.
Nors lambgx02 teigia, kad rizika būti išnaudotam dėl atsitiktinumas -> atsitiktinis sėjama mažai, bet kokia padidėjusi rizika yra per didelė mūsų knygoje kasdien varomam įrenginiui. Vis dėlto visiems, kurie domisi, patariame tai pagalvoti dėl galimos rizikos. Tačiau suprantame, kodėl kai kurios stipriai kontroliuojamose aplinkose, kur kriptografinis stiprumas nėra labai svarbus, gali norėti tai išbandyti. Norėdami pamatyti daugiau, peržiūrėkite „Nexus 7“ gija taip pat originalus siūlas.