נוצר במקור עבור לינוקס, DXVK יכול גם לעזור לך "לתקן" משחקים ישנים ב-Windows, ולהגביר את הביצועים שלהם. הנה למה ואיך.
Direct3D היה חלק ממשחקי Windows במשך עשרות שנים, ומאחד את נוף חומרת המחשב המפולח תחת מטריה אחת התומכת בתלת מימד. עם זאת, אפליקציה שנוצרה בעיקר עבור לינוקס, DXVK, היא לפעמים אפשרות הרבה יותר טובה לשימוש, גם אם אתה ב-Windows.
האם תרצה תאימות טובה יותר, וחשוב מכך, ביצועים עבור האפליקציות והמשחקים שלך? אז אתה צריך לנסות את DXVK.
הבעיה עם DirectX ב-Windows
מיקרוסופט יצרה את DirectX כ"פתרון מאוחד" שעזר למתכנתים להשתמש ביכולות החומרה של כל מחשב. במקום לכתוב קוד שונה עבור כל חלק בחומרה, מפתחי תוכנה יכלו "למקד" את ספריות DirectDraw (גרפיקה דו-ממדית), Direct3D (תלת מימד מואצת בחומרה) ו-DirectSound (אודיו). לאחר מכן, תן לפתרון של מיקרוסופט "לתרגם" את הקוד שלהם ל"שפת האם" של כל חלק חומרה.
DirectX הפכה לטכנולוגיית ליבה שאין לה תחליף ב-Windows ומאז היא מתפתחת. עם זאת, יש מלכוד קטן עם Direct3D: זה לא תואם 100% אחורה.
מיקרוסופט, והיוצרים של GPUs התומכים ב-Direct3D API (כמו ב-"Nvidia, AMD ו-Intel"), הפסיק מדי פעם את התמיכה בתכונות שהוצגו בגרסאות קודמות של Direct3D אך מעולם לא זכו גרירה. לפיכך, ייתכן שחלק מהמשחקים הישנים יותר לא יפעלו כהלכה ב-GPU מודרני עם הגרסאות החדשות ביותר של Direct3D.
מה זה וולקן?
כביכול תשובה "פתוחה" יותר ל-Direct3D בקוד סגור של מיקרוסופט, OpenGL הייתה גרסה שעברה מוטציה של ספריות הגרפיקה התלת-ממדיות המשמשות בתחנות העבודה הגרפיות של Silicon Graphics.
עם זאת, OpenGL תמיד פיגר, מבחינת תכונה, בהשוואה ל-Direct3D של מיקרוסופט. בסופו של דבר, זה נראה הגיוני יותר לאתחל את המאמץ. לכן נוצר Vulkan, הידוע גם בשם "OpenGL Next", המציע ביצועים טובים יותר ושליטה מוגברת בחומרה.
כמו OpenGL, ובניגוד ל-Direct3D המחובר ל-Windows של מיקרוסופט, Vulkan הוא "פתוח" וחוצה פלטפורמות. אתה יכול להשתמש ב-Vulkan ב-Windows, Linux ואפילו סמארטפונים. למרות שאינו נתמך באופן מקורי במחשבי Mac, ניתן להשתמש בו דרך MoltenVK.
זו הייתה הגרסה הקצרה. למידע נוסף על Vulkan, עיין במאמר שלנו בנושא אילו ספריות זמן ריצה של Vulkan הן ב-Windows.
מה זה DXVK?
DXVK היא עטיפה, "מתרגמת" את Direct3D לוולקן. בעולם האנושי, מתרגם יכול להיות מתווך בין דובר אנגלית ליפנית, ולאפשר להם להבין אחד את השני. באופן דומה, "עטיפות", או "שכבות תרגום", יכולות "לקחת" קוד שנכתב עבור פיסת חומרה, פלטפורמה או API ספציפיים, ולתרגם אותו להפעלה באחר.
DXVK פותחה במקור עבור לינוקס עם תמיכה מ-Valve, שמשתמשת בו גם ב-SteamOS וב-Steam Deck. אתה יכול ללמוד עוד על זה במאמר שלנו שבו ראינו מהו Steam Proton וכיצד הוא מריץ משחקי Windows ב-Steam Deck.
מדוע כדאי להשתמש ב-DXVK ב-Windows?
אם משחק כבר פועל בסדר בחומרה שלך, אין סיבה להשתמש ב-DXVK. אבל חלק מהמשחקים שנכתבו עבור גרסאות ישנות יותר של DirectX לא פועלים "כהלכה" (אם בכלל) על גרסאות חדשות יותר של DirectX וחומרה מודרנית.
על ידי "תרגום" קוד Direct3D ישן ובעייתי ל-Vulkan API המודרני יותר, יש מחיר מינימלי בביצועים (אם בכלל). יחד עם זאת, משחקים בעייתיים עם גרפיקה פגומה או תכונות חסרות עלולים לחזור להפעלה מלאה.
מכיוון שוולקן שווה ל-Direct3D 12, ושתיהן טובות בהרבה (ומהירות יותר) מאשר גרסאות ישנות יותר של Direct3D (כפי שראינו כאשר השווינו בין DirectX 11 לעומת DirectX 12), "תרגום" של משחקי Direct3D ישנים ל-Vulkan יכול לפעמים לשפר את ביצועי המשחק.
העבודה של אינטל על ה-Arc GPUs שלהם היא הוכחה לכך. אינטל יכולה לנסות להוסיף תמיכה לכל כותר ישן יותר במנהלי התקנים של Arc GPU. במקום זאת, אינטל החליטה לעבוד על שיפור נוסף של DXVK. תוצאות ראשוניות מה"ניסוי" של אינטל מובילות לשיפור פי 2 בביצועים עבור כותרים ישנים יותר, עם עשרות שניתנו להפעלה "דרך" DXVK.
כיצד להשתמש ב-DXVK ב-Windows
השימוש ב-DXVK ב-Windows הוא קל, מכיוון שאין מה לצבוט או להגדיר. אתה רק צריך להוריד אותו, לחלץ אותו לתיקיה הנכונה של המשחק, והוא מוכן להפעלה.
עם זאת, עליך להשתמש בגרסת DXVK הנכונה התואמת לגרסת Direct3D המשמשת את המשחק שלך.
זה כנראה קל יותר אם נעבור את כל התהליך ביחד כדי לראות איך אתה יכול להוריד את הגרסה העדכנית ביותר של DXVK, לזהות את ה"טכנולוגיה" של המשחק שלך ולהתקין את קובצי ה-DLL הנכונים בתיקייה המתאימה.
כיצד להוריד DXVK
DXVK היא תוכנת קוד פתוח וחינמית לשימוש. אתה יכול למצוא את הגרסה האחרונה שלו ב-GitHub.
- בקר אצל DXVK דף GitHub הרשמי ולחץ על הכי מאוחר קישור גרסה בצד ימין של הדף, מתחת משחרר.
- גלול מטה בדף המהדורות ומצא את נכסים החלק של הגרסה האחרונה. לחץ על הארכיון האחרון של DXVK tar.gz כדי להוריד אותו. בזמן כתיבת שורות אלה, זו הייתה גרסה 2.2.
- אחסן את הארכיון שהורדת איפשהו, כי תצטרך לחלץ את תוכנו לתיקיה של כל משחק שתרצה להפעיל עם DXVK במקום Direct3D.
כיצד לבחור את גרסת ה-DXVK הנכונה
אם אתה צריך לדעת באיזו גרסה של Direct3D המשחק שלך משתמש, אתר PC Gaming Wiki יכול לעזור.
- לְבַקֵר Wiki של משחקי מחשב עם הדפדפן שלך, והשתמש בשדה החיפוש בצד ימין למעלה כדי לחפש את המשחק שאליו ברצונך להוסיף DXVK.
- כשתמצא את המשחק שלך, בקר בדף שלו וגלול מטה כדי להגיע ל מידע אחר סָעִיף. הפנה את תשומת לבך לטבלאות ה-API. שם, על מפרט טכני ו נתמך עמודות, תראה את הגרסה של Direct3D שהמשחק שלך משתמש בו. מתחת, ה בר הפעלה, 32 סיביות, ו 64 סיביות עמודות "יגידו" לך באיזו ארכיטקטורה עליך לבחור.
כיצד להוסיף DXVK למשחקים שלך
עכשיו כשאתה יודע באיזו גרסת Direct3D וארכיטקטורת CPU משתמש המשחק שלך, אתה יכול להוסיף את הגרסה הנכונה של DXVK לתיקיה שלו.
- פתחו את ארכיון ה-DXVK עם מנהל הארכיון המועדף עליכם (במאמר זה, אנו משתמשים ב-WinRAR), והכנסו לתיקיית ה-DXVK היחידה שתראו שם.
- בפנים, תמצאו שתי תיקיות משנה, אחת לכל ארכיטקטורת מחשב. הזן את המתאים למשחק שלך. גם אם מערכת ההפעלה שלך היא 64 סיביות, כמו רוב הגרסאות של Windows כיום, אם המשחק שלך הוא 32 סיביות, עליך ללכת על תיקיית 32 סיביות.
- בחר את DXGI.DLL בתוספת ה-DLL הנכון עבור הגרסה של ישיר תלת מימד המשחק שלך משתמש. כפי שתראה, ישנם עוד שלושה קובצי DLL, אחד עבור כל אחת מהגירסאות הקודמות של Direct3D: 9, 10 ו-11.
- מצא את התיקיה המקומית שבה מותקן המשחק שלך ואתר את תיקיית המשנה עם קובץ ההפעלה שלה ("הקובץ שממנו המשחק פועל"). חלץ את קובצי ה-DLL מהשלב הקודם לתיקיה זו.
כיצד לבדוק ולהשוות את המשחק המשופר שלך
אם אתה מריץ את המשחק שלך עכשיו, הוא צריך להשתמש ב-Vulkan במקום ב-Direct3D ובתקווה לבצע טוב יותר.
גם אם לא רואים שינויים דרמטיים בקצבי הפריימים, לפעמים ניתן "להרגיש" את השיפורים בדרכים אחרות. לדוגמה, ניסינו את DXVK עם Batman: Arkham City הקלאסי במחשב המצויד ב-Ryzen 5900x, 64GBs של זיכרון RAM ו-Nvidia RTX 3070 GPU. החומרה שלנו כבר הייתה מעל המפרט המוביל של המשחק הישן הזה, והשיגה קצבי פריימים גבוהים מאוד. גם אם הם היו גבוהים יותר עם וולקן, ההבדל לא יהיה קל לתפוס.
עם זאת, הפעולה של המשחק הרגישה חלקה יותר. מעברים בין מסכים, רמות טעינה ולחיצה על Alt + Tab היו כמעט מיידי עם DXVK.
מתי לא כדאי להשתמש ב-DXVK
ל-DXVK יתרונות רבים והוא יכול להביא את הביצועים של משחקים ישנים לעידן המודרני. למרות זאת, לא מדובר בכדור כסוף לשיפור הביצועים, ולפעמים פשוט לא כדאי להשתמש בו.
1. DXVK לא משפר את ביצועי המשחק
אם הוספת את קובצי ה-DXVK למשחק שלך אך לא ראית הבדל לאחר מכן, תוכל להסיר אותם שוב אם תרצה. אתה יכול למחוק את קובצי ה-DLL שהוספת לתיקיה של משחק כדי לעשות זאת.
2. DXVK גורם לביצועים גרועים יותר או מציג תקלות חדשות
לפעמים הוספת DXVK למשחק עשויה להשפיע בצורה הפוכה. למרבה הצער, אין דרך למשתמש קצה לתקן בעיות כאלה.
האם מיכל הביצועים של המשחק או תקלות חזותיות הופיעו לאחר הוספת DXVK? צא מהמשחק ומחק את ה-DLL של ה-DXVK מהספרייה שלו.
3. אתה רוצה לשחק את המשחק שלך באינטרנט
DXVK היא שכבת תאימות ומשפיעה רק על הפלט הגרפי של משחק. ובכל זאת, חברות מסוימות מתנגדות לכל שינוי של המשחקים שלהן כדי להבטיח סביבה הוגנת לכולם.
DXVK אולי לא "מרמא", אבל זה עדיין "שינוי משחק", ועלול להסומן ככזה.
4. למשחק כבר יש תמיכה מובנית בוולקן
אם משחק כבר משתמש ב-Vulkan API, כמו Doom Eternal, אין סיבה להגדיר את הפלט שלו ל-Direct3D ואז לתרגם אותו ל-Vulkan.
5. המשחק משתמש ב-Direct3D 12
מכיוון ש-Direct3D 12 נמצא כמעט בשוויון מלא עם Vulkan, אין מה להרוויח על ידי תרגום API גרפי אולטרה-מודרני אחד למשנהו.
שפר את המשחקים הישנים שלך עם תלת מימד "מתורגם" ב-Windows
מה שהתחיל כדרך לשחק יותר משחקים הקשורים ל-Windows בלינוקס, הפך בסופו של דבר לפתרון תאימות שימושי ומגבר ביצועים. אז, שמור ארכיון עדכני של קובצי DLL של DXVK בהישג יד. הוסף אותם לכל משחק שבו תרצה לחסל תקלות, לשפר את הביצועים שלו, לקבל פעולה חלקה יותר במשחק ולשפר את ההיענות שלו.
גם אם זה לא יעזור בסופו של דבר, לנסות את זה ייקח רק שניות, ולעתים קרובות יותר, אתה עשוי להיות מופתע מהתוצאות.