שיקולי ביצועים

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

צריך לוודא שהאפליקציה:

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

שיטות מומלצות לשיפור הביצועים

כדי ליצור חוויות AR מרתקות יותר, כדאי ליישם את השיטות המומלצות הבאות.

שימוש במודעות עוגן כדי לשפר את ביצועי המעקב

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

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

התחשבות במאפייני ביצועים ספציפיים למכשיר

מכשירים שתומכים ב-ARCore מכסים מגוון רחב של מאפייני חומרה וביצועים. יכולות להיות לכך כמה סיבות בביצועי המכשיר:

  • המעבד (CPU) של המכשיר/GPU, מהירות השעון
  • זיכרון ורוחב פס זמינים
  • איכות החיישן של המצלמה/IMU
  • הבדלים אחרים בחומרה
  • מנהלי התקנים של מערכת ההפעלה והמכשירים

מומלץ לבדוק את האפליקציה בסוגים שונים של מכשירים שמייצגים את המכשירים שבהם המשתמשים ישתמשו.

השבתת תכונות אינטנסיביות של המעבד (CPU) כשהן לא בשימוש

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

נכון לעכשיו, הניצול של המעבד (CPU) ב-ARCore גדל כש-Instant Placement ו/או Augmented Images מופעלים בסשן הנוכחי. כדי לשפר את יעילות הניצול של המעבד (CPU), בצעו את ההנחיות הבאות:

  • יש להשבית את Instant Placement לאחר יצירת מעקב מלא. ניתן להשבית את התכונה בהגדרות הסשן.

  • יש להשבית את Augmented Images בכל פעם שהתכונה לא נדרשת לחוויית השימוש ב-AR. כדי להשבית תמונות משופרות צריך להגדיר null או מסד נתונים ריק של תמונות משופרות בהגדרת הסשן.

מעקב אחר הטמפרטורה של המכשיר

במהלך הפיתוח ובדיקות בקרת האיכות, תוכלו להשתמש בממשקי ה-API התרמיים של Android כדי לעקוב אחרי הביצועים של האפליקציה במכשיר וכדי לעקוב אחריהם.

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

זיהוי רעב במעבד (CPU) של ARCore

כשסשן ARCore פעיל, האפליקציה צריכה לשתף משאבים מוגבלים של מעבד (CPU) ושל GPU עם ARCore. אפליקציות שקשורות למעבד (CPU) יכולות להתחרות במשאבי המעבד (CPU) שנדרשים לצורך מעקב אחר תנועה.

כדי לוודא שהלוקליזציה והמיפוי בו-זמנית (SLAM) של ARCore פועלים כרגיל, חשוב לוודא שההודעה VIO סיווג נמוכה לא מופיעה ביומנים של מכשירי Android:

adb logcat | grep 'VIO frequency low'

מניעת רעב במעבד (CPU) של ARCore

כשיש סשן פעיל ב-ARCore, האפליקציה צריכה לשתף מכשיר עם מעבד (CPU) ועם GPU מוגבל בנייד עם ARCore. אפליקציות שקשורות למעבד (CPU) יכולות להתחרות במשאבי המעבד (CPU) שנדרשים לצורך מעקב אחר תנועה.

יצירה מראש של מסדי הנתונים של התמונות המוגדלות

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

הגבלת מספר הבקשות לשידורים ממצלמה

כשמשתמשים במצלמה משותפת של Java, אפליקציות יכולות לבקש שידורים נוספים של המעבד (CPU) או של ה-GPU.