צמצם את השהיית המשחק ב-Nexus 7 ובמכשירים אחרים עם מחולל אנטרופיה של Seeder

עדכון: עקב רווחים מפוקפקים וחסרונות מובנים, אנו ממליצים למשתמשים לקרוא ההסבר הזה לפני שנמשיך.

למרות כמה חומרה מהשורה הראשונה באמת, כמה מכשירי אנדרואיד מתקדמים עדיין נראה שיש בעיות עם כמה משחקים. ישנם אופנים בחוץ לתיקון בעיות הפיגור הללו, מכיוון שהסיבה הבסיסית בדרך כלל משתווה לבעיה כלשהי שבה המעבד אינו פועל במלוא הקיבולת שלו. יש עכשיו תיקון חדש עבור נקסוס 7 מכשירים שיעזרו להפחית את הפיגור במשחק.

חבר בכיר ב-XDA lambgx02 פרסם במקור את Generator Entropy Seeder כדי לעצור פיגור במכשירי אנדרואיד שונים. הנחת היסוד הייתה שרוב הפיגור במשחק נגרם על ידי אנטרופיה. כפי שמסביר lambgx02:

אז חוויתי פיגור משמעותי כמו כולנו מעת לעת, והחלטתי שאני הולך לרדת לעומקו.

לאחר מעקב וניפוי באגים במשך שעות, גיליתי את המקור של 90% מהפיגור של אנדרואיד. במילה אחת, אנטרופיה (או היעדרה).

ה-JVM של גוגל, כמו של Sun, קורא מ-/dev/random. לכל הנתונים האקראיים. כן, ה-/dev/random שמשתמש במאגר אנטרופיה מוגבל מאוד.

משתמשים בנתונים אקראיים לכל מיני דברים.. יצירת UUID, מפתחות הפעלה, SSL.. כשנגמרת לנו האנטרופיה, התהליך חוסם. זה מתבטא בפיגור. התהליך לא יכול להמשיך עד שהקרנל מייצר נתונים אקראיים נוספים באיכות גבוהה.

אז, חיברתי rngd והשתמשתי בו כדי להזין את /dev/urandom לתוך /dev/random במרווחים של שנייה אחת.

התוצאה של תיקון הבעיה היא שמשחקים פועלים הרבה הרבה יותר חלק. תורם מוכר של XDA ברדמן117 בדק ואישר שזה עבד עבור ה-Nexus 7 ופרסם איפה משתמשים נוספים יכולים לראות אותו. עד כה, משתמשים דיווחו על תוצאות מצוינות. ההתקנה קלה גם כן, מכיוון שמדובר ב-zip פשוט להבהב בהתאוששות.

עם זאת, אם תחליט לנסות את זה, שים לב לזה אזהרות אמיתיות מאוד של ירידה באבטחה עקב יצירת מספרים אקראיים נחותים, כמו גם ירידה בחיי הסוללה. כפי שנאמר על ידי lambgx02:

  • קיים סיכון אבטחה (תיאורטי), בכך שזריעה של /dev/random עם /dev/urandom מורידה את איכות הנתונים האקראיים. בפועל, הסיכויים לניצול קריפטוגרפי הם רָחוֹק נמוך מהסיכוי שמישהו יתקוף את מערכת ההפעלה עצמה (אתגר הרבה יותר פשוט).
  • זה עלול להשפיע לרעה על חיי הסוללה, מכיוון שהיא מתעוררת כל שנייה. זה לא מחזיק wakelock, אז זה לא אמור להיות השפעה גדולה, אבל הודע לי אם אתה חושב שזה גורם לבעיות. אני יכול להוסיף קריאה חוסמת לקוד כך שהוא יופעל רק כשהמסך פועל. מצד שני, רבים מאיתנו מייחסים פיגור לחוסר כוח מעבד. מכיוון שהפריצה הזו מבטלת כמעט את כל השהיות, יש פחות צורך לבצע שעון עצר, מה שעלול להפחית את צריכת הסוללה.

בעוד lambgx02 קובע כי הסיכון לניצול עקב ה אורנדום -> אַקרַאִי זריעה נמוכה, כל סיכון מוגבר הוא יותר מדי עבור מכשיר מונע יומי בספר שלנו. אנו ממליצים לכל המעוניינים לחשוב על כך, למרות הסיכונים הפוטנציאליים. עם זאת, אנו מבינים מדוע חלק בסביבות מבוקרות בכבדות, שבהן חוזק קריפטוגרפי אינו בעל חשיבות גבוהה, אולי ירצו לתת לזה הזדמנות. כדי לראות עוד, בדוק את שרשור Nexus 7 טוב כמו ה חוט מקורי.