כשמיקרוסופט לא מפיקה לקחים

ה"הפתעה" האחרונה (לא ממש הפתעה, יש ביוטיוב הדגמות של זה גם מלפני 10 חודשים) ממיקרוסופט בכל הנוגע ל-Windows היתה גירסת Windows 10 ל-ARM עם תואמות X86 (לא ה-64 ביט) כך שתוכלו להריץ אפליקציות 32 ביט לאינטל על מעבדי ARM.

במבט ראשון, ההישג נראה מרשים. הנה הדגמה:

כפי שאתם רואים – אפשר להריץ אפילו פוטושופ של אינטל על Windows 10 בגירסת ARM. כפיים!

אבל כדאי לצנן מעט את ההתלהבות..

הרעיון המקורי של מיקרוסופט היה להוסיף תאימות בינארית לאפליקציות X86 ב-32 ביט, הואיל וחברות תוכנה כמעט ולא כותבות אפליקציות בפורמט שמיקרוסופט מעדיפה (UWP). יש מאות אלפי תוכנות ל-X86, ואין הרבה ל-UWP. קצת קשה למכור מחשב עם Windows 10 שרץ על ARM, שלא לדבר על מכשיר סלולרי שמריץ Windows Mobile 10 כשאין לך את המאגר הענק של אפליקציות שרצות על אינטל, במיוחד שמיקרוסופט מדגישה את תכונת ה-Continuum שכרגע נראית ומגיבה פחות טוב מאשר לחבר טלפון או טאבלט (iOS או Android) למוניטור חיצוני, אז מיקרוסופט הוסיפה משהו שמזכיר את ה-Rosetta שאפל הוסיפו במעבר מ-PowerPC למעבדי אינטל. זה לא אמולציה, לא VM אלא "תרגום בינארי" דינאמי שהוא מספיק חכם להפנות חלקים ניכרים ישירות ל-API של מיקרוסופט ולחלקים אחרים (מסך – DirectX, וכו'). כך לדוגמא מיקרוסופט הדגימה את פוטושופ שזה בהחלט דבר מרשים, אבל כשמסתכלים מתחת למכסה מבינים בעצם שמי שעושה את העבודה זה .. OpenGL הטבעי ש-Qualcomm כתבו ממזמן, ו-Qualcomm כתבו דרייבר שיודע להתחבר ל-DirectX כמו כל GPU שקיים בשוק. ה-Word שהודגם אגב, הוא אותו Word שרץ על Windows RT רק בגירסה של 2016.

מאז ההדגמה התפרסמו לא מעט כתבות באתרים הטכנולוגיים, כותבי המאמרים פינטזו על מחשב נייד מבוסס  10 Windows עם חיי סוללה ארוכים יותר, משקל יותר קל וכו', כי הנה – עוברים ל-ARM, וזה מה שיש לך בטלפון ובטאבלט, אז זה יהיה קל במשקל עם סוללה יותר ארוכה.

זה נכון, אך בצורה חלקית.

אינטל הוציאו עד לשנה האחרונה את משפחת ה-Atom X (ה-Atom X5 וה-X7). מבחינת ביצועים, המעבדים הללו נתנו Fight מכובד לכל מעבד של Qualcomm בכל מה שקשור ל-GPU וקצת פחות במה שקשור לחיי סוללה. לא היו לך 10 שעות סוללה, היו לך 9 שעות (עם בהירות של 50% בערך) – עדיין מרשים, לא? יצרנים סיניים ניסו להציף את השוק עם טאבלטים זולים (עם/בלי מקלדת – בכולן מקלדת די גרועה ו-TrackPad סיוט!) תוך שילוב של 2 מערכות הפעלה (Android ו-Windows 10), אבל אף אחד מהיצרנים הגדולים לא "קפץ" על המעבד הזה, כל אותם יצרנים גדולים העדיפו ללכת על מעבדים החל מ-Celeron (משפחת J) ובהמשך לסידרת ה-M שנתנה ביצועים מעולים וחיי סוללה לא רעים כלל – אבל המחיר של המעבדים היה הרבה יותר גבוה מה-Atom X.

ואז אינטל החליטה להרוג טוטאלית את משפחת ה-Atom X (ולחברות שרצו משהו קרוב – הם הופנו לסדרות N ו-J). מדוע? כי פשוט המכירות היו מאכזבות גם כשאינטל עשתה הכל כדי לסייע ליצרנים הסיניים, ויצרנים גדולים לא רצו את המעבדים הללו.

מבחינת המעבד שמיקרוסופט הולכת להשתמש בו הן למחשב והן לטלפון, מדובר ב-Snapdragon 835, שהוא מעבד ARM מהיר (ללא שום חלק חומרתי שקשור ל-X86 או שהמחלקה המשפטית של אינטל היתה שולחת ל-Qualcomm מכתב מנומס "לרדת מהעץ", אינטל מאוד קשוחה בקטע הזה). מבחינת Qualcomm – שחרור מחשב עם ARM מתוצרתם זה דבר מבורך, שכרוך בסיכון נורא קטן – הם לא מייצרים מעבדים (סמסונג מייצרת את המעבד עבורם) וההזמנות לייצור הולכות לפי דרישות של חברות שמעוניינות לשלב את המעבד (מינימום כמות של 50K, לסקרנים מביניכם), כך שהסיכון מבחינת Qualcomm להשתתף בדבר החדש של מיקרוסופט – הוא אפסי והם בשמחה משתפים פעולה עם מיקרוסופט (חבל שמיקרוסופט לא יצרו קשר גם עם nVidia – יש להם מעבד ARM שנמצא בשלבים אחרונים של Taping שמגיע לביצועים של Intel i5 ומבחינת GPU הוא הרבה יותר חזק מכל מה שאינטל מציעים בכלל!).

אז אם מחר המחשב הזה יצא, ואתם תרצו לרכוש, מה בעצם תקבלו? אתם תקבלו … נטבוק, כן – שוב נטבוק. מדוע? כי מבחינת התואמות הבינארית ה-Windows יוכל להריץ אפליקציות X86 רק ב-32 ביט, כלומר כל התוכנות X86 יכולות לרוץ בטווח זכרון של 3.5 ג'יגהבייט (ברוטו – תנכו מזה את ה-Windows ARM עצמו, תוסיפו את הזכרון שמערכת התרגום לוקחת, תוסיפו אנטי וירוס ודברים קטנים שאתם צריכים – וסביר להניח שתישארו עם 2.5 ג'יגה) כלומר אם אתם חושבים להריץ מספר אפליקציות במקביל וכולן X86, המחשב "יחנק" די מהר. גם אם יצרנים יוציאו מחשב עם 8 ג'יגהבייט זכרון, עדיין אותן אפליקציות X86 יכולות להשתמש רק ב-3.5 ג'יגה הראשונים ותו לא. כמו שאמרתי – נטבוק.

