חימום אודיו

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

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

מדידת חימום פלט

השרשור FastMixer של AudioFlinger מודד אוטומטית את התחממות הפלט ומדווח עליו כחלק מהפלט של הפקודה dumpsys media.audio_flinger . בחימום, FastMixer קורא write() שוב ושוב עד שהזמן בין שתי write() s הוא הכמות הצפויה. FastMixer קובע את חימום האודיו על ידי בחינת כמה זמן לוקח לשכבת הפשטה של ​​חומרה (HAL) write() להתייצב.

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

  1. ודא כי FastMixer מופעל.
  2. אפשר צלילי מגע על ידי בחירה בהגדרות > צליל > צלילי מגע במכשיר.
  3. ודא שהשמע כבוי למשך שלוש שניות לפחות. חמש שניות או יותר עדיף, מכיוון שלחומרה עצמה עשויה להיות לוגיקת כוח משלה מעבר לשלוש השניות שיש ל-AudioFlinger.
  4. לחץ על Home, ואתה אמור לשמוע צליל קליק.
  5. הפעל את הפקודה הבאה כדי לקבל את החימום הנמדד:
    adb shell dumpsys media.audio_flinger | grep measuredWarmup
    

    אתה אמור לראות פלט כזה:

    sampleRate=44100 frameCount=256 measuredWarmup=X ms, warmupCycles=X
    

    המדד measuredWarmup=X הוא מספר X של אלפיות השנייה שלקח להשלמה של הסט הראשון של HAL write() s.

    ה- warmupCycles=X הוא כמה בקשות כתיבה של HAL נדרשו עד שזמן הביצוע של write() תואם את הצפוי.

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

מדוד חימום קלט

כרגע אין כלים המסופקים למדידת חימום קלט אודיו. עם זאת, ניתן להעריך את זמן חימום הקלט על ידי התבוננות בזמן הדרוש ל- startRecording() לחזור.

צמצם את זמן החימום

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

  • עיצוב מעגל טוב
  • עיכובי זמן מדויקים במנהל ההתקן של הליבה
  • ביצוע פעולות חימום עצמאיות במקביל ולא ברצף
  • השארת מעגלים מופעלים או לא מגדירים מחדש שעונים (מגדיל את צריכת החשמל בטלה)
  • שמירה של פרמטרים מחושבים במטמון

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