یکی از مزایای سایهزن حسابگر نسبت به دیگر نمونهها برای پردازش موازی این هست که یک مجموعه دستورالعمل یکپارچه را با دیگر انواع سایهزنها (مانند سایهزنهای پیکسل و سایهزنهای رأس که برای برنامهریزی گرافیک استفاده میشوند) تقسیم میکند. بنابراین اگرچه سایهزنهای حسابگر ویژگی جدید DirectX 11 هستند، اما برخی از نسخههای سایهزن میتوانند روی سختافزارهای قدیم اجرا شوند. مانند:
-سایهزن نسخه 4-پردازندههای گرافیکی مبتنی بر DirectX 10 یا پردازندههای گرافیکی جدیدتر
-سایهزن نسخه 1/4-پردازندههای گرافیکی مبتنی بر DirectX 10.1 یا پردازندههای گرافیکی جدیدتر
-سایهزن نسخه 5-فقط پردازندههای گرافیکی مبتنی بر DirectX 11
این مسئله باعث میشود تا توسعهدهندگان بتوانند بین حداکثر سازگاری (انتخاب یک سایهزن نسخه پایینتر) و سادهتر کردن پیشرفت و به حداکثر رساندن کارایی (انتخاب یک سایهزن نسخه بالاتر) انتخاب کنند.
بسیاری از شگردهای فنی و الگوریتمهای قابل توجه فقط روی پردازندههای گرافیکی مبتنی بر DirectX 11 آینده که از سایهزن نسخه پنج پشتیبانی میکند، به کار گرفته خواهند شد. در ادامه خلاصهای از برتریهای اساسی سایهزن نسخه پنج نسبت به نسخه چهار ارائه شده است.
-بهبود موازیسازی: پردازندههای گرافیکی مبتنی بر 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 میشود.
Bookmarks