מדוע כל משחק מחשב מתקין עותק משלו של DirectX?

DirectX הוא חלק ממערכת ההפעלה Windows. אז למה נראה שכל משחק מחשב שתתקין מ- Steam, Origin או בכל מקום אחר יתקין עותק משלו של DirectX?

מה זה DirectX?

DirectX הוא חלק ממיקרוסופט Windows. זוהי קבוצה של ממשקי API (ממשקי תכנות יישומים) שמפתחים יכולים להשתמש בהם עבור גרפיקה תלת-ממדית, וידאו, מולטימדיה, סאונד ותכונות משחק ב- Windows. משחקים רבים ב- Windows משתמשים ב- Direct3D של DirectX לגרפיקה. אם הם לא עושים זאת, הם משתמשים במקום זאת בממשקי ה- API הפתוחים של OpenGL או Vulkan. יישומים אחרים שאינם משחקים עשויים להשתמש ב- DirectX עבור תכונות כמו גרפיקה תלת ממדית.

Windows 7 כולל את DirectX 11, ו- Windows 10 כולל את DirectX 12. כאשר מפתחים מפתחים משחקים, הם בוחרים בגרסאות DirectX שאליהן הם רוצים למקד. לדוגמא, משחק שנכתב רק עבור DirectX 11 לא יופעל ב- Windows XP, כאשר הגרסה האחרונה הזמינה היא DirectX 9.

קשורים: כיצד להשתמש באבחון DirectX ב- Windows

באפשרותך לבדוק את גרסת DirectX הזמינה במערכתך על ידי לחיצה על כפתור התחל, הקלדת "dxdiag" בתיבת החיפוש ולחץ על Enter. כאשר חלון כלי האבחון של DirectX מופיע, תראה את מספר הגרסה מימין ל"גרסת DirectX "תחת" מידע מערכת ".

אם זה כלול עם Windows, מדוע משחקים מתקינים אותו?

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

לא רק משחקי ספריית DirectX Direct3D בודדים תלויים או אפילו רק קומץ. מפתחי משחקים צריכים למקד לגרסה מדויקת של ספריית העוזרים Direct3D. לא ניתן להשתמש בגרסה עדכנית יותר של הספרייה. לדוגמה, אם מפתח משחקים מיקד את המשחק שלו ל- d3ddx10_40.dll, המשחק לא יכול להשתמש ב- d3ddx10_41.dll. זה זקוק לגרסה 40, ורק קובץ זה יעשה זאת.

תמצא קבצים אלה בתיקיה C: \ Windows \ System32 במערכת שלך. במערכת 64 סיביות, ספריות 64 סיביות ממוקמות ב- C: \ Windows \ System32 וספריות 32 סיביות נמצאות ב- C: \ Windows \ SysWOW64.

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

זה אפילו מסתבך מזה. משחקי 32 סיביות זקוקים לגירסאות 32 סיביות של קובץ הספרייה, ומשחקי 64 סיביות זקוקים לספריית 64 סיביות.

קשורים: מדוע מותקנים במחשב שלי כל כך הרבה "הפצה מחדש של Microsoft Visual C ++"?

זה דומה למצב עם ספריות Microsoft Visual C ++ המחולקות מחדש. יישומים שונים תלויים בגרסאות שונות של הספריות ועליך להתקין גרסאות רבות ושונות. יש סיכוי טוב שיש לך הרבה כאלה המותקנים גם במערכת שלך.

אבל מדוע כל משחק מחשב צריך להתקין אותו מחדש?

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

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

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

כמובן שלא כל המשחקים באמת צריכים להריץ את תוכנית ההתקנה של DirectX כאשר אתה מפעיל אותם לראשונה. משחקים המשתמשים ב- OpenGL או Vulkan במקום ב- Direct3D של DirectX לא יצטרכו להריץ אותם. חלק מהמשחקים תלויים רק בגרסאות העיקריות של DirectX כמו DirectX 11, 10 או 9 ואינם צריכים להתקשר למתקין DirectX מכיוון שהם אינם משתמשים באף אחת מספריות העוזרות הללו.

האם אוכל להסיר חלק מהספריות הללו?

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

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

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

מה אוכל לעשות אם יש לי בעיות ב- DirectX?

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

ייתכן שתוכל להיכנס לתיקיית המשחק במערכת שלך או לתקליטור ההתקנה של המשחק, לאתר את קובץ ה- exe של תוכנית ההתקנה של DIrectX ולהפעיל אותו כדי לפתור את הבעיה. קובץ זה נקרא בדרך כלל DXSETUP.exe.

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