אופטימיזציה של צריכת החשמל לאפליקציה

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

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

למה כדאי לבצע אופטימיזציה לאפליקציית הניווט?

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

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

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

מה צורך הכי הרבה חשמל?

בקטע הזה המערכת מחלקת את הפעילויות בתוך האפליקציה שמשויכות לעוצמה גבוהה לצריכה בשתי קטגוריות:

  • רינדור מסך
  • עדכוני מיקום

רינדור מסך

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

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

עדכוני מיקום

בנוסף לרינדור המסך, שתי פעולות ניווט אחרות צורכות את המכשיר חשמל:

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

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

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

אופטימיזציה של צריכת החשמל של האפליקציה

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

שינוי קצב הפריימים

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

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

במכשירי iOS, ה-SDK של מפות Google ל-iOS חושף את המאפיין preferredFrameRate לשליטה בקצב הפריימים. הטבלה למטה מוצגים ערכי מונה GMSFrameRate שאפשר לשנות:

kGMSFrameRatePowerSave

שימוש בקצב פריימים מינימלי כדי לחסוך בסוללה.

kGMSFrameRateConservative

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

kGMSFrameRateMaximum

שימוש בקצב הפריימים המקסימלי במכשיר.

במכשירים פשוטים, המהירות הזו היא 30 FPS. או במכשירים מתקדמים, המהירות היא 60FPS.

למידע נוסף, ראו GMSFrameRate ב-Google Navigation SDK למסמכי התיעוד של iOS.

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

מוסיפים שורת קוד להסתרה של GMSMapView:

mapView.isHidden = true

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

אפליקציית הדגמה (דמו) שפועלת כשתצוגת המפה מוצגת.
איור 1.אפליקציית הדגמה ל-iOS של Navigation SDK שמציגה את ההדגמה של Data back
אפליקציית ההדגמה פועלת ולא ניתן לראות את תצוגת המפה.
איור 2.אפליקציית ההדגמה פועלת ולא ניתן לראות את תצוגת המפה. חשוב לשים לב שהזמן שנותר, המרחק והזמן שנשארו, וגם המיקום שצולם בכביש עדיין מתעדכנים.

עיצוב מפה כהה

כדאי לעצב את המפה כך שתכלול את העיצוב הכהה כדי להפחית את כמות האנרגיה שנדרש לעיבוד המפה במסך.

SDK לניווט מעבד את המפות שלו באמצעות Google Maps SDK ל-iOS, שכוללות אפשרויות לעצב את התצוגות של המפה ללא ניווט באפליקציה שלכם. גם בתצוגת הניווט תומכת באילוץ של מצב כהה. יכול להיות שהפעולה הזו לא תשפיע על כל המכשירים באותו אופן, להבדלים בסוג המסך, אבל כן מאפשר חיסכון אפשרי בסוללה במקרים מסוימים. במחקר שנערך לאחרונה נמצא שכמות הכוח שנשמר במצב כהה בחלק מהמסכים תלוי במידת הבהירות של המסך שהתחילה עם. לדוגמה, מצב כהה חוסך יותר חשמל במסכים שהוגדרו לבהירות מלאה. מאשר במסכים שהבהירות שלהם כבר מותאמת ל-30-50% מקסימום. חשוב לקחת בחשבון את השימוש במצב כהה באפליקציות כי החיסכון בחשמל יהיה יחסי לאופן שבו משתמש הקצה מגדיר את המסך שלו בהירות.

למידע נוסף על שינוי ממשק המשתמש של הניווט, ראה משנים את ממשק המשתמש של הניווט.

צילום מסך של SDK לניווט שפועל ב-iPhone 15 Pro עם סגנון מפה כהה.
איור 3.ערכת ה-SDK לניווט מוגדרת עם סגנון של מפה כהה
מגדירים את GMSMapView עם מזהה מפה שמייצג סגנון מפה מבוסס-ענן שמוגדר בפרויקט.

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

שינוי תדירות העדכון של המיקום ב-GPS

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

זה לא משהו שאפשר לשלוט בו ישירות SDK של ניווט הקצר הזה. התשובות שלך יעזרו לנו להשתפר. אותה עצה רלוונטית גם לשימוש במקורות מיקום שאינם GPS (רשת סלולרית ו-Wi-Fi).

שליחת עדכונים למשתמשים

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

  • נעילת הטלפון
  • מציבים את אפליקציית הניווט ברקע
  • שימוש בניווט ללא מפה, אם אפשר
  • אפשר להפחית את בהירות המסך באמצעות מצב כהה ב-OLED וב-AMOLED במסכים או על ידי הפעלת בהירות אוטומטית
  • שמירה על קירור המכשיר
  • מתחברים ל-Wi-Fi ברכב, אם יש כזה

מדידה של צריכת החשמל

אתם יכולים להשתמש בכלים ברמה מקצועית כדי למדוד את צריכת החשמל, אבל לעיתים קרובות קשה או יקר להשיג אותם. אפליקציות וכלי פרופיילינג של סביבת פיתוח משולבת (IDE), כמו Power Profiler ב-Android Studio והחלונית 'שימוש בסוללה' ב-XCode מארגן שמודד את צריכת החשמל, אבל זה יכול להיות קשה כדי להסיר את ההשפעה של תהליכים ברקע או להגדיר בסיס ביצועים של למדוד מולו. במקרים מסוימים, הגבלות על המכשירים עשויות למנוע גישה לנתונים הנחוצים.

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