חלק מהעיתונאים באותם אתרים טכנולוגיים חוזה "מוות" לכרומבוקים, וזו טעות גדולה מ-3 סיבות עיקריות:

  1. מוסדות לימוד (שהם הקהל העיקרי שרוכשים את הכרומבוקים) מאוד אוהבים את ה-אפס תחזוקה של כרומבוקים. נדפק לך הכרומבוק? נשבר? קנה חדש, הוצא מהקופסא, חבר לחשמל, חבר ל-WIFI, בצע Login ותוך דקות ספורות תוכל להמשיך את מה שעשית עם הכרומבוק הקודם כאילו לא קרה כלום. נסו את זה עם מכונת Windows.
  2. כרומבוק לא מתיימר להחליף מכונות Windows. הוא מעולה בהרצת אפליקציות ווביות ובגלישה, ובהרצת אפליקציות Android. זה הכל. אף אחד לא מנסה למכור לך אשליה שעם כרומבוק תוכל להריץ Photoshop CC או שתוכל לעשות עבודות כבדות של עריכת מדיה עליו.
  3. רבים לא יודעים, אך אינטל מכרה את מעבדי ה-Atom X5 בפחות ממה שמעבד Snapdragon עולה, כך עדיין ניתן למצוא מיני PC שעולה 70-80 דולר, וזה לא יקרה עם מחשב מבוסס Snapdragon: מחיר המעבד (BOM) הוא יקר יותר, יש צורך בדיסק הרבה יותר גדול ממה שיש לכרומבוק ממוצע (32 ג'יגה), וצריך גם לשלם מחיר מלא של רשיון ל-Windows (במיוחד אם הדיסק הוא יותר מ-32 ג'יגהבייט או שהמסך הוא מעל 10 אינטש), כך שהמחיר הסופי יהיה גבוה הרבה יותר בהשוואה למחיר ממוצע של כרומבוק.

לסיכום: מחשב נייד עם מעבד ARM שמריץ Windows 10 זה דבר שיכול להיות נחמד מאוד, רק שאי אפשר לעשות איתו הרבה עם מגבלות ה-4 ג'יגה זכרון והתרגום הדינמי כשמריצים אפליקציות X86. אישית הייתי שמח לרכוש אחד כזה ותוך 5 דקות לפרמט אותו ולהתקין עליו הפצת לינוקס כלשהי (Qualcomm תורמים לא מעט קוד כדי שהכל ירוץ חלק על המעבדים שלהם) – במקרה כזה יהיו לי הרבה יותר אפליקציות לינוקס שונות שאני יכול להריץ, הוא קל במשקל והבטריה סוחבת 10+ שעות, אבל זה הכל תלוי במחיר (אני מחכה כרגע שסמסונג תוציא סוף סוף את ה-Samsung Chromebook Pro שלה). מחיר של 450+$ למחשב נייד ARM מבוסס Windows לא ימכור חזק, ומחשבים ב-200$ עם 2 ג'יגה זכרון יהיה חבל בכלל לקנות דבר כזה.
ועוד לא הזכרתי את העניין ה"פעוט" שכמעט הכל היום עובר לענן וכמעט הכל משוחרר בצורה של Web App אבל לא נקלקל את החגיגה למיקרוסופט 🙂