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

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

מה חדש ב- DirectX 12?

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

הפחתת חומרה ברמה נמוכה יותר

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

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

שיפור ביצועים מרובי ליבות

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

צייר תקורה התקורה

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

מפורשת

ל- DirectX 12 יש את היכולת לשלב מספר יחידות GPU (מתאמי תצוגה של AKA) ליחידה לוגית אחת. תכונה זו, הנקראת Multlicit Multapter, מאפשרת GPU מרובים כדי להיות הורה על ידי תוכנה כמו GPU יחיד. לדוגמה, עם DirectX 12 ה- GPU המשולב במחשב שלך יכול כעת לתייג את הצוות עם ה- GPU הדיסקרטי שלך, תוך מתן כוח עיבוד משלו. תמיכה API גדול יותר יכול גם מתכוון אמינות ויעילות רבה יותר ב- GPU SLI / CrossFire setups. בבדיקות של מיקרוסופט באמצעות גרפיקה משולבת בד בבד עם גרפיקה נפרדת סיפק יתרון קטן אך בולט במדדים.

כמה עולה DirectX 12 עניין עבור גיימרים?

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