אפליקציות ל-Wear OS שמשתמשות בתצוגות רגילות נהנים משיפור אוטומטי של החומרה באמצעות חומרה ובעיבוד של גרפיקה. אבל תצוגות השעון בדרך כלל מוטמעות באמצעות קנבסים, כך שהם לא מקבלים האצת חומרה באופן אוטומטי.
למה להשתמש בלוח הציור עם שיפור מהירות באמצעות חומרה לתצוגת השעון?
ברוב המקרים, תצוגת השעון תפעל בקצב פריימים גבוה יותר כשמשתמשים ב- קנבס עם האצת חומרה. בקצב פריימים גבוה יותר, אנימציות ומעברים גבוהים יותר להיראות חלקים יותר בעיניים, ולספק חוויית משתמש טובה יותר.
כשמשתמשים בלוח שיתופי עם שיפור מהירות באמצעות חומרה, יש גם גישה לממשק משתמש נוסף נתוני ביצועים של תצוגת השעון. לדוגמה, אתם יכולים לגשת רק מידע מפורט על המסגרת שמתואר בממשק המשתמש של המדידה ביצועים כשאתם משתמשים בלוח הציור עם שיפור מהירות באמצעות חומרה.
האם תצוגת השעון משתמשת בשיפור המהירות באמצעות חומרה?
אפשר לבדוק אם תצוגת השעון משתמשת בשיפור מהירות באמצעות חומרה
באמצעות אפשרויות למפתחים או adb
.
בדיקה באמצעות האפשרויות למפתחים
כדי לבדוק אם תצוגת השעון משתמשת בשיפור המהירות באמצעות חומרה, יש לבצע את השלבים הבאים:
- במכשיר Wear OS, עוברים אל הגדרות > אפשרויות למפתחים.
מפעילים את האפשרות ניפוי באגים בפרופיל ה-GPU.
באפשרות הזו משרטטת שכבת-על על גבי משטחים גלויים, אחת על כל משטח, כדי להראות את משך הזמן שהוקדש בכל שלב של עיבוד GPU פלטפורמה.
במכשיר, עוברים חזרה לתצוגת השעון.
אם תצוגת השעון מתבססת על קנבס עם האצת חומרה, יוצג סרגל חדש שזז מימין לשמאל בכל פריים שעבר רינדור בתצוגת השעון.
בדיקה באמצעות adb
כדי לבדוק אם תצוגת השעון משתמשת בשיפור המהירות באמצעות חומרה, adb
יש לבצע את השלבים הבאים:
- במכשיר Wear OS, משנים את תצוגת השעון לתצוגת השעון הרצויה לבדיקה.
- מפעילים את תצוגת השעון למשך מספר שניות במצב אינטראקטיבי.
מריצים את הפקודה הבאה של
adb
כדי לבדוק אם תצוגת השעון משתמשת האצת חומרה:adb shell dumpsys gfxinfo [package-name]
אחרי הרצת הפקודה, תקבלו פלט שדומה לזה: דוגמה:
Applications Graphics Acceleration Info: Uptime: 2239933 Realtime: 13568751 ** Graphics info for pid 1100 [package-name] ** Stats since: 59875589194ns Total frames rendered: 1213 Janky frames: 0 (0.00%) 50th percentile: 7ms 90th percentile: 18ms 95th percentile: 25ms 99th percentile: 150ms Number Missed Vsync: 0 Number High input latency: 0 Number Slow UI thread: 0 Number Slow bitmap uploads: 0 Number Slow issue draw commands: 0 Number Frame deadline missed: 0 ...
בפלט לדוגמה הזה, שימו לב לשורה Total frames rendered
.
באופן כללי, אם הפלט מציג מספר פריימים כולל שעברו רינדור גדול מ-0,
תצוגת השעון משתמשת באזור עריכה מואץ. אחרת, סך כל הפריימים שעברו רינדור
ונתונים אחרים של פריימים בדוח הם בדרך כלל 0.
עם זאת, מכיוון שהפלט של gfxinfo
מיועד לחבילה המלאה של האפליקציה, ייתכן
לראות מידע על זמן רינדור פריים מגורם אחר שאינו מאיצה באמצעות חומרה
קנבס, כמו Activity
שהאפליקציה שלך משתמשת בו למסך הגדרה. שפת תרגום
עליך לוודא שתצוגת השעון היא המשטח היחיד
ואז מריצים מחדש את הפקודה adb shell dumpsys gfxinfo
כדי לבדוק אם
הערך של Total frames rendered
עולה.
שיטות מומלצות
השיטות המומלצות הבאות יעזרו לכם לספק חוויית שימוש טובה ככל האפשר משתמשים.
הארכת חיי הסוללה
אם תצוגת השעון כוללת אנימציות ממושכות, שיפור המהירות באמצעות חומרה לקצר משמעותית את חיי הסוללה של המכשיר. הבעיה הזו עלולה להחמיר תצוגת השעון תנסה לשרטט בכל פריים. כדי להימנע מהשפעה שלילית להימנע משימוש באנימציות ממושכות בתצוגת השעון. הזה אינה ספציפית לשימוש בהאצת חומרה, אלא מפני ששימוש האצת החומרה מגדילה את מספר הפריימים שאתם יכולים לשרטט, חשוב יותר לעקוב אחריו. מידע נוסף זמין במאמר שיטות מומלצות אנימציות.
שימוש בפעולות שרטוט נתמכות
אין תמיכה בחלק מפעולות השרטוט כשמשתמשים בשיפור המהירות באמצעות חומרה.
מידע על הפריטים הנתמכים מופיע בקטע חומרה
האצה.
אם יש לכם נתיב קוד קטן שמשתמש בפעולה שאינה נתמכת, תוכלו ליצור
קנבס שמגובה במפת סיביות (bitmap) ואז משרטטים את מפת הסיביות בתוך הקנבס של תצוגת השעון
באמצעות
canvas.drawBitmap()
שמירה על תאימות בעת שימוש בהאצת חומרה
ההגדרה 'שיפור המהירות באמצעות חומרה' זמינה במכשירי Wear OS עם Android 9 (API
רמה 28) ומעלה. אם רוצים להימנע מפעולת שרטוט ספציפית בגרסה ישנה יותר
שבהם לא ניתן לשפר את המהירות באמצעות חומרה, או שיש שרטוט שלא נתמך
על קנבס עם שיפור מהירות באמצעות חומרה, אפשר לסמן את Canvas.isHardwareAccelerated()
,
ומספק את הפונקציונליות החלופית.
מומלץ עבורך
- הערה: טקסט הקישור מוצג כאשר JavaScript מושבת
- dumpsys
- רינדור איטי
- מצב תאימות מכשירים