הדרכות

▷ Directx 12 לעומת vulkan: המאבק על המנוע הגרפי הטוב ביותר?

תוכן עניינים:

Anonim

נכון לעכשיו בעולם המחשבים קיימים שני ממשקי API גרפיים מהשורה הראשונה המנהלים את השוק בסמכות. מסיבה זו אנו מביאים לך את ההשוואה בין DirectX 12 Vs Vulkan.

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

מדד התוכן

ממשק API גרפי ברמה נמוכה ו"תקורת מנהל התקנים "

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

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

שניהם DirectX 12 וגם Vulkan 1.1 הם APIs שמכוונים להתפתחות של משחקים ויישומים הדורשים סיוע של מנועי גרפיקה מודרניים. יחד עם זאת מדובר בממשקי API הנתמכים על ידי מנהלי ההתקנים של מעצבי השבבים הגרפיים החשובים ביותר ולכן דרך מהירה וחסכונית לגשת לתכונות שלהם מבלי שהם צריכים לדעת את העיצוב שלהם ברמה נמוכה מאוד.

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

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

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

Microsoft DirectX

DirectX מתעורר כצורך בתקינה של מערכות מולטימדיה שונות של Windows והיא תחליף ל- WinG עבור Windows 3.1. היא מאומצת ב- Windows 95 כחבילת תוספות והגרסה השנייה שלה, DirectX 2.0, הופכת למרכיב בסיסי ב- Windows 95 OSR2.

בתוך DirectX אנו מוצאים ממשקי API עצמאיים מרובים כמו Direct3D, שהוא באמת זה המדובר, DirectDraw, DirectMusic, DirectPlay ו- DirectSound. DirectX הייתה דרך לנקוב בהתקדמות נפוצה בכל תת-ממשקי ה- API הללו. זהו ממשק API עבור חלונות אך הוא משמש גם לפיתוח משחקים בקונסולות ה- Xbox שלו כך שנוכל לראות בו ממשק API רב-תכליתי אך לא בחינם, כמו שקורה ב- Vulkan.

DirectX 12, הגרסא האחרונה שלה, הייתה איתנו מאז 2014 ולא עמדה בשקט ולפני מספר חודשים קיבלה שיפורים חשובים כמו תת- רוטינה של Direct Ray Tracing (DXR) שנכללה בגירסת העדכון באוקטובר 1809 של Windows 10.

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

הם יכולים לבצע פעולות מסוגים שונים, לרוב "מספר שלם" או "נקודה צפה" תוך ניצול היכולות של הגרפיקה התואמת וגם חלוקת פעולות מורכבות לפשוטות יותר על ידי עיבודן במקביל לאוטובוסים גדולים יותר. דוגמה טובה היא כיצד AMD או Nvidia יכולים כעת לעבד פעולות של 16 סיביות באוטובוסים שלהם עם 32 סיביות, ולשפר משמעותית את היעילות של הגרפיקה שלהם.

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

נכון לעכשיו DirectX 12 זמין, בהפתעה, עבור Windows 7 ו- Windows 10 ולמרות שהוא אינו תואם ישירות ל- Xbox One, האמת היא שלמעשה 90% מהפונקציונליות שלו משמשת למחשב האישי, ההבדלים הם מינימליים וזה אפשר. מפתחים עיבודים מהירים של משחקי המחשב שלהם ל- Xbox One ולהיפך.

וולקן מחרונוס

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

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

ההיסטוריה של וולקן מתוארכת לשנה לאחר ש- DirectX 12 ו- Khronos, שהיא חברה ללא כוונת רווח, מתחזקת אותה לעתים קרובות או לעיתים תכופות יותר ממה שמיקרוסופט עושה עם API משלה. זה מבוסס על ה- Mantle API ש- AMD פיתח עבור ארכיטקטורת ה- GCN שלו וזה היה עוד API ברמה נמוכה עבור "מנהל התקן" מופחת. AMD תרמה את ההתפתחויות שלה לחרונוס ואלה הם היסודות של אחד מממשקי ה- API הגרפיים הטובים ביותר בשוק.

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

Vulkan מציגה גם שיפורי API ברמה נמוכה באנדרואיד ובפלטפורמות אחרות.

הגרסה האחרונה שלה, Vulkan 1.1, שהוצגה בסוף 2018 מוסיפה שיפורים חשובים כמו תמיכת HLSL, שהיא האלטרנטיבה של DirectX 12 לניהול פעולות Shader ללא צורך בקומפילציה, תאימות טובה יותר עם DirectX 12 (לשתי תת-הרבות הרבות שלה. מלבד הגרפיקה), תמיכה מפורשת במערכות Multi-GPU ללא קשר ליצרן וכמובן תמיכה ב- RayTracing.

חוזקות וחולשות של DirectX 12 לעומת Vulkan

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

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

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

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

הגבלנו את המסגרת ל- 120FPS לצורך הדגמה של מנהל התקנים. ב- Dota 2 צריכת המעבד מצטמצמת באופן משמעותי עם אותו FPS.

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

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

הבדלי ביצועים במשחקים עם API כפול

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

מבחן תקורה של מנהל התקן 3DMark. מביא למיליוני בקשות, יותר טוב יותר.

אפר של ייחודיות. תוצאות ב- FPS, יותר טוב יותר.

חטיבה מוזרה. תוצאות ב- FPS, יותר טוב יותר.

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

  • המעבדים הטובים ביותר בשוק לוחות האם הטובים ביותר בשוק זיכרון ה- RAM הטוב ביותר בשוק כרטיסי הגרפיקה הטובים ביותר בשוק SSDs הטובים ביותר בשוק מארזי מארז טובים יותר או מחשבים ניידים ספקי כוח טובים יותר כיורי קירור וקירור נוזלים טובים יותר

כפי שאתה יכול לראות, התוצאות הן אחידות ואנחנו רואים הבדלים בין תוכניות בעד ונגד זו בזו. זה משאיר אותנו עם השאלה מיהו טוב יותר והתשובה ברורה, זה תלוי בתוכנית ואיך המפתח שלה יודע או רוצה לנצל את היתרונות שלה. מה שנותר הוא לחשוב שבכל משחק המפתחים ישתמשו בדיוק בממשק ה- API שמיטיב לנצל את היתרונות של הגרפיקה שלנו, אם כי ברור ששתי האפשרויות נראות יותר מוכשרות. מה חשבת על המאמר שלנו בנושא Directx 12 לעומת Vulkan ? אנו רוצים לדעת את דעתך!

הדרכות

בחירת העורכים

Back to top button