Vulkan از زمانی که در سال 2016 راه اندازی شد، به عنوان یک قاتل DirectX قرار گرفته است. شروع کندی بوده است، اما رابط نرم افزاری باز در شش سال گذشته شتاب زیادی پیدا کرده است و در بازی های متنوعی مانند Red Dead Redemption 2 و Hollow Knight ظاهر شده است. با انتشار اخیر Vulkan 1.3 ، با این حال، ما به نقطه شکست رسیده ایم.
جدیدترین نسخه، پایه ویژگی های تکه تکه شده Vulkan را متحد می کند. رابط نرم افزاری برای سال ها قادر به انجام کارهایی مانند ردیابی پرتو در تلفن های هوشمند بوده است، اما استاندارد جدید لیستی از ویژگی های اصلی را مشخص می کند که باید توسعه بازی ها با Vulkan را آسان تر و سریع تر کند.
با وعدههایی مبنی بر پشتیبانی بهتر از پیکربندیهای سختافزاری منحصربهفرد و بهبود عملکرد واضح، ممکن است بالاخره زمان آن رسیده است که گیمرهای رایانه شخصی DirectX را به نفع Vulkan کنار بگذارند.
ولکان چیست؟
Vulkan یک رابط برنامه نویسی کاربردی بین پلتفرمی (API) از گروه Khronos است. به عبارت خوانا، این یک قطعه کیت است که روی هر سه سیستم عامل اصلی – لینوکس، MacOS و ویندوز – کار می کند و به بازی ها اجازه می دهد با سیستم عامل ارتباط برقرار کنند. این یک مرد واسطه است که دستورالعمل ها را حمل می کند.
گیمرهای رایانه شخصی احتمالاً با DirectX، API خود مایکروسافت که منحصراً با ویندوز کار می کند، بیشتر آشنا هستند. دهها تفاوت فنی بین DirectX و Vulkan وجود دارد، اما این چیزی است که باید بدانید: DirectX از مایکروسافت میآید و فقط روی ویندوز کار میکند، در حالی که Vulkan از گروهی متشکل از مدیران صنعت و در سیستمعاملهای مختلف کار میکند.
و منبع باز است. بر خلاف DirectX، توسعهدهندگان میتوانند Vulkan را برای رفع نیازهای خود تغییر داده و گسترش دهند. در واقع، بهروزرسانی اخیر Vulkan 1.3 بیشتر تمرینی برای افزودن عملکرد به هسته Vulkan بود که توسط گروه Khronos و توسعهدهندگان ارائه شد.
این به روز رسانی اخیر نقطه عطفی برای API است و ویژگی های بسیار درخواستی را به مشخصات اصلی اضافه می کند. برای گیمرها، نیل تروت، رئیس گروه Khronos میگوید که مزایای آن واضح است: «نتیجه برای مصرفکنندگان این است که بازیها میتوانند با استفاده از عملکردهای پیشرفتهتر و زودتر عرضه شوند.»
Vulkan سریعتر از DirectX است
نبرد دیوید و جالوت بین شرکت چند میلیارد دلاری منبع بسته و کنسرسیوم غیر انتفاعی منبع باز داستانی برای اعصار گذشته است، اما دلایل ملموس تری برای حمایت از Vulkan در بازی های رایانه شخصی وجود دارد. در تطابق یک به یک، Vulkan به سادگی از DirectX بهتر عمل می کند.
من چهار بازی را آزمایش کردم که از Vulkan و DirectX پشتیبانی می کنند تا تفاوت عملکرد را اندازه گیری کنم. توجه داشته باشید که بسیاری از بازی ها از یکی یا دیگری استفاده می کنند و برخی از بازی ها از هر دو برای موارد مختلف استفاده می کنند. به عنوان مثال، Crysis Remastered از DirectX به عنوان موتور رندر اصلی استفاده می کند، اما از Vulkan برای ردیابی پرتو استفاده می کند.
با شروع با جدیدترین DirectX 12 ، Vulkan توانست در Red Dead Redemption 2 و Strange Brigade، هر دو در 1080p و 4K، از آن بهتر عمل کند. آنها نیز تفاوت های جزئی نیستند. در Strange Brigade در 1080p، تغییر ساده به Vulkan باعث افزایش 9 درصدی در نرخ فریم متوسط من شد.
به خاطر داشته باشید که API تنها چیزی بود که بین اجراها تغییر کرد و Strange Brigade و Red Dead Redemption 2 هر دو دارای بنچمارک های درون بازی هستند. فعال کردن Vulkan نیز هیچ هزینه ای ندارد – اگر از DirectX استفاده کنید، عملکرد رایگانی است که روی میز باقی می گذارید.
به DirectX 11 برگردید و تفاوت ها حتی واضح تر است. Rainbow Six Siege و World War Z Vulkan و DirectX 11 را در دسترس دارند و Vulkan هنوز در 4K و 1080p سریعتر است.
در جنگ جهانی Z تفاوت بزرگی در 1080p ایجاد کرد و میانگین نرخ فریم من را نزدیک به 21% افزایش داد. Vulkan بارهای کاری چند هستهای CPU را بسیار بهتر از نسخههای قدیمی DirectX مدیریت میکند – DirectX 12 از این نظر بهتر است – و این میتواند دنیای متفاوتی را هنگام اجرا با وضوحهای پایینتر ایجاد کند.
این چهار بازی به سختی نمایش کاملی از بازی هایی هستند که مردم انجام می دهند. اما آنها به اندازهای هستند که چرخها را در مورد عناوینی که فقط از DirectX پشتیبانی میکنند بچرخانند. خبر خوب برای گیمرهای PC این است که Vulkan در حال افزایش است و ربطی به عملکرد ندارد.
پشتیبانی از کراس پلتفرم، Steam Deck و بازی های ابری
عملکرد پادشاه است، اما Vulkan واقعاً مهم است زیرا از پشتیبانی بین پلتفرمی برخوردار است. DirectX فقط با ویندوز کار می کند. بهعنوان توسعهدهندهای که با DirectX بازی میسازد، باید پورت بازی را به پلتفرمهای دیگر در نظر بگیرید. و دیگر پلتفرم ها بسیار مهم تر می شوند.
عرشه بخار نشانه زمان است. Valve به توسعه دهندگان توصیه می کند از Vulkan به عنوان API اصلی Steam Deck استفاده کنند زیرا Steam Deck از لینوکس استفاده می کند. وقتی به تروت اشاره کردم، او موافقت کرد، اما به چندین روند صنعتی بزرگتر اشاره کرد که باعث پذیرش Vulkan می شود.
روندهای صنعتی زیادی وجود دارد که باعث حمایت گسترده تر از Vulkan می شود. API اصلی در دستگاههای نوآورانه مانند Valve's Steam Deck مطمئناً یکی است. فعال کردن سرویسهای پخش بازی برای میزبانی بازیها در لینوکس در فضای ابری یکی دیگر از موارد دیگر است. اکنون ثابت شده است که استفاده از Vulkan لایه ای بر روی فلز در iOS و MacOS عملکرد فوق العاده ای دارد. و البته که Vulkan API منتخب برای عناوین نسل جدید در اندروید (بزرگترین پلتفرم در بزرگترین بخش بازار بازی) نیز ضرری ندارد.
Trevett همچنین اشاره کرد که Vulkan تنها API مدرن است که هم بین پلتفرم و هم منبع باز است. سیستم عامل ها و دستگاه های تلفن همراه دیگری نیز وجود دارد، اما Vulkan در جاهای دیگر برنامه دارد. به عنوان مثال در Google Stadia کار می کند و حتی از کنسول های نینتندو سوییچ نیز پشتیبانی می کند.
احتمالاً Vulkan دلیل بزرگی برای داشتن پورتهای Doom و Doom Eternal در سوییچ است و به همین دلیل است که Hades قبل از انتقال به کنسولهای دیگر به سراغ رایانههای شخصی و سوییچ رفت. با ورود بازیهای بیشتر به دستگاههای بیشتری نسبت به قبل، مزیت Vulkan واضح است: به توسعهدهندگان اجازه میدهد بازیهایی را برای پلتفرمهای بیشتری بسازند و معمولاً با بهبود عملکرد نسبت به APIهای منبع بسته.
سالها در حال ساخت
Vulkan در سال 2016 منتشر شد و به عنوان تنها API در Doom معرفی شد. در آن زمان مورد ستایش قرار گرفت، اما شتابی که ولکان از آن زمان به دست آورده است به تنهایی یک داستان است. Vulkan به همین دلیل است که ما درگاههای لینوکس را برای Shadow of the Tomb Raider و Hollow Knight داریم، و این یک بازیکن کلیدی در بازیهای موبایلی است که به رایانه شخصی و بالعکس میآیند.
نیازی نیست بیشتر از Red Dead Redemption 2 نگاه کنید تا ببینید Vulkan چگونه است. یک بازی عظیم AAA از یکی از ثروتمندترین توسعه دهندگان بازی جهان که Vulkan را انتخاب کرد دارای API پیش فرض PC خود نسبت به DirectX است.
با این حال، ما فاصله زیادی با Vulkan داریم که API پیش فرض در هر بازی باشد. مایکروسافت، درست یا نادرست، انحصار بازیهای رایانههای شخصی را در اختیار دارد و DirectX همچنان در جریان کار توسعهدهندگان بیشماری قرار میگیرد. امیدواریم با تغییراتی که Vulkan 1.3 با دستگاه هایی مانند Steam Deck به ارمغان می آورد، شاهد پشتیبانی گسترده تری در آینده باشیم.