האמת על האצת חומרה באנדרואיד

האצת חומרת אנדרואיד

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



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



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



אז מה משתנה ב כריך גלידה (ICS)? לדברי האקבורן, מה שנראה באנדרואיד 4.0 הוא האצת חומרה 'מלאה'. לכל רכיבי ממשק המשתמש בחלונות ואפליקציות צד שלישי תהיה גישה ל- GPU לצורך עיבוד. ל- Android 3.0 הייתה אותה מערכת, אך כעת מפתחים יוכלו למקד ספציפית אנדרואיד 4.0 עם האצת חומרה. גוגל מעודדת מפתחים לעדכן אפליקציות כך שיהיו תואמות לחלוטין למערכת זו על ידי הוספת תג האצת החומרה במניפסט של אפליקציה.

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



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



המטרה של עיבוד חומרה עבור הממשק היא לבצע פעולה חלקה יותר, אך אם לא מטפלים בו כראוי, מכשירי אנדרואיד יכולים למעשה לבצע ביצועים גרועים יותר. בעזרת הדוגמה של טגרה 2, שיכולה לעבד את כל הפיקסלים על מסך 1280 × 800 2.5 פעמים בשנייה ב 60 FPS, הבעיה ברורה. ה- GPU נוגע בכל פיקסל פעם אחת לרקע, פעם באייקונים ווידג'טים, פעם נוספת בתוויות, ואז יש אנימציות להתמודד איתן. אין דרך להגיע ל- 60FPS לעשות דברים בצורה כזו.

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



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