Update: Vanwege twijfelachtige voordelen en inherente nadelen raden we gebruikers aan dit te lezen deze uitleg voordat u verdergaat.
Ondanks enkele werkelijk eersteklas hardware, enkele geavanceerde Android-apparaten Ik heb nog steeds moeite met sommige games. Er zijn mods beschikbaar om deze vertragingsproblemen op te lossen, omdat de onderliggende oorzaak meestal neerkomt op een probleem waarbij de processor niet op volle capaciteit werkt. Er is nu een nieuwe oplossing voor Nexus 7 apparaten om gamevertraging te helpen verminderen.
XDA Senior-lid lamgx02 heeft oorspronkelijk de Seeder Entropy Generator gepost om vertraging op verschillende Android-apparaten te stoppen. Het uitgangspunt was dat de meeste spelvertraging werd veroorzaakt door entropie. Zoals lambgx02 uitlegt:
Dus ik ondervond een aanzienlijke vertraging, zoals we allemaal wel eens doen, en besloot dat ik het tot op de bodem uit ging zoeken.
Na urenlang traceren en debuggen ontdekte ik de bron van 90% van de Android-vertraging. In één woord: entropie (of het gebrek daaraan).
De JVM van Google leest, net als die van Sun, uit /dev/random. Voor alle willekeurige gegevens. Ja, de /dev/random die een zeer beperkte entropiepool gebruikt.
Willekeurige gegevens worden voor allerlei dingen gebruikt. UUID-generatie, sessiesleutels, SSL.. als we geen entropie meer hebben, blokkeert het proces. Dat uit zich in vertraging. Het proces kan niet doorgaan totdat de kernel meer willekeurige gegevens van hoge kwaliteit genereert.
Dus heb ik rngd gecrosscompileerd en gebruikt om /dev/urandom met tussenpozen van 1 seconde in /dev/random in te voeren.
Het resultaat van het oplossen van dit probleem is dat games veel, veel soepeler werken. XDA erkende bijdrager Bradman117 getest en bevestigd dat het werkte voor de Nexus 7 en gepost waar meer gebruikers het kunnen zien. Tot nu toe hebben gebruikers uitstekende resultaten gerapporteerd. De installatie is ook eenvoudig, omdat het een eenvoudige zip is om te flashen tijdens het herstel.
Als u echter besluit het eens te proberen, houd dan rekening met de zeer reële kanttekeningen van verminderde veiligheid als gevolg van inferieure generatie van willekeurige getallen, evenals een verminderde levensduur van de batterij. Zoals verklaard door lambgx02:
- Er is een (theoretisch) veiligheidsrisico, omdat het seeden van /dev/random met /dev/urandom de kwaliteit van de willekeurige gegevens vermindert. In de praktijk is de kans groot dat hier cryptografisch misbruik van wordt gemaakt ver lager dan de kans dat iemand het besturingssysteem zelf aanvalt (een veel eenvoudiger uitdaging).
- Dit kan de levensduur van de batterij nadelig beïnvloeden, aangezien deze elke seconde ontwaakt. Het bevat geen wakelock, dus het zou geen grote impact moeten hebben, maar laat het me weten als je denkt dat het problemen veroorzaakt. Ik kan een blokkerende lezing aan de code toevoegen, zodat deze alleen wordt uitgevoerd als het scherm is ingeschakeld. Aan de andere kant schrijven velen van ons vertraging toe aan een gebrek aan CPU-vermogen. Omdat deze hack bijna alle vertraging elimineert, is er minder noodzaak om te overklokken, waardoor het batterijverbruik mogelijk wordt verminderd.
Terwijl lambgx02 stelt dat het risico om uitgebuit te worden vanwege de uwillekeurig -> willekeurig het zaaien is laag, elk verhoogd risico is te groot voor een dagelijks aangedreven apparaat in ons boek. We raden echter iedereen die geïnteresseerd is aan om hier nog eens over na te denken vanwege de mogelijke risico's. We begrijpen echter waarom sommigen in zwaar gecontroleerde omgevingen, waar cryptografische sterkte niet van groot belang is, dit misschien een kans willen geven. Wil je meer zien, bekijk dan de Nexus 7-draad net als de originele draad.