DirectX הוא חלק ממערכת ההפעלה Windows. אז למה נראה שכל משחק מחשב שתתקין מ- Steam, Origin או בכל מקום אחר יתקין עותק משלו של DirectX?
מה זה DirectX?
DirectX הוא חלק ממיקרוסופט Windows. זו קבוצה של ממשקי API (ממשקי תכנות יישומים) שמפתחים יכולים להשתמש בהם עבור גרפיקה תלת-ממדית, וידאו, מולטימדיה, סאונד ו- gamepad תכונות ב- Windows. משחקים רבים ב- Windows משתמשים ב- DirectX Direct3D לצורך גרפיקה. אם הם לא עושים זאת, הם משתמשים ב- OpenGL חוצה הפלטפורמות או הַר גַעַשׁ ממשקי API במקום זאת. יישומים אחרים שאינם משחקים עשויים להשתמש ב- 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 במערכת שלכם ישירות ומדלגים על המתקין, או שהם ישברו את רישיון התוכנה של MIcrosoft. ככל הנראה הם היו נתקלים בבאגים שונים, גם אם ינסו זאת. בגלל זה אף אחד לא עושה.
כמובן שלא כל המשחקים צריכים להפעיל את תוכנית ההתקנה של DirectX בפעם הראשונה. משחקים המשתמשים ב- OpenGL או Vulkan ולא ב- Direct3D של DirectX לא יצטרכו להריץ אותם. חלק מהמשחקים תלויים רק בגרסאות עיקריות של DirectX כמו DirectX 11, 10 או 9 ואינם צריכים להתקשר למתקין DirectX מכיוון שהם אינם משתמשים באף אחת מספריות העוזרים הללו.
האם אוכל להסיר חלק מהספריות הללו?
אין להסיר אף אחת מספריות DirectX בתיקיית System32 או בתיקיית SysWOW64. אם הם קיימים במערכת שלך, זה בגלל שמשחק או יישום אחר שהתקנת זקוקים להם. אם תתחיל להסיר קבצי ספרייה, יישומים עלולים להישבר. אין שום דרך לדעת באמת אילו קבצי ספריית DirectX נדרשים על ידי איזה משחקים במערכת שלך, כך שאין שום דרך לדעת אילו בטוחים להסיר.
תעזוב אותם! יש סיבה שאין דרך נתמכת באופן רשמי להסיר את ההתקנה של קבצי הספריה האלה. הם לא יגרמו לבעיות במערכת שלך וישמשו רק יישומים הדורשים אותם.
אם אתה באמת נואש לנקות את הספריות הישנות האלה, עדיף לך התקנה מחדש של Windows להשיג מערכת חדשה במקום למחוק באופן אקראי קבצי ספרייה. אבל בכל מקרה הם יתחילו להופיע שוב אחרי שתתקין משחקים. אל תדאג בקשר לזה.
מה אוכל לעשות אם יש לי בעיות ב- DirectX?
אם אתה רואה הודעת שגיאה הקשורה ל- DirectX בעת ניסיון להריץ או להתקין משחק, יתכן שמתקין המשחק אינו מפעיל כראוי את מתקין הכלול שלו להפצה מחדש. אתה לא יכול פשוט להוריד מתקין DirectX מהאתר של מיקרוסופט - אתה צריך להפעיל את המתקין שהמשחק עצמו דורש.
ייתכן שתוכל להיכנס לתיקיית המשחק במערכת שלך או לתקליטור ההתקנה של המשחק, לאתר את קובץ ה- exe של תוכנית ההתקנה של DIrectX ולהפעיל אותו כדי לפתור את הבעיה. קובץ זה נקרא בדרך כלל DXSETUP.exe.
בדרך כלל תוכל לקבל מידע נוסף על אופן הפתרון של הבעיה על ידי ביצוע חיפוש באינטרנט אחר שם המשחק או היישום והודעת השגיאה הספציפית של DirectX שאתה רואה.