پشتیبانی کامل کارت گرافیک از DirectX 12 یکی از سوالات گیمرهاست و با توجه به تفاوت سطح قابلیت‌ها و پشتیبانی از دایرکت ایکس 12 وضعیت تا حدی مبهم است. در ادامه به محصولات انویدیا، AMD و اینتل که از دایرکت ایکس 12 به صورت کامل یا ناقص پشتیبانی می‌‎کنند می‌پردازم.

تبلیغات ۷۲۰ در ۹۰

ابهاماتی که اخیراً در میان گیمرها و کاربران حرفه‌ای پی‌سی مطرح شده به تفاوت دو واژه‌ی API Level و Feature Level بر‌می‌گردد و در حقیقت اگر تفاوت این دو مقوله را بدانیم، دیگر مشکلی با پشتیبانی از دایرکت ایکس 12 به صورت کامل یا ناقص یا … نخواهیم داشت.

کارت گرافیک و پشتیبانی از API دایرکت ایکس

کاربرد دایرکت ایکس فراتر از بازی‌هاست.

دایرکت ایکس را در بخش دانش‌نامه‌ی اینتوتک معنی کردیم. واسط برنامه‌نویسی خاصی که مایکروسافت برای سازندگان بازی در نظر گرفته و خود شامل موارد جزئی‌تر برای استفاده از کنترلر، کارت صدا، ترسیم دو بعدی و سه‌بعدی و … می‌شود. در حقیقت برای دیکد و پخش ویدیو هم می‌توان از دایرکت ایکس کمک گرفت و قلمروی کاربرد آن بازی‌ها و نرم‌افزارهای گرافیکی نیست. از این رو نمی‌توان آن را یک واسط برنامه‌نویسی گرافیکی دانست!

در نسخه‌های مختلف دایرکت ایکس برای استفاده از کارت گرافیک و پردازش گرافیک، توابع از پیش آماده شده‌ای وجود دارد که در کتابخانه‌ی دایرکت ایکس یا به عبارتی محیط زمان اجرا (ران‌تایم) موجود است و همین طور برای ایجاد یک جلوه‌ی ویژه مثل نورپردازی و سایه‌زنی، روش‌های مختلفی وجود دارد. تفاوت نسخه‌های مختلف در همین روش‌هاست که روز به روز پیشرفته‌تر، بهینه‌تر و زیباتر می‌شوند.

سخت‌افزار هم می‌تواند با قابلیت‌های جدید، به توابع و روش‌های جدید گرافیکی کمک کند.

بنابراین نسخه‌ی دایرکت ایکس پشتیبانی شده به این معنی است که کارت گرافیک از کدام توابع و روش‌ها پشتیبانی می‌کند. پشتیبانی از API یا واسط برنامه‌نویسی دایرکت ایکس را فرضاً با اصطلاح: پشتیبانی از DirectX 11.1 بیان می‌کنیم که با DirectX FL 11_1 متفاوت است.

کارت گرافیک و پشتیبانی از سطح قابلیت‌های دایرکت ایکس

مایکروسافت با انتشار دایرکت ایکس 11 مقوله‌ی جدیدی به اسم Feature Level یا سطح قابلیت‌ها را هم معرفی کرد. سطح قابلیت مجموعه‌ی مشخص از قابلیت‌هایی که اگر یک پردازنده‌ی گرافیکی دارا باشد، می‌گوییم سطح قابلیت‌های آن فرضاً FL 11_1 است. البته برای دایرکت ایکس 9 هم سه فیچر لول وجود داشت که هر سه را به صورت خلاصه Direct3D 10 Level 9 می‌گفتند اما با معرفی دایرکت ایکس 11، مفهوم جدید فیچر لول ابداع شد تا وضعیت روشن و واضح باشد.

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

در ضمن دقت کنید که API دایرکت ایکس 12 با نسخه‌های قبلی سازگاری کامل دارد. بنابراین اگر یک بازی توسط DirectX 12.0 تهیه شده باشد، 

دایرکت ایکس 9 با سه سطح قابلیت مختلف و در واسط برنامه‌نویسی دایرکت ایکس 11.0 قابل استفاده است. دقت کنید که مدل درایور ویندوز WDDM 1.0 است که در ویندوز ویستا معرفی شده است.

سطح قابلیت‌های دایرکت ایکس 9 با ران‌تایم 11.0

سطح قابلیت‌ها ران‌تایم دایرکت ایکس مدل درایور ویندوز قابلیت‌ها پشتیبانی توسط
FL 9_1 11.0 WDDM 1.0

شیدر مدل 2.0

بافت با رزولوشن 2K

بافت حجمی

کوئری رویدادها

BC1-3

و …

انویدیا FX

اینتل GMA 950/3000

تگرا 3

تگرا 4

FL 9_2

کوئری انسداد

فرمت اعشاری

کدهای سازگاری بیشتر

و …

رادئون 9500
FL 9_3

نمونه‌های پیکسل شیدر 2x و ورتکس شیدر 2a

;کدهای سازگاری اضافی  شیدرها

بافت 4K

4 مقصد خروجی رندر

ترکیب اعمال اعشاری (محدود)

جیفورس 6600

آدرینو 22X و 33x

Mali 6xx/720/820/830

رادئون X1300

دایرکت ایکس 10 هم دو سطح قابلیت مختلف دارد، مشخصات هر یک را مرور کنید:

سطح قابلیت‌های دایرکت ایکس 10 با ران‌تایم 11.0

سطح قابلیت‌ها ران‌تایم دایرکت ایکس مدل درایور ویندوز قابلیت‌ها پشتیبانی توسط
FL 10_0 10 WDDM 1.0

شیدر مدل 4.0

شیدر هندسی

خروجی استریم

پوشش آلفا

بافت 8K

بافت MSAA

شابلون دوطرفه

و …

رادئون HD2000

جیفورس سری 8، 9 و GTX 200

اینتل GMA X3100/X4500

اینتل HD Graphics در سری Arrandale و Clarkdale

FL 10_1 10.1

شیدر مدل 4.1

آرایه‌ی مکعب‌های نگاشتی (برای بازتاب محیط)

MSAA پیشرفته‌تر

رادئون HD 3000/4000

انویدیا GT 205-240 و GT 300

اینتل HD Graphics 3000/2000 (سری سندی بریج)