نگاهی به قابلییت های Directx 11
رقابت سخت بین NVIDIA و ATi
در هفتههای اخیر شایعهای مبنی بر عرضه همزمان ویندوز هفت شرکت مایکروسافت که قرار است در ماه اکتبر سال جاری عرضه شود و کارتهای گرافیکی مبتنی بر DirectX 11 در بیشتر رسانهها و وبسایتهای سختافزاری پخش شده است. شرکت AMD قصد دارد نسل بعدی کارتهای گرافیکی خود را مبتنی بر DirectX 11 عرضه کند و زمان معرفی آنها را نیز همزمان با عرضه ویندوز هفت شرکت مایکروسافت اعلام کرده است.
برخی از کارشناسان در مورد اهمیت DirectX 11 در اینترنت توضیحاتی ارائه کردهاند. آنها نسبت به اینکه شرکت NVIDIA سعی دارد افکار عمومی را نسبت به اهمیت DirectX 11 منحرف کند، هشدار دادهاند. شرکت NVIDIA ادعا میکند که بازیهای مبتنی بر این نسخه از API شرکت مایکروسافت تا اواخر سال آینده نیز معرفی نخواهند شد. بنابراین اکنون بسیار زود است که کارتهای گرافیکی مبتنی بر این API عرضه شود. شرکت AMD نیز در بخش بازاریابی برای مبارزه با شایعات پخش شده توسط شرکت NVIDIA، راهنمایی تهیه کرده و اهمیت DirectX 11 را همراه با دلایل مشخص ارائه کرده است. موارد زیر برخی از دلایل برتری DirectX 11 نسبت به نسخه قبل است:
-بهبود موازیسازی
-بهبود دقت و پردازش عدد صحیح
-پیوستگی محکم بین سایهزنها و خط لولههای پردازش
-بهبود سهولت در برنامهنویسی و استفاده مؤثر از حافظه
بسیاری از ویژگیهای محاسباتی DirectX 11 خیلی فنی و مربوط به برنامهنویسی هستند، بنابراین AMD با انتشار این راهنما درک عمومی از این ویژگیها و اهمیت آنها در کاربردهای مختلف را مشخص کرده است. در ادامه قصد داریم در مورد راهنمای شرکت AMD توضیحاتی داده و اهمیت این نسخه از DirectX را برای شما نیز مشخص کنیم.
محاسبات DirectX 11
DirectX 11 آخرین نسخه استاندارد رابط برنامهریزی از شرکت مایکروسافت است که امکان دسترسی به تواناییهای پیشرفته نسل بعدی پردازندههای گرافیکی را فراهم میکند. DirectX 11 یکی از ویژگیهای اصلی سیستمعامل ویندوز هفت است و مایکروسافت قصد دارد در آینده توسط یک بهروزرسانی نرمافزاری آن را برای ویندوز ویستا نیز فراهم کند.
یکی از ویژگیهای اصلی و جدید DirectX 11 پشتیبانی از حسابگر DirectX است که توسعهدهندگان را قادر میسازد تا از قدرت پردازش موازی پردازندههای گرافیکی امروزی استفاده کنند. این ویژگی به توسعهدهندگان برنامههای کاربردی اجازه میدهد تا محدوده وسیعتری از برنامههای خود را مبتنی بر پردازش پردازنده گرافیکی فراهم کنند. پیشتر بیشتر این برنامهها تنها توسط پردازندهها قابل اجرا بودند، اما اکنون با DirectX 11 توسعهدهندگان میتوانند برنامههای خود را مبتنی بر قابلیتهای پردازشی پردازندههای گرافیکی بنویسند تا آنها با سرعت بیشتری توسط پردازندههای گرافیکی اجرا شوند (به عبارت سادهتر، DirectX 11 برای تکنیکهای GPGPU بهبود یافته است). برای این منظور، توسعهدهندگان باید به برنامهای که سایهزن حسابگر نامیده میشود و تنها روی پردازنده گرافیکی قابل اجرا است، دسترسی پیدا کنند. بنابراین آنها میتوانند از شگردهای فنی گرافیکی جدید مانند Independent Transparency (شفافیت مستقل)، Ray Tracing و اثرات Post-Processing پیشرفته یا تنوع وسیعی از برنامههای کاربردی غیرگرافیکی مانند هوش مصنوعی، شبیهسازی فیزیک بازیها، Upscaling ویدئویی و Transcoding ویدیویی استفاده کنند.
پردازندههای گرافیکی امروزی (GPU) قدرت پردازش بیشتری نسبت به پردازندههای امروزی (CPU) از نظر قیمت یا قدرت دارند. با این وجود، پردازندههای گرافیکی نیز مانند پردازندههایی که برای کاربردهای مشخص طراحی میشوند، فاقد انعطافپذیری موجود در پردازندههای معمولی هستند. اما بیشتر پردازندههای گرافیکی اخیر دارای ویژگیهای طراحی جدیدی هستند که موجب انعطافپذیری بیشتر در آنها شده است. در نتیجه در رقابت بین پردازندههای معمولی و پردازندههای گرافیکی به تدریج پردازندههای گرافیکی، برنده رقابت میشوند. مزیت دیگر حسابگر DirectX این است که میتواند با پردازندههای گرافیکی که دارای معماریهای متفاوت و قابلیتهای مختلف هستند، کار کند. در حقیقت، رابط برنامهریزی DirectX 11 به وسیله مجموعهای از پروفایلها که نسخههای سایهزن (Shader Models) نامیده میشود، موجب این سازگاری میشود. هر یک از نسخههای سایهزن شامل مجموعه کاملی از ویژگیهای نسخههای پایینتر هستند.
یکی از مزایای سایهزن حسابگر نسبت به دیگر نمونهها برای پردازش موازی این هست که یک مجموعه دستورالعمل یکپارچه را با دیگر انواع سایهزنها (مانند سایهزنهای پیکسل و سایهزنهای رأس که برای برنامهریزی گرافیک استفاده میشوند) تقسیم میکند. بنابراین اگرچه سایهزنهای حسابگر ویژگی جدید DirectX 11 هستند، اما برخی از نسخههای سایهزن میتوانند روی سختافزارهای قدیم اجرا شوند. مانند:
-سایهزن نسخه 4-پردازندههای گرافیکی مبتنی بر DirectX 10 یا پردازندههای گرافیکی جدیدتر
-سایهزن نسخه 1/4-پردازندههای گرافیکی مبتنی بر DirectX 10.1 یا پردازندههای گرافیکی جدیدتر
-سایهزن نسخه 5-فقط پردازندههای گرافیکی مبتنی بر DirectX 11
این مسئله باعث میشود تا توسعهدهندگان بتوانند بین حداکثر سازگاری (انتخاب یک سایهزن نسخه پایینتر) و سادهتر کردن پیشرفت و به حداکثر رساندن کارایی (انتخاب یک سایهزن نسخه بالاتر) انتخاب کنند.
بسیاری از شگردهای فنی و الگوریتمهای قابل توجه فقط روی پردازندههای گرافیکی مبتنی بر DirectX 11 آینده که از سایهزن نسخه پنج پشتیبانی میکند، به کار گرفته خواهند شد. در ادامه خلاصهای از برتریهای اساسی سایهزن نسخه پنج نسبت به نسخه چهار ارائه شده است.
1-بهبود موازیسازی: پردازندههای گرافیکی مبتنی بر DirectX 11 توسط ویژگیهایی که در ادامه به آنها اشاره میشود، توانایی برنامهنویسان برای استفاده از ویژگی موازیسازی را بهطور وسیعی افزایش میدهند.
-اندازه گروه Thread و ارسال Threadهای سهبعدی افزایش یافته است.
یک گروه Thread، مجموعهای از Threadها است که با هم عمل میکنند تا یک الگوریتم موازی داده بهطور مؤثر اجرا شود. پردازندههای گرافیکی مبتنی بر DirectX 11 دسترسی به حافظه را بهطور مؤثر به وسیله اجازه دادن به تبادل اطلاعات بین Threadهای درون یک گروه، بهبود میبخشند. از این رو، الگوریتمهای موازی در زمان کمتری اجرا میشوند. این ویژگی علاوه بر افزایش سرعت پردازش، موجب بهبود توان به وسیله کار کردن با توان عملیاتی بالاتر با دسترسی کمتر به چیپست حافظه نیز میشود. سایهزن نسخه پنج از گروههای Thread انعطافپذیرتر و بزرگتر با فهرستسازی سهبعدی پشتیبانی میکند که این موضوع امکان میدهد تا برنامهنویسان با کنترل حوزهای مشخص، الگوریتم خود را بهبود بخشند.
پشتیبانی از عملیات هستهای (Atomic Operation). یکی از ویژگیهای برجسته پردازندهها است که برنامهنویسان خواستار اجرای آن روی پردازندههای گرافیکی بودهاند. عملیات هستهای بهطور مؤثرتر و دقیقتر موجب ترکیب عملیاتی میشوند که سعی در اصلاح آدرسهای حافظه یکسان دارند. پردازندههای گرافیکی میتوانند هزاران Thread یا گروهی از Threadها را بهطور موازی اجرا کنند و اگر دو یا تعداد بیشتری از این Threadها سعی به دستکاری متغیرهای یکسان یا دستیابی به محل حافظه یکسان داشته باشند، عملیات هسته میتواند نتیجهگیری کند که دادهها صحیح نیستند. بدون عملیات هستهای، برنامهنویسان باید الگوریتمهای خود را برای اجتناب از این وضعیتها تغییر دهند. در غیر این صورت، متغیرها یا محلهای حافظه را مرتب کنند که این موضوع موجب میشود تا بسیاری از مزایای کارایی پردازش موازی و کنترل وضعیتها بهطور مناسبی حذف شوند.
-Grather4. پردازندههای گرافیکی امروزی از بلوکهای سختافزاری اختصاصی استفاده میکنند که بهعنوان واحدهای بافت شناخته میشوند. واحدهای بافت، دادهها را به سرعت به هستههای پردازشی پردازندههای گرافیکی ارسال میکنند. این واحدها برای پردازش گرافیکی بهینه شدهاند، بهطوری که شگردهای فنی شبیه Bilinear Filtering که بهعنوان مثال برای بهبود کیفیت تصویر استفاده میشود، از این واحدها استفاده میکنند. سایهزنهای حسابگر اغلب از این واحدها برای واکشی دادهها استفاده کرده و بهطور کلی از قابلیتهای ف ی ل ت رینگ این سایهزنها استفاده نمیکنند. پردازندههای گرافیکی با سایهزن نسخه پنج این توانایی را دارند که از قابلیت واکشی اضافه با عملکرد Grather4 استفاده کنند که میتواند بهطور همزمان چهار مقدار را واکشی کند و پهنای باند را به میزان چهار برابر افزایش دهد.
2-بهبود دقت و پردازش عدد صحیح : DirectX 11 قادر است از دقت عملکرد نقاط شناور به میزان دو برابر (64 بیت) روی پردازندههای گرافیکی مطابق با استاندارد IEEE-754 پشتیبانی کند. تا پیش از معرفی DirectX 11 این سطح از دقت تنها روی پردازندهها پشتیبانی میشد و در پردازندههای گرافیکی این دقت عملکرد به 32 بیت محدود بود. در حالیکه این دقت برای بیشتر برنامههای کاربردی گرافیکی کافی است، اما میتواند برای برخی از شبیهسازها یا وظایف محاسباتی که نیازمند تعداد زیادی تکرار روی یک داده یا کار روی مقادیر خیلی بزرگ یا خیلی کوچک هستند، کافی نباشد. سایهزن نسخه پنج همچنین عملیات دستکاری بیت و عدد صحیح جدیدی را مانند شمردن مجموعه بیتها، پیدا کردن اولین بیت، درج/اقتباس کردن حوزههای بیت، معکوس کردن بیتها و عملیات تغییر مکان بیت جدید اضافه کرده است. برنامههای کاربردی مانند پردازش ویدئویی و رمزنویسی از عملیاتی شبیه به موارد فوق در همه جا استفاده میکنند. بنابراین این ویژگی موجب بهبود کارایی پردازندههای گرافیکی مبتنی بر DirectX 11 میشود.
3-پیوستگی محکم بین سایهزنها و خط لولههای رندرینگ: اگر چه سایهزنهای حسابگر با وظایف غیرگرافیکی سروکار دارند، اما از آنها میتوان اغلب برای افزایش کارایی یا ارتباط با یک خط لوله پردازش برای تأثیر روی آنچه به صفحهنمایش ارسال میشود، استفاده کرد. بهعنوان مثال، برای وظایف شبیهسازی، شبیه فیزیک بازیها یا هوش مصنوعی که میتواند حرکات و رفتار اشیاء را کنترل کند و کاراکترها را روی صفحهنمایش تکان دهد، فناوری مرتبسازی، شبیه آرایش شفافیت مستقل که پردازش تعداد وسیعی از اشیا را بهبود میبخشد و اثرات پس پردازشی، شبیه نقشهگذاری و عمق میدان که میتواند ف ی ل ت رهای مختلفی را برای اصلاح و بالابردن کیفیت یک تصویر بعد از آنکه پردازش آن به پایان رسید، به کار گیرد. سایهزن حسابگر DirectX 11 یک مجموعه دستورالعملعمومی را با دیگر انواع سایهزن DirectX 11 که برای پردازش استفاده میشود، تقسیم میکند (شامل رأس، قشر، قلمرو، ژئومتری و سایهزن پیکسل) و میتواند ساختار دادهها را برای اجرا کردن این شگردهای فنی در روشهای خیلی کاربردیتر و مؤثرتر به اشتراک بگذارد.
-بهبود سهولت در برنامهنویسی و استفاده مؤثر از حافظه: یک سختافزار قدرتمند زمانی ارزش پیدا میکند که نرمافزارها بتوانند از قابلیتهای آن استفاده کنند. بهعنوان یک زبان محاسباتی، سایهزن نسخه پنج پیشرفتهای قابل توجهی را فراهم کرده که توانایی برنامهنویسان را نسبت به برنامهها و الگوریتمها برای پردازندههای گرافیکی که سابقاً غیرعملی یا غیرممکن بود، افزایش میدهد. سایهزن نسخه پنج دارای تعدادی ویژگی مهم است که مشکلات محاسباتی روی پردازنده گرافیکی را برطرف میکند. این ویژگیها شامل:
-افزایش حافظه اشتراکی با بهبود دسترسی: یکی از ویژگیهای مهم سایهزن حسابگر DirectX 11 پشتیبانی از حافظه اشتراکی است که اجازه ارتباط بین Threadها را میدهد. سایهزن نسخه پنج مقدار حافظه اشتراکی قابل دسترس برای یک گروه Thread را به میزان دو برابر افزایش داده و از شانزده کیلوبایت به 32 کیلوبایت رسانده است. در مجموع حافظه اشتراکی بیشتر به پردازندههای گرافیکی مبتنی بر DirectX 11 اجازه میدهد تا فعالیتهای خواندن و نوشتن به این حافظه را مرتب کند، در صورتی که پردازندههای گرافیکی قدیمیتر که مبتنی بر DirectX 10 و DirectX 10.1 بودند در دسترسی به نوشتههای اختصاصی و خواندنهای اشتراکی محدودیت داشتند. سایهزن حسابگر اجازه میدهد Threadها بهطور مستقیم از/به حافظه اشتراکی خوانده/نوشته شده و همچنین کدهای پردازنده را ساده میکند تا روی پردازنده گرافیکی اجرا شوند. ترکیب گروههای Thread بزرگتر و حافظه اشتراکی بیشتر موجب میشود تا تعداد دسترسی به حافظه غیرمحلی که برای برخی از الگوریتمها نیاز است، بهطور وسیعی کاهش یابد که این موضوع موجب کاهش نیاز به پهنای باند حافظه و در نتیجه افزایش کارایی میشود.
-بافرهای مصرفی/ الحاقی: سایهزن نسخه پنج از بافرهای داده جدید که شبیه به یک انبار یا یک فهرست هستند، پشتیبانی میکند. مقادیر داده جدید در زمان تولید در انتهای این فهرست نوشته یا در زمان درخواست از انتهای آن خوانده میشوند. این موضوع برای اجرا کردن دادهها به صورت غیرترتیبی مفید است. اجرای غیرترتیبی دادهها نیازمند دادههای متفاوت برای هر یک از عناصر یا برای تکنیکهای سازگاری شبیه فشردگی جریان است که مقادیر متغیر پردازشی برای هر یک از عناصر انجام میگیرد. بافر الحاقی اجازه میدهد این فرآیندها در یک مرحله روی دادهها اجرا شوند، در عوض به چند مرحله نیاز است که البته سیکلهای محاسبه و پهنای باند حافظه بیشتری را مصرف میکنند.
-نظریههای دسترسی مرتب (UAV): UAV بافری است که اجازه میدهد دادهها با یک ترتیب مشخص «نوشته شوند به» یا «خوانده شوند از» محلهای اختیاری. این عملیات بهعنوان عملیات جمعکننده/پخشکننده نیز شناخته میشود و انعطافپذیری بسیار بالایی را که در پردازندههای گرافیکی قدیمی قابل دسترس نبود، فراهم میکنند. DirectX 11 این انعطافپذیری را از آنچه که با پردازندههای گرافیکی مبتنی بر DirectX 10 امکانپذیر بود، توسعه داده و به سایهزنهای حسابگر اجازه داده تا به حداکثر هشت UAV مختلف بهطور همزمان به جای یک UAV در DirectX 10 دسترسی پیدا کنند. رابط برنامه نویسی DirectX 11 اجازه میدهد تا این UAVها به وسیله سایهزن پیکسل قابل دسترس باشند که اطلاعات آسانتر بین سایهزن حسابگر و خط لوله پردازش تقسیم شود.
-Compute Dispatch غیرمستقیم: این ویژگی باعث میشود نسل جدیدی از بار کاری به وسیله سایهزن حسابگر انجام شود، بدون آنکه پردازنده دخالتی داشته باشد. این موضوع سبب میشود تا پردازنده کمتر زیر بار قرار گیرد و زمان پردازش بیشتری را برای وظایف دیگر داشته باشد.
در تصویر زیر کارت HD 5890 را می بینید که از دایرکس 11 پشتیبانی می کند:
مطالب مشابه :
برسی کامل DirectX 11
همچنین دو الگوریتم جدید برای متراکم کردن و زیرا کارت های گرافیک ارزان قیمتی مانند 5450 و
کارت گرافیکی
جایگاه کارت گرافیک. تولید کنندگان کارت ها و تراشه های ( Chip set ) گرافیک ، سخت افزار خود را هر شش
نگاهی به قابلییت های Directx 11
nvidia کارت های گرافیکی - معرفی کارت های گرافیک انویدیا و سخت افزار
اولین کارت اعتباری بیتکوین جهان در راه است
آموزش.گرافیک.دانلود.برنامه نویسی - اولین کارت اعتباری بیتکوین جهان در راه است - hsbteam
دانلود رایگان پروژه درس سخت افزار 2
از جمله این الگوریتم ها می توان به آنهایی که برای پرسپکتیو و یا کارت گرافیک خود را
تشخیص کارت گرافیک نصب شده و مقدار حافظه کارت گرافیک
مشـــق شـــب - تشخیص کارت گرافیک نصب شده و مقدار حافظه کارت گرافیک کتابهای طراحی الگوریتم.
پردازنده Corei 7 اینتل
nvidia کارت های گرافیکی - معرفی کارت های گرافیک انویدیا و سخت افزار
جدیدترین درایو کارت گرافیک از شرکت NVIDIA
دانلود رایگان نرم افزار - جدیدترین درایو کارت گرافیک از شرکت nvidia -
برچسب :
الگوریتم کارت گرافیک