API אחד לשלוט בכולם. זיכיון פנטזיה שגוי, אולי, אבל זה הרעיון מאחורי Vulkan, יורש הקוד הפתוח המטופח של OpenGL, אלטרנטיבה ל-DirectX של מיקרוסופט ומשהו שעשוי לזעזע את המשחקים בכל דבר, ממחשבים אישיים ועד טלפונים. אבל מה זה API? ולמה צריך להיות אכפת לך? נגיע לזה. לעת עתה, אם Vulkan הוא כל מה שהוא פיתח להיות, זה יגרום למשחקים לרוץ מהר יותר ולהיראות טוב יותר במחשב הקיים שלך. זה עשוי להפוך גם את העניין הזה של SteamOS למבקר. בכל מקרה, גרסה 1.0 יצאה, כך שה-weberati המפטפטים יסחרו כלאחר יד באזכורים של וולקן כדי להוכיח את יכולת המשחק שלהם במחשב. הגיע הזמן להתחזק. בנוסף, ישבתי עכשיו בשידור מרכזי של חמש שעות בוולקן מ-GDC 2016. אז הומור אותי. החומר הזה הוא למעשה די מעניין.
TL;DR
- Vulkan הוא חלופה בקוד פתוח לMicrosoft DirectX במחשב האישי
- זה היורש של OpenGL
- אבל זה נגזר מה-API של Mantle של AMD
- זה יהיה בכל דבר, מטלפונים ועד מחשבים
- כמו DirectX 12, הוא טוען שהוא גורם למשחקים לרוץ מהר יותר
- זה לא יעלה לך כלום
- זה יפעל על כרטיסי מסך של AMD חזרה לסדרת Radeon HD 7000 וללוחות מסדרת Nvidia GeForce 600 וחדשים יותר
- עדכון מנהל ההתקן הוא כל מה שאתה צריך
- אה, וזה עשוי להפוך את SteamOS של Valve לפלטפורמת משחקים בת קיימא
נתחיל במרפק בשאלה מהו ממשק API. זה קיצור של Application Program Interface. וזה רק זה. ממשק בין פיסות תוכנה.
בפועל, API מספק אבני בניין וכלים שהופכים את זה להרבה יותר פשוט עבור מפתחים להשיג אפליקציה עובדת. אם אנחנו מדברים על גרפיקה - ואכן אנחנו מדברים על גרפיקה - אז ה-API הוא הממשק שמחבר את המשחקים שלך עם מנהל ההתקן הגרפי שלך. וכך מוצגות הדמיות התלת-ממדיות.
היתרונות של גישה זו הם די עמוקים. עם API גרפי, אפשר לקבל (בעיקר) סט אחד של קוד משחק שיפעל על כל חומרה שתואמת ל-API. אז, משחק מקודד עבור, נניח, DirectX 9 וכל כרטיס גרפי שתואם DirectX 9 יפעיל אותו. בתיאוריה, בכל מקרה. בפועל, זה בדרך כלל קצת יותר מסובך.
אז השימוש ב-API פירושו שמפתחי משחקים לא צריכים להיות רשויות עולמיות הן בשבבים הגרפיים של Nvidia והן של AMD, למשל. הם יכולים להשתמש בכלים שמספק ה-API ולתת ל-Nvidia ול-AMD לעשות את המשימות הכבדות דרך הדרייבר.
כדאי גם להבין שממשקי API מגיעים בטעמים שונים, הידועים גם בשם הפשטה ברמה גבוהה או נמוכה. זה נשמע מפואר, אבל ההשלכות די ישרות קדימה. ככל שרמת ההפשטה גבוהה יותר, כך האפליקציה מתרחקת מהפרטים הספציפיים של החומרה ועומס העבודה המטופל על ידי ה-API ומנהל ההתקן הגרפי (במקרה זה) גדול יותר.
זה טוב במובן זה שהוא הופך את פיתוח המשחקים לפשוט יותר במובנים מסוימים. החסרונות כוללים את הצורך באופטימיזציה נרחבת באמצעות דרייברים, ובתמורה פחות הזדמנויות למפתחים לגרום לדברים לטוס באמת.
כפי שהדברים נראים, DirectX היה במידה רבה ממשק API ברמה גבוהה למדי. במקרה ש-DirectX היה גם מכנסיים בכל הנוגע לתקורות מעבד וריבוי השחלות. וזה אומר שמשחקי DirectX היו מכנסיים יפים לפי שני המדדים. ולעתים קרובות מפתחים לא הצליחו לעשות הרבה בקשר לכל זה.
היכנס לעידן חדש של ממשקי API ברמה נמוכה שמטרתם לפתור את הבעיות הללו. אפשר לטעון, הכל התחיל עםה-API הקנייני של Mantle של AMD. לכל הפחות, נראה שמנטל תפס את הרעיונות של מיקרוסופט,מה שמוביל ל-DirectX 12 והבטחות לתקורות מעבד מופחתות בהרבה ושיפור ריבוי השחלות.
ועכשיו יש לנו את Vulkan, שהובא אליכם על ידי Khronos, קונסורציום התעשייה שעומד מאחורי OpenGL. הוגן לומר ש-OpenGL קשרה קשר להפוך למבולגן, לא יעיל, לא אהוב, עומד ונשאר מאחור למשחקי מחשב רציניים.
הרעיון היה הפסקה נקייה מ-OpenGL, אתחול מוחלט. תכונות ושאיפות עיקריות ל-Vulkan כוללים התייחסות לכל אותם מגעילים שהוזכרו לעיל – כך שזה תקורה מופחתת של מנהל ההתקן, תקורה נמוכה של מעבד, שימוש טוב יותר במעבדים מרובי ליבות.
אם אתה רוצה לפרט יותר, סטטוס ה-API ברמה נמוכה של Vulkan אומר שלמשחקים תהיה יותר שליטה על גורלם מבחינת ביצועים. משחקים במקום ה-API והדרייבר יטפלו בהקצאת זיכרון וניהול שרשורים תחת Vulkan.
כפי שזה קורה, אחד מגורואי הגרפיקה של משחקי Oxide, דן בייקר, מעריך שההיבטים הללו יהיו קריטיים. לדבריו, מסתבר שרוחב הפס והשהייה של הזיכרון הם הבעיות הגדולות עבור ביצועי המעבד במשחקים, לא מחיקת מספרים. אז היכולת של מפתחים לכוונן דברים תעשה הבדל עצום.
לגבי השרשור של משחקים, אומר בייקר עם וולקן, הכל הופך להיות היפר גרגירי. במילים אחרות, במקום חוטים גדולים וכבדים, מסגרת משחק טיפוסית תכיל 50-100 עבודות רינדור זעירות. ואלה יכולים להיות מאוזנים בעומס ביעילות רבה על פני כמה ליבות שהמעבד שלך יכול להציע.
הכל עניין פשוט של סנכרון מאגרי פקודות בתור הפקודות...
כמובן, כמו OpenGL, Vulkan אינו קשור לפלטפורמה אחת. זה יהיה במחשב גם ב-Windows וגם בלינוקס. אבל זה יהיה גם במערכת ההפעלה אנדרואיד של גוגל (אני מאמין בגרסה מעודכנת של מרשמלו, למי שאכפת לו). למעשה, כל השמות הגדולים (לפחות לכאורה) השליכו את הכובע שלהם לטבעת הוולקן ברמה מסוימת. AMD, Nvidia, Oculus, Nintendo, EA, Oxide, Sony, Lucasfilm, you name it. ההשמטה הברורה היחידה בשלב זה היא אפל, שעושה את זה לבד כתמיד עם ה-Metal API שלה.
ראוי גם לציין ש-Vulkan לא יהיה מוגבל ל-Windows 10, כמו DirectX 12. זה יתמך מיד בחזרה ל-Windows 7. זה יכול להיות קריטי לעידוד קליטת Vulkan על ידי מפתחים - הידע שנתיב קוד Vulkan נותן להם גישה ל-API מהיר ונמוך מעבר ל-Windows 10 ו-DX12 בלבד.
אה, ו-Valve. הזכרתי את Valve? נראה כי Vulkan נבנה למטרה להחזיר את SteamOS מבוסס לינוקס למפה כפלטפורמת משחקים. עד כה, הסיכויים של SteamOS נראו פגומים במקרה הטוב. הרבה מזה היה הודות לדרייברים גרפיים גרועים בלינוקס ולמצב הנחשל של OpenGL.
בתיאוריה, וולקן פותר את שתי הבעיות הללו. דרייברים יהיו הרבה פחות קריטיים לביצועים. והוא יהיה תחרותי לתכונה וביצועים עם DX12 כ-API. בנוסף, ברגע שיש לך נתיב קוד של Vulkan, ביטול גרסאות עבור Windows ו-Linux אמור להיות פשוט קדימה.
יתרה מכך, נראה שהבנים הגדולים של ג'ונגל מנועי משחקי ה-PC הם מקצוענים ב-Vulkan - Unreal מ-Epic, Valve's Source 2 ו-Frostbite מ-Dice עומדים כולם לתמוך ב-Vulkan וזה אמור לומר שזה פשוט קדימה עבור מפתחי משחקים המשתמשים במנועים האלה כדי לתמוך גם כן. וולקן.
עם זאת, אחד הבלתי ידועים הוא עד כמה תהיה ההשפעה הגדולה של כל זה על מפתחים באופן כללי ועד כמה הם יהיו להוטים עם עומסי העבודה החדשים. Vulkans נותן להם יותר הזדמנויות. אבל זה גם יוצר עבודה חדשה ומטיל עליהם הרבה יותר אחריות בכל הנוגע להבטחת ביצועים טובים.
משחקים עם הרבה דברים שקורים, כמו Ashes ofייחוד, הם הכותרות הרצויות להדגמת היתרונות של ממשקי API חדשים ברמה נמוכה כמו Vulkan
מה שמביא אותנו כנראה להיבט השנוי ביותר במחלוקת של וולקן. AMD תרמה את ה-API של Mantle במלואו לקונסורציום Khronos. בבסיסו, Vulkan נגזר מ-API Mantle של AMD.
בשלב זה, אי אפשר לומר עד כמה עובדה יחידה זו תהיה משפיעה על סיכוייה לטווח ארוך. קל לראות איך זה יכול להתפרש כיתרון קטלני עבור חומרת AMD ואיך, בתורה, Nvidia לא תרצה לגעת בדבר.
בפועל, מקורבים אומרים שחלק גדול מוולקן נבנה מחדש. יתרה מכך, Nvidia למעשה ניצחה את AMD עם שחרור דרייבר וולקן תואם ונסיון מלא.
נכון לעכשיו, אין כמעט כלום שאתה יכול לשחק כדי לתת לוולקן לנסות. יש את עיקרון טאלוס, אבל כנראה שהוא לא עובד כל כך טוב.יש כאן מדריך להפעלתו אם אתה באמת חייב.
ברור שהרבה מאוד מזה הוא ספקולטיבי למדי בשלב מוקדם זה. עד כמה מפתחים יהיו נלהבים? האם שורשי ה-AMD של Vulkan יהיו בעיה לטווח ארוך? האם Vulkan באנדרואיד יעשה את ההבדל הקל ביותר בהצלחתו במחשב האישי?
מי יודע, אבל כל התיאוריה הגיונית. אז זה הכל בשביל לשחק. אבל לפחות עכשיו אתה יודע על מה מדובר.