על אינטל, אנדרואיד ושקרים

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

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

אינטל חשבה שאם היא תציע מעבד כזה, תעשה porting לאנדרואיד ותציע חבילה קורצת ליצרנים – הם יתנפלו על ההצעה, ואם לא, תמיד אינטל יכולה להציע כל מיני חבילות "עידוד" (שוחד בעברית) ליצרנים שישתמשו בפתרון שלה ולא בפתרון מבוסס ARM.

הבעיה המרכזית של השוק: רוב היצרנים אמרו לאינטל "תודה, לא תודה" והם העדיפו לבחור פתרון של Qualcomm, nVidia, ויצרנים אחרים שמייצרים פתרונות מבוססים ARM. חלק מהיצרנים הסכימו למכור מכשירי אנדרואיד מבוססי הפתרון של אינטל, אבל רק כ-עוד פתרון, את זה אפשר לראות לדוגמא אצל לנובו עם ה-K800.

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

זה עזר? האם סמסונג תמשיך למכור טאבלטים עם מעבדי אינטל? בחודש שעבר יצאו פרטים לגבי דור ההמשך, ה-Galaxy Tab-4 וכפי שתוכלו לראות כאן, גם סמסונג יורדים מהעץ (אם כי יכול להיות שחלק מהדגמי TAB – הם מוציאים מספר גדול של סדרות – יכול להיות מבוסס על פתרון אינטל).

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

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

