متاسفانه چندنفر دراین فروم هستند که کم سواد,پرمدعا و متعصب هستند.من قصد و وقت وحوصله سر و کله زدن بااین افراد را ندارم.بیکار هم نیستم که وقتم را با نوشتن بحرطویل در فرومها بگذرانم.فقط برای آگاهی کاربران جویای حقیقت و غیرمتعصب چند نکته را یادآور می شوم:
1- خیلیها خیال می کنند که DX11 یعنی Tessellation , یا حداقل جزء مهمی از آن.این طرز فکررایج در اینترنت است ولی من اینرا قبول ندارم.اگر اینطور فکر کنیم پس باید بپذیریم که بازیهای XBOX360 هم DX11 هستند.در حقیقت GPU هایATIاز سری HD1000 ازاین تکنیک پشتیبانی می کنند.Tessellation قبل از DX11 هم وجود داشته,فقط درDx11 استاندارد شده است.
کاری کهTessellatorانجام میدهد,افزایش تعداد رئوس ومثلثها در اشیاء است که با CPU قویتر نیزقابل انجام است ونیازی به اختصاص یک واحد ویژه درGPUبرای آن نیست.ابداع کننده این تکنیک ATIبوده است.اگرچیز مهمی بود زودترازاینها مطرح می شد.آن زمان که این تکنیک ابداع شد,CPUها قدرت اکنون را نداشتندبنابراین این تکنیک تا حدودی توجیه داشت ولی با وجود CPUهای پرقدرت امروزی نه.
البته Nvidia چون تکنولوژی ساخت CPUرا نداره,مجبوره روی GPUمانور بده.بنابراین سعی می کنه که بار پردازشی رو ازCPUبهGPU انتقال بده که نتیجه این میشه یه CPUچهارهسته ای ,سه هسته اش بیکاره ولی GPUصددرصد زیر بار و فریم ریت هم پایین.
کلا می خواهم اینرا بگویم که انتظار معجزه از Tessellation نداشته باشید.یه مقدارتبلیغات می کنند وکارت گرافیک می فروشند بعد هم مردم کم کم بزرگ می شوند ویادشان می رود!
2- حال که تکلیف Tessellationمشخص شد,این پرسش پیش می آید که چه چیزی DX11 را از بقیه متمایز می کند؟پاسخ درDirectCompute یا Compute Shader نهفته است.
برای درک بهتر مطلب به شکل زیر توجه نمایید:
در این شکل دو بخش اصلی دیده می شود:
Graphics Engine=GE
Shader Engine=SE
تفاوت ایندودراین است که اولی Fixed Function است(یعنی یکسری توابع گرافیکی بطور ثابت وغیرقابل تغییردرسخت افزارقرارگرفته است)ولی دومی برنامه پذیراست.یعنی برنامه نویسان می توانند توابع گرافیکی جدیدی برای GPU تعریف نمایندویااصلا برای پردازشهای غیرگرافیکی مثل فیزیک -Ray tracing-و... استفاده نمایند.کلا هر جا واژه Shaderبگوشتان خورد,بدانیدبابخش برنامه پذیرGPUطرف هستید.
تفاوت جی فورس ورادئون در همین جاست.جی فورس GE قویتری دارددرحالیکه SE دررادئون قویتراست.
هدف طراحان رادئون از زمان HD2000 تاحالا, طراحی یک GPU با بیشترین قابلیت برنامه پذیری برای کاربردهای گرافیکی وغیرگرافیکی بود.بنابراین GE را مختصرومفید طراحی نمودند ولی در عوض تا توانستندبر قدرت SEافزودندو حتی یکسری از توابع گرافیکی راازGEبهSE انتقال دادند مثلAA
نتیجه اینکه امروز ما6970 راداریم با2.7ترافلاپ توان پردازش یعنی تقریبا دوبرابر 580 با1.5ترافلاپ.
با نرم افزار درست ,6970 قویتر از 580 است.نمونه اش این برنامه که یه جورRay Tracer با استفاده از OpenCL است:
البته دراینجا این سئوال پیش می آید که پس چرا دربنچمارکهااین برتری دیده نمی شود.پاسخ درعدم استفاده جدی از SEواتکا به توابع گرافیکی قدیمی قرارگرفته درGEاست.
می توانید3DMARK11 رابه عنوان الگویی برای بازیهای DX11آینده درنظربگیرید.البته این فقط آغازراه است.
پس بطور خلاصه اهمیت DX11 درارائه روشی استاندارد برای GPGPU است که مبحثی بسیار فراترازبازیهای کامپیوتری است.
هدف من ازنوشتن این مطلب نشاندادن نیمه پر لیوان بود.چون نیمه خالی را دیگران نشان دادند.