DXVK که در اصل برای لینوکس ساخته شده است همچنین می تواند به شما کمک کند بازی های قدیمی را در ویندوز “تعمیر” کنید و عملکرد آنها را افزایش دهید. در اینجا چرا و چگونه.
Direct3D برای چندین دهه بخشی از بازی های ویندوز بوده است و چشم انداز سخت افزاری رایانه شخصی را در زیر یک چتر فعال سه بعدی متحد می کند. با این حال، برنامه ای که عمدتاً برای لینوکس ایجاد شده است، DXVK، گاهی اوقات گزینه بسیار بهتری برای استفاده است، حتی اگر در ویندوز هستید.
آیا سازگاری بهتر و مهمتر از آن، عملکرد برنامه ها و بازی های خود را دوست دارید؟ سپس باید DXVK را امتحان کنید.
مشکل DirectX در ویندوز
مایکروسافت DirectX را به عنوان یک “راه حل یکپارچه” ایجاد کرد که به برنامه نویسان کمک می کرد تا از قابلیت های سخت افزاری هر رایانه شخصی استفاده کنند. توسعه دهندگان نرم افزار می توانند به جای نوشتن کدهای مختلف برای هر بخش سخت افزاری، DirectDraw (گرافیک دوبعدی)، Direct3D (3D با شتاب سخت افزاری)، و DirectSound (صوتی) DirectX را هدف قرار دهند. سپس، اجازه دهید راه حل مایکروسافت کد آنها را به “زبان مادری” هر بخش سخت افزاری “ترجمه” کند.
DirectX به یک فناوری اصلی غیرقابل جایگزین در ویندوز تبدیل شد و از آن زمان در حال تکامل است. با این حال، یک نکته کوچک در Direct3D وجود دارد: 100٪ با نسخه قبلی سازگار نیست.
مایکروسافت و سازندگان پردازندههای گرافیکی که از Direct3D API پشتیبانی میکنند (مانند Nvidia، AMD و Intel)، گاهی اوقات پشتیبانی از ویژگیهایی را که در نسخههای قبلی Direct3D معرفی شده بود، اما هرگز مورد توجه قرار نگرفت، کنار گذاشتهاند. بنابراین، برخی از بازی های قدیمی ممکن است به درستی روی یک GPU مدرن با جدیدترین نسخه Direct3D اجرا نشوند.
ولکان چیست؟
OpenGL که ظاهراً پاسخی “بازتر” به Direct3D منبع بسته مایکروسافت است، نسخه جهش یافته ای از کتابخانه های گرافیکی سه بعدی است که در ایستگاه های کاری گرافیک سیلیکون گرافیک استفاده می شود.
اگرچه OpenGL در مقایسه با Direct3D مایکروسافت همیشه از نظر ویژگی عقب بود. در نهایت، راه اندازی مجدد تلاش منطقی تر به نظر می رسید. به همین دلیل است که Vulkan که با نام “OpenGL Next” نیز شناخته می شود، ایجاد شد که عملکرد بهتر و کنترل بیشتری بر سخت افزار ارائه می دهد.
Vulkan مانند OpenGL، و برخلاف Direct3D مایکروسافت به ویندوز، “باز” و چند پلتفرمی است. می توانید از Vulkan در ویندوز، لینوکس و حتی گوشی های هوشمند استفاده کنید. اگرچه به صورت بومی در مک ها پشتیبانی نمی شود، اما در آنجا از طریق MoltenVK قابل استفاده است.
این نسخه کوتاه بود. برای کسب اطلاعات بیشتر در مورد Vulkan، مقاله ما را در مورد کتابخانه های زمان اجرای Vulkan در ویندوز بررسی کنید.
DXVK چیست؟
DXVK یک بسته بندی است که Direct3D را به Vulkan “ترجمه” می کند. در دنیای انسانی، یک مترجم می تواند میانجی بین یک انگلیسی زبان و یک زبان ژاپنی باشد و آنها را قادر به درک یکدیگر کند. به طور مشابه، «پوششها» یا «لایههای ترجمه» میتوانند کد نوشته شده برای یک قطعه خاص از سختافزار، پلتفرم یا API را «گرفته» و آن را برای اجرا در دیگری ترجمه کنند.
DXVK در اصل برای لینوکس با پشتیبانی Valve توسعه داده شد که از آن در SteamOS و Steam Deck نیز استفاده می کند. می توانید در مقاله ما که در آن Steam Proton چیست و چگونه بازی های ویندوز را در Steam Deck اجرا می کند، در مورد آن بیشتر بدانید.
چرا باید از DXVK در ویندوز استفاده کرد؟
اگر بازی از قبل روی سخت افزار شما خوب اجرا می شود، دلیلی برای استفاده از DXVK وجود ندارد. اما برخی از بازیهایی که برای نسخههای قدیمیتر DirectX نوشته شدهاند، بر روی نسخههای جدیدتر DirectX و سختافزار مدرن «درست» اجرا نمیشوند.
با “ترجمه” کدهای قدیمی و باگ Direct3D به API مدرنتر Vulkan، کمترین هزینه را برای عملکرد (در صورت وجود) به همراه خواهد داشت. در همان زمان، بازی های مشکل دار با گرافیک خراب یا ویژگی های از دست رفته ممکن است دوباره به طور کامل قابل پخش شوند.
از آنجایی که Vulkan با Direct3D 12 همتراز است و هر دو بسیار بهتر (و سریعتر) از نسخه های قدیمی Direct3D هستند (همانطور که دیدیم هنگام مقایسه DirectX 11 در مقابل DirectX 12)، “ترجمه” بازی های قدیمی Direct3D به Vulkan گاهی اوقات می تواند باعث بهبود بازی شود. کارایی.
کار اینتل روی پردازندههای گرافیکی Arc خود گواه آن است. اینتل می تواند سعی کند برای هر عنوان قدیمی در درایورهای Arc GPU پشتیبانی اضافه کند. در عوض، اینتل تصمیم گرفت روی بهبود بیشتر DXVK کار کند. نتایج اولیه از “آزمایش” اینتل منجر به افزایش 2 برابری عملکرد برای عناوین قدیمی شد، با ده ها قابل پخش “از طریق” DXVK.
نحوه استفاده از DXVK در ویندوز
استفاده از DXVK در ویندوز آسان است، زیرا چیزی برای تغییر دادن یا پیکربندی وجود ندارد. شما فقط باید آن را دانلود کنید، آن را در پوشه صحیح یک بازی استخراج کنید و آماده کار است.
با این حال، شما باید از نسخه صحیح DXVK که با نسخه Direct3D استفاده شده توسط بازی شما مطابقت دارد، استفاده کنید.
اگر کل فرآیند را با هم طی کنیم تا ببینیم چگونه می توانید آخرین نسخه DXVK را دانلود کنید، “تکنولوژی” بازی خود را شناسایی کنید و DLL های صحیح را در پوشه مناسب نصب کنید، احتمالا آسان تر است.
نحوه دانلود DXVK
DXVK نرم افزار منبع باز و رایگان برای استفاده است. می توانید آخرین نسخه آن را در GitHub پیدا کنید.
- از صفحه رسمی GitHub DXVK دیدن کنید و روی پیوند آخرین نسخه در سمت راست صفحه، در قسمت Releases کلیک کنید.
- در صفحه نسخهها به پایین بروید و بخش Assets آخرین نسخه را پیدا کنید. برای دانلود آخرین آرشیو DXVK tar.gz کلیک کنید. در زمان نوشتن، نسخه 2.2 بود.
- آرشیو دانلود شده را در جایی ذخیره کنید، زیرا باید محتویات آن را در پوشه هر بازی که می خواهید به جای Direct3D با DXVK اجرا کنید استخراج کنید.
نحوه انتخاب نسخه صحیح DXVK
اگر میخواهید بدانید بازی شما از کدام نسخه Direct3D استفاده میکند، وبسایت PC Gaming Wiki میتواند به شما کمک کند.
- با مرورگر خود از ویکی PC Gaming دیدن کنید و از قسمت جستجو در بالا سمت راست برای جستجوی بازی که میخواهید DXVK را به آن اضافه کنید، استفاده کنید.
- وقتی بازی خود را پیدا کردید، از صفحه آن بازدید کنید و به پایین بروید تا به بخش اطلاعات دیگر برسید. توجه خود را به جداول API معطوف کنید. در آنجا، در ستونهای مشخصات فنی و پشتیبانی شده، نسخه Direct3D را خواهید دید که بازی شما از آن استفاده میکند. در زیر، ستون های اجرایی، 32 بیتی و 64 بیتی به شما می گویند که کدام معماری را باید انتخاب کنید.
چگونه DXVK را به بازی های خود اضافه کنید
اکنون که می دانید بازی شما از کدام نسخه Direct3D و معماری CPU استفاده می کند، می توانید نسخه صحیح DXVK را به پوشه آن اضافه کنید.
- بایگانی DXVK را با مدیر آرشیو مورد علاقه خود باز کنید (برای این مقاله، ما از WinRAR استفاده می کنیم)، و پوشه واحد DXVK را که در آنجا می بینید وارد کنید.
- در داخل، دو زیرپوشه، یکی برای هر معماری کامپیوتر پیدا خواهید کرد. مورد صحیح را برای بازی خود وارد کنید. حتی اگر سیستم عامل شما 64 بیتی است، مانند اکثر نسخه های ویندوز امروزی، اگر بازی شما 32 بیتی است، باید به سراغ پوشه 32 بیتی بروید.
- DXGI.DLL به علاوه DLL صحیح را برای نسخه Direct3D که بازی شما استفاده می کند انتخاب کنید. همانطور که خواهید دید، سه DLL دیگر وجود دارد، یکی برای هر یک از نسخه های قبلی Direct3D: 9، 10، و 11.
- پوشه محلی را که بازی شما در آن نصب شده است پیدا کنید و زیرپوشه را با فایل اجرایی آن (“فایلی که بازی از آن اجرا می شود” قرار دهید. DLL های مرحله قبل را در این پوشه استخراج کنید.
چگونه بازی پیشرفته خود را تست و محک بزنید
اگر اکنون بازی خود را اجرا می کنید، باید از Vulkan به جای Direct3D استفاده کنید و امیدوارم عملکرد بهتری داشته باشد.
حتی اگر هیچ تغییر چشمگیری در نرخ فریم مشاهده نکنید، گاهی اوقات میتوان این پیشرفتها را به روشهای دیگری «احساس» کرد. به عنوان مثال، ما DXVK را با Batman: Arkham City کلاسیک روی رایانه شخصی مجهز به Ryzen 5900x، 64 گیگابایت رم و پردازنده گرافیکی Nvidia RTX 3070 امتحان کردیم. سخت افزار ما قبلاً از مشخصات برتر این بازی قدیمی بالاتر بود و به نرخ فریم بسیار بالایی دست یافت. حتی اگر آنها با Vulkan بالاتر می رفتند، تفاوت به راحتی قابل درک نخواهد بود.
با این حال، اکشن بازی نرم تر به نظر می رسید. انتقال بین صفحهها، سطوح بارگیری و فشردن Alt + Tab با DXVK تقریباً فوری بود.
زمانی که نباید از DXVK استفاده کنید
DXVK مزایای بسیاری دارد و می تواند عملکرد بازی های قدیمی را وارد دوران مدرن کند. با وجود این، این یک گلوله نقره ای برای بهبود عملکرد نیست و گاهی اوقات ارزش استفاده از آن را ندارد.
1. DXVK عملکرد بازی را بهبود نمی بخشد
اگر DXVK DLL ها را به بازی خود اضافه کرده اید اما بعد از آن هیچ تفاوتی مشاهده نکردید، در صورت تمایل می توانید دوباره آنها را حذف کنید. برای انجام این کار می توانید DLL هایی را که به پوشه بازی اضافه کرده اید حذف کنید.
2. DXVK باعث عملکرد بدتر می شود یا اشکالات جدیدی را معرفی می کند
گاهی اوقات افزودن DXVK به یک بازی ممکن است نتیجه معکوس داشته باشد. متأسفانه، هیچ راهی برای یک کاربر نهایی برای رفع چنین مشکلاتی وجود ندارد.
آیا مخزن عملکرد یا اشکالات بصری بازی پس از افزودن DXVK ظاهر شد؟ از بازی خارج شوید و DLL های DXVK را از دایرکتوری آن حذف کنید.
3. شما می خواهید بازی خود را آنلاین بازی کنید
DXVK یک لایه سازگاری است و تنها بر خروجی گرافیکی یک بازی تأثیر می گذارد. با این حال، برخی از شرکت ها مخالف هرگونه تغییر در بازی های خود برای تضمین محیطی عادلانه برای همه هستند.
DXVK ممکن است “تقلب” نباشد، اما همچنان یک “اصلاح بازی” است و می تواند به عنوان چنین پرچم گذاری شود.
4. بازی از قبل دارای پشتیبانی داخلی Vulkan است
اگر بازی از قبل از Vulkan API استفاده میکند، مانند Doom Eternal، دلیلی وجود ندارد که خروجی آن را روی Direct3D تنظیم کنید و سپس آن را به Vulkan ترجمه کنید.
5. بازی از Direct3D 12 استفاده می کند
از آنجایی که Direct3D 12 تقریباً به طور کامل با Vulkan برابری می کند، با ترجمه یک API گرافیکی فوق مدرن به API دیگر چیزی به دست نمی آید.
بازی های قدیمی خود را با «ترجمه شده» سه بعدی در ویندوز تقویت کنید
چیزی که به عنوان راهی برای اجرای بیشتر بازی های متصل به ویندوز در لینوکس شروع شد، در نهایت به یک راه حل سازگاری مفید و تقویت کننده عملکرد تبدیل شد. بنابراین، آرشیو اخیر DLL های DXVK را در دسترس داشته باشید. آنها را به هر بازی اضافه کنید که میخواهید اشکالات را از بین ببرید، عملکرد آن را بهبود ببخشید، اکشنهای درون بازی را نرمتر کنید و پاسخدهی آن را بهبود ببخشید.
حتی اگر در نهایت کمکی نکند، امتحان کردن آن تنها چند ثانیه طول می کشد، و اغلب ممکن است از نتایج شگفت زده شوید.