انتشار D9VK 0.40، اجرای Direct3D 9 در بالای Vulkan

صورت گرفت انتشار پروژه D9VK 0.40، که اجرای Direct3D 9 را ارائه می دهد که با ترجمه تماس ها به API گرافیکی کار می کند VULKAN. این پروژه بر اساس پایگاه کد پروژه است DXVKدر مقایسه با اجرای Direct3D 9 مبتنی بر WineD3D، D9VK عملکرد بهتری دارد زیرا ترجمه Direct3D 9 از طریق OpenGL کندتر از ترجمه از طریق Vulkan است.

از D9VK می توان برای اجرای برنامه ها و بازی های سه بعدی در لینوکس با استفاده از Wine استفاده کرد. اکثر بازی های مبتنی بر Direct3D 3 با استفاده از نسخه های 9 یا 2 Shader Model پشتیبانی می شوند. کد پروژه توزیع شده توسط تحت مجوز رایگان Zlib. D9VK به درایورهایی نیاز دارد که از Vulkan API پشتیبانی کنند، مانند AMD RADV 18.3+، NVIDIA 415.22+، Intel ANV 19.0+ و AMDVLK.

بهبودهای اصلی:

  • قابلیت استفاده از بیش از 4 گیگابایت حافظه ویدیویی در برنامه های 32 بیتی پیاده سازی شده است که در هنگام راه اندازی مود بازی های Skyrim و Oblivion مشکلات را حل کرد.
  • پردازش ناهمزمان نمایش نتیجه رندر روی صفحه فعال است (مرحله ارائه). برای کاهش تأخیر در موضوع رندر اصلی، پردازش خروجی در رشته ارسال فرمان انجام می‌شود.
  • هنگام بازیابی داده های درخواستی، نقاط هماهنگ سازی جریان فرمان غیر ضروری را حذف کرد.
  • کد تعیین زمان داخلی برای استفاده از تایمر مخصوص پلتفرم ترجمه شده است که به حل مشکلات مربوط به رفتار نادرست high_resolution_clock از MinGW کمک کرد.
  • بافرهای معوق MANAGED و SYSTEMMEM در مرحله قبل از اجرای PrepareDraw بارگیری شدند که مشکلات عملکرد را در بازی های Risen و Legend of the Heroes: Trails of the Sky حل کرد.
  • پشتیبانی اضافه شد D3DTA_CONSTANT، که امکان پیاده سازی رندر صحیح را فراهم کرد جلوه درخشش در بازی های SpinTyres و Mudrunner؛
  • سازگاری بهبود یافته با DirectX 9Ex (D3D9Ex). ویژگی های پردازش ResetEx و Reset در نظر گرفته شده است.
  • کد پاک شده و بازسازی شده؛
  • نگاشت مستقیم بافرهای WRITEONLY ارائه شده است که می تواند تأثیر مثبتی بر عملکرد و دور زدن باگ بازی داشته باشد.
    Counter-Strike: Global Offensive، که منجر به ادامه نوشتن در بافر پس از باز شدن آن می شود.

  • روش اجرا شد SetDialogBoxMode، که به شما امکان می دهد از کادرهای محاوره ای در برنامه های تمام صفحه استفاده کنید.
  • پشتیبانی اجرا شد ترکیب رئوساز جمله اختلاط راس نمایه شده, مورد نیاز برای SWVP (Software Vertex Processing)؛
  • شمارنده نمونه‌گیر که در بالای تصویر فعلی نمایش داده می‌شود (نمایشگر هدآپ، HUD)، دوباره طراحی شده است.
  • گزینه d3d9.dialogBoxMode اضافه شده است که می تواند برای غیرفعال کردن کار فقط در حالت تمام صفحه استفاده شود.
  • بهینه‌سازی عملکرد و حل مشکلاتی که هنگام راه‌اندازی بازی‌های GTA رخ داد: San Andreas، The Masquerade Bloodlines، Max Payne 2، The Sims 2، Silent Hunter 3، Senran Kagura Shinovi، Dungeons and Dragons، Crysis، Metal Slug X، ANGLE، Need for سرعت: کربن و برآمده 1.

علاوه بر این، می توان به آن اشاره کرد قصد توسعه دهنده پروژه DXVK (اجرای DXGI، Direct3D 10 و Direct3D 11 در بالای Vulkan API) به طور موقت تلاش ها را فقط بر رفع اشکال متمرکز می کند و گسترش عملکرد را کاهش می دهد. آرزوی مشابه ناشی از نگرانی در مورد کاهش کیفیت پایه کد و نگهداری دشوارتر در آینده. هر به روز رسانی به شعبه 1.4.x باعث شکایت در مورد تغییرات قهقرایی می شود که قابل بازتولید، محلی سازی و رفع آنها نیست.

این مشکلات مستلزم تجزیه و تحلیل دلایل وقوع آنها هستند، در غیر این صورت اصلاح نشدن آنها در حالی که ادامه کارکرد را افزایش می دهد تنها می تواند وضعیت را تشدید کند و فرآیند تعمیر و نگهداری را به یک کابوس تبدیل کند. برنامه‌هایی که توسعه‌دهنده DXVK قصد دارد قبل از تغییر به حالت فقط رفع اشکال پیاده‌سازی کند، شامل افزودن پشتیبانی از برخی برنامه‌های افزودنی مفید Vulkan و ادغام با پیشرفت‌های پروژه D9VK است.

اضافه: داغ روی پاشنه شکل گرفت نسخه اصلاحی D9VK 0.40.1 که در آن درست شد vec4(1) را روی مقدار پیش‌فرض برای COLOR0 در سایه‌زن‌های رأس تنظیم کنید، و اشکالی را که در آن بیت‌های شیار خروجی سایه‌زن پیش‌فرض به اشتباه اعمال شده‌اند و در نتیجه به اشتباه توسط backend تصحیح شده‌اند، برطرف کرده و باعث می‌شود آنها با vec4(0) جایگزین شوند.

منبع: opennet.ru

اضافه کردن نظر