Anonim

בואו נודה בזה: DirectX 11 ו- OpenGL מזדקנים. DirectX 11 הוצג עם Windows 7 עוד בשנת 2009, ו- OpenGL 4.0 הגיע לאחר שנה. בשנות תוכנה טכנולוגיות אלה הינן עתיקות יומין, והיבול הנוכחי של חומרה שהם מפעילים לא היה אפילו על לוח השרטוט כאשר פורסמו ממשקי ה- API הגרפיים האלה. בהתחשב בנתק הברור הזה, מה התעשייה עושה כדי להשיג את הזמנים? ובכן, נסתכל על העתיד הקרוב ונראה, אך אם נתחיל בואו נסביר תחילה מה זה API ואיזו פונקציה היא משמשת למשחקים.

מה זה API?

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

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

איור 1: ייצוג גרפי של אופן הפעולה של ממשק API

כרגע משמשים ממשקי API של גרפיקה

כעת, כאשר אנו מבינים את עבודתו של ממשק API גרפי, בואו נסתכל מקרוב על המערך הנוכחי. השחקן המרכזי בשוק כיום הוא DirectX של מיקרוסופט, שהוצג כל הדרך בשנת 1995. הוא עודכן מספר פעמים מאז השקתו, והוא נכלל במערכת ההפעלה Windows של מיקרוסופט. DirectX הוא ה- API הגרפי היחיד בו כמעט כל משחק ששוחרר למחשב תומך בו. למעשה, זה כל כך נפוץ שהוא באמת הסטנדרט למשחקי מחשב כיום. DirectX בלעדית למוצרי Windows ומיקרוסופט מה שלמרבה הצער הופך אותה למערכת סגורה מאוד. הבא בתור הוא OpenGL, ה- API הגרפי העיקרי היחיד למקור פתוח. OpenGL שוחרר בשנת 1992 והיא רב פלטפורמות, כלומר היא עובדת עם מספר מערכות הפעלה כולל Windows, Linux ו- Mac OS. לבסוף, יש לנו את ה- API הגרפי החדש ביותר, Mantle. Mantle פותחה בשנת 2013 באמצעות שותפות בין AMD ל Dice. Mantle זמין ב- Windows ורק עבור AMD GPU.

איור 2: השוואה בין DirectX 12 לעומת DirectX 11
מקור תמונה; קרדיט תמונות: אינטל

DirectX 12

DirectX 12 אמור לצאת עם Windows 10 בסתיו הקרוב ושיפורים רבים חדשים יוצגו. אחד השיפורים הגדולים הוא תמיכה רב-חוט הברגה טובה בהרבה. יותר מהעבודה מתפשטת על ליבות מרובות במעבד המאפשרת שימוש רב יותר ויעיל במעבד. פעמים רבות יש ל- DirectX 11 רק ליבה אחת של המעבד למיצוי מוחלט בעוד גרעינים אחרים יושבים ליד סרק. DirectX 12 מבטיח לפזר עומס עבודה זה על ליבות המעבד בצורה שווה יותר, ולתת למשחקים הרבה יותר כוח מעבד לעבוד איתם. השיפור הגדול הבא שהובטח על ידי DirectX 12 הוא היכולת לטפל בשיחות משיכה רבות נוספות. שיחת משיכה מתרחשת בכל פעם שמנוע המשחק רוצה לצייר משהו על המסך. הדרישה להרבה שיחות משיכה היא בדרך כלל מיסוי מאוד על ה- CPU. DirectX 12 אמור להיות מסוגל להתמודד עם עד 600, 000 שיחות משיכה. בכדי להציב זאת בפרספקטיבה, DirectX 9 יכול להתמודד רק עם 6, 000 שיחות משיכה או 1/100 מתוך מה ש- DirectX 12 יוכל.

במשך שנים אפשר להריץ מספר GPUs במצב SLI / Crossfire. עם זאת אחת המגבלות הגדולות הייתה שה- VRAM המובנה בכרטיסים לא נערם יחד כדי ליצור בריכה אחת גדולה ורציפה. לדוגמה, אם יש לך שני GPUים שכל אחד מהם כולל 2GB של VRAM, עדיין היו לך רק 2GB של VRAM מכיוון שלכל כרטיס היה צריך להיות אותו מידע מאוחסן. DirectX 12 מקווה לפתור בעיה זו באמצעות AFR או עיבוד מסגרות חלופי. במקום שכל GPU ייתן חלק מכל מסגרת, כעת ה- GPU יציג במקום זאת מסגרת שלמה כל אחת. זה יאפשר להשתמש ב- VRAM בכל כרטיס באופן עצמאי, ובתקווה לאפשר קלפים עם כמויות קטנות יותר של VRAM להיות קיימא למשחק לאורך זמן רב. אמורות להיות הרבה תכונות חדשות אחרות הכלולות ב- DirectX 12 כדי לדחוף גרפיקה של משחק רחוק יותר מאי פעם. עם זאת, מיקרוסופט עדיין שופעת די מה הן התכונות החדשות הללו. אנו נקווה שנדע עליהם יותר ברגע שפרסום ה- API יתקרב.