כשאנדרואיד החל להיות מפותח, גוגל חיפשה שיטה איך להריץ אפליקציות תחת מעבדים שונים וגם שפת תכנות מומלצת. בסופו של דבר מבחינת שפה הם הלכו על JAVA וגוגל החליטו לבנות שיטה שהאפליקציות ירוצו כמכונות וירטואליות (מה שגרם לאורקל לתבוע את גוגל – ולהפסיד) מה שנקרא Dalvik VM. תפקידו של ה-Dalvik זה לקחת אפליקציה שכתובה ב-JAVA ולהמיר אותה למצב בינארי ולהריץ אותה כ-VM כך שאם האפליקציה נתקעת, האנדרואיד לא נתקע.

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

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

  • להוסיף קוד בינארי לאפליקציה, כך שאותו חלק בינארי ירוץ Native באנדרואיד על המעבד (אפשר לראות זאת באפליקציות רבות שמעבדות תמונה, אודיו וכו')
  • לוותר לגמרי על כתיבה ב-JAVA ולהשתמש ב-NDK של אנדרואיד כדי לכתוב את האפליקציה כולה כאפליקציה בינארית.

אלו כמו שיטות לגטימיות… כל עוד אותו אנדרואיד רץ על מעבד מבוסס ARM.

אבל מה קורה כשהמעבד שמריץ את אותן אפליקציות הוא ATOM? אז ישנם מספר סיטואציות:

  • אם האפליקציה כתובה לגמרי ב-JAVA, הביצועים יהיו בערך כמו המעבדים של ARM ולפעמים הם ירוצו יותר מהר.
  • אם האפליקציה כתובה ב-JAVA אך ישנם חלקים בינאריים שכתובים עבור ARM, באותם חלקים בינאריים, המערכת תצטרך להשתמש באמולציה, מה שיגרום למעבד להתאמץ הרבה יותר והביצועים יהיו הרבה יותר איטיים. כמה איטיים? בין 25-50% יותר איטי.
  • אם האפליקציה היא בינארית וקומפלה רק עבור ARM – הביצועים יהיו גרועים עם צריכה כבדה של הסוללה והמעבד יתאמץ הרבה יותר כדי להמיר בינארי מ-ARM לאינטל.
  • אם האפליקציה היא בינארית לגמרי וקומפלה עבור אינטל – היא תרוץ מהר ולעיתים יותר מהר ממה שמעבד ARM יכול להציע, אבל המחיר – הוא בביצועי הסוללה, צפו ל-20-30% פחות סוללה בהשוואה למעבדי ARM.

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

ב-ARM הוציאו לאחרונה מסמך שבחן מנקודות שונות את ההבדלים בין ARM ל-X86 של אינטל, הן מבחינת אפליקציות שזמינות ל-2 המעבדים, הן מבחינת תואמות (אחת התוצאות המפתיעות – עליה של 3% בשנה האחרונה בתוכנות שרצות על מעבדי ARM ולא רצות על מעבדי אינטל, גם עם תואמות בינארית). נכון, המסמך עצמו אינו ממש אובייקטיבי אך הנקודות שהמסמך מעלה שם (גם כשלא מדובר באנדרואיד אלא Windows RT לדוגמא) מראים תמונה ברורה: אם הסוללה חשובה לך כך שלא תצטרך לרוץ לשקע כל כמה שעות, אם חשוב לך תאימות כך שכל אפליקציה שתתקין – תרוץ בצורה מיטבית, אז סמארטפון או טאבלט מבוסס מעבד אינטל אינו מוצר שמומלץ לך לרכוש.

ועוד נקודה שהמסמך בקישור לעיל לא מתייחס אליו אך חשוב שאתם תדעו: פיתוח אפליקציית אנדרואיד, בין אם בצורה של Native Binary או JAVA – כולל התאמות לתצורות מכשירים פופולאריות (סמארטפון/טאבלט/פאבלט) לוקח זמן ומשאבים. כרגע זה לוקח יותר מאשר לכתוב לאייפון (שוב, מבחינת עיצוב UX) אבל עוד חודשיים המצב גם עם אפל ישתנה (חכו להכרזות ב-WWDC הקרוב) ורוב מוחלט של החברות פשוט לא מוכנים להשקיע עוד משאבים בקימפול האפליקציות לאינטל אם זה דורש השקעה (כמו במקרים של אפליקציות בינאריות). השוק עצמו לא דורש זאת, אז גם אותן חברות עושות מינימום ואם יש בעיה עם קימפול ל-X86 אז הן פשוט מורידות אותו בשורת הקומפילציה ומוציאות גירסת ARM לאפליקציה. הרבה אפליקציות רצות נהדר על מעבדי אינטל, אבל אף פעם אינך יודע אם האפליקציה שאתה בדיוק צריך כרגע לבצע מטלה מסוימת – תהיה תואמת או לא ואם היא תרוץ בצורה טובה או לא. אתה אוהבת הפתעות?

Comments

comments

10 תגובות בנושא “על אינטל, אנדרואיד ושקרים

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

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

    • המסמך של ARM הוא לא מסמך במובן השיווקי של המילה. הוא מראה שם דברים די פשוטים שגם נכונים.
      אם תסתכל בקישור, הם לא רק מדברים על אנדרואיד אלא גם על Windows RT עם תוצאה זהה: ביצועים טובים כשיש אפליקציה נייטיב לאינטל, אבל על חשבון הסוללה.
      אינטל כרגע לא עושה שום דבר כמעט בכל הקשור לצריכת חשמל. המעבד ATOM הבא שלה יהיה עם ליתוגרפיה של 14 ננונמטר שזה מרשים, אבל אחרים נותנים חיי סוללה הרבה יותר ארוכים כשהליתוגרפיה שלהם היא 28 ננומטר, פי 2. תאר לך מה יקרה כש-Snapdragon יהיה על 14 ננומטר.
      כפי שטענתי בפוסטים קודמים – הבעיה של אינטל היא שכל תכנון החשמל עצמו מההתחלה לא בנוי לתחרות מול ARM. הם כל פעם מצליחים לחסוך עוד כמה אחוזים, בשעה שיצרני ה-ARM הולכים הפוך ומצליחים להוציא מעבדים בכלל לא רעים עם ביצועים משופרים בהרבה בגרפיקה לדוגמא. קח את הטגרה K החדש של NVIDIA שצריך לצאת, ותראה אם בעל Bay Trail כלשהו יצליח להגיע לכך.

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

      • איטיות? באיזה מקרה בדיוק? המסמך של ARM מתייחס לתת מקרה שלא ברור עד כמה הוא חשוב. דרך אגב, אמולצית x86 על ידי ARM היא גרועה להפליא (לעומת זאת, יש כמה שבבי MIPS שיש להם ביצועים לא רעים עם אמולציית x86).

  3. אני לא יודע אם זה כ"כ חד משמעי שהכניסה של אינטל לתחום היא כישלון, ולפחות יצאו מזה שאינטל נכנסה לתחום אימולטורים מהירים לאנדרואיד

    • אין פה שום אמולציה מהירה. תרים SDK במחשב שלך ותרים מכונת אנדרואיד עם אמולציה של ARM. רואה את המהירות שקיבלת? תחתוך ביותר ממחצית אותה (כי אתה משתמש במעבד דסקטופ) – וזה מה שתקבל.

  4. חץ, האם יצא לך להתנסות במכשיר כזה ?
    התחושה שאני מקבל מהפוסט שלך היא : שממש ממש לא.

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

סגור לתגובות.