איור 3: תקורה ממשק API של DirectX 12 מצטמצמת כאשר משתמשים במעבדים מרובי ליבות.
מקור תמונה; קרדיט תמונה: nVidia GeForce

וולקן

לא ידוע כל כך הרבה על Vulkan כמו על DirectX 12, כפי שזה הוכרז רק ב- GDC 2015. מה שאנחנו כן יודעים זה שמייצרי OpenGL, קבוצת חרונוס, השמיטו את השם glNext לטובת Vulkan. נראה כי וולקן נגזר ממנטל, שציינתי קודם במאמר. יתרה מזאת, נראה ש- AMD מביאה את החלקים הטובים ביותר של מנטל לשולחן עבור וולקן בשותפות עם קבוצת חרונוס. לוולקאן אמורים להיות רבים מאותם יתרונות של DirectX 12, אך הוא לא קשור לפלטפורמה אחת כמו Windows. במקום זאת הוא יהיה זמין בפלטפורמות רבות ושונות, כולל לינוקס ואפילו מכשירים ניידים. מנהלי ההתקנים של Vulkan עבור Windows וגם עבור Linux יהיו קוד פתוח לחלוטין בניגוד ל- DirectX. וולקן ישפר את ריבוי ההברגה, ולכן יעשה שימוש טוב בהרבה בכוח המעבד הקיים כיום על ידי פיזור עומס העבודה על ליבות מעבד מרובות. כפי שכבר הוזכר בעבר, הפחתת העומס על המעבד תאפשר לא לשתוק בקבוקי GPU באותה קלות כמות שהם כעת. זה אמור לספק דחיפה מוגברת למדי במהלך המשחק. מקור 2, עליו הוכרז לאחרונה על ידי Valve, יהיה מנוע המשחק החדש הראשון שתומך באופן מלא בוולקן, אם כי אני בטוח שרבים נוספים יוכרזו בעתיד הקרוב. Dota 2, משחק שידוע כאינטנסיבי CPU, הציג מופעים במקור 2 עם ה- API של Vulkan החדש באמצעות הגרפיקה המשולבת של אינטל במעבד. זה דבר שבוודאי לא היה רצוי תחת DirectX 11, אבל עם וולקן נראה היה שהמשחק שומר על שיעור מסגרת סביר לכל אורכו. דן בייקר, שהוא מפתח למשחקי אוקסיד, אפילו הרחיק ואמר כי "עד שיצרני ה- GPU יביאו את פעולתם יחד ויהפכו את ה- GPU מהר פי עשרה ממה שיש לנו עכשיו, איננו יכולים להוציא את המעבד ממקסימום". אלה חדשות טובות עבור אנשים שמפעילים מעבד איטי יותר או שיש להם הרבה כוח סוס GPU כרגע מכיוון שזה אומר שביצועים טובים בהרבה ניתן להשיג באותה סט חומרה.

איור 4: תרשים המציג את היתרונות של וולקן (צוואר בקבוק מופחת ל- GPU).
מקור תמונה; קרדיט תמונה: חרונו

מה המשמעות של זה לעתיד המשחקים?

ובכן, במשך זמן רב טוב עכשיו כוח ה- GPU גדל בקצב הרבה יותר מהיר מאשר כוח המעבד. לפני חמש שנים אינטל אפילו הצהירה כי חלק מה- GPU היו מהירים פי 14 מהמעבד שלהם. בדיקות אלה נעשו באמצעות nVidia GTX 280 לעומת מעבד i7 960 Intel - שנחשבת כיום לחומרה מיושנת יחסית. הפער בין nVidia GTX Titan X (או אפילו nVidia GTX 980) לבין תחנת הכוח העיקרית הנוכחית של מעבד ה- CPU - מעבד ה- i7-4790k של אינטל - צריכה להיות גדולה בהרבה. הנקודה שאני מנסה להצביע היא שאנחנו מתחילים לראות יותר ויותר משחקים פוגעים בקיר בביצועים בגלל המעבד. שאל מישהו עם צג קצב רענון גבוה כמה קשה לשמור על 100 fps עם המעבד הנוכחי בכמה משחקים. למען האמת, זה רק יתקשה בלי ממשקי ה- API החדשים הללו, והיכולת שלהם לנצל את כוח המעבד בצורה יעילה יותר. הצגת ממשקי ה- API החדשים הללו עשויה להיות עליית ענק בביצועים עבור רוב האנשים. יתרה מזאת, זה גם יאפשר למפתחים לבנות משחקים אינטנסיביים במעבדים הרבה יותר ממה שיש לנו עכשיו. לדוגמה, דמיין משחק כמו Assasins Creed עם אלפי NPC על המסך בפעם אחת, כולם מתקשרים אחד עם השני עם הדמות שלך בזמן שאתה משוטט בעיר. או משחקים כמו Star Citizen, שבהם אתה זקוק למעבד חזק מאוד מאוד בכדי לקבל כל סוג של קצב פריימים יציב ומקובל, עשויים בעתיד הקרוב לדרוש מעבד ממוצע במקרה הטוב ו- GPU חזק לשמירה על 60 fps מוצק.

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

אפי גרפיקה חדשים ועתיד משחקי המחשב