مایکروسافت سایهزنی با نرخ متغیر را به DirectX 12 میآورد
مایکروسافت فناوری سایهزنی با نرخ متغیر (Variable Rate Shading) را به DirectX 12 وارد کرده است. بدین ترتیب توسعهدهندگان با اتکا بر این نوع سایهزنی قادر خواهند بود سطح عملکرد در محیطهای گرافیکی نظیر بازیها را بهبود ببخشند، کیفیت بصری بازی را افزایش داده و منابع مورد نیاز سیستم برای اجرای بازی را کاهش دهند.
مایکروسافت از توسعهدهندهی بازیهای ویدئویی Firaxis خواسته است که این نوع سایهزنی را در یکی از بازیهای خود پیادهسازی کند تا نشان دهد که کاربرد روش VRS تا چه اندازه ساده و تأثیر آن برعملکرد عناوین مختلف تا چه اندازه چشمگیر خواهد بود. در قسمت سمت چپ تصویر زیر، تأثیر VRS در عمل دیده میشود. گرچه دو سمت تصویر یکسان به نظر میرسد، بنا به گزارش Firaxis در نقشهی زیر و در چنین سطحی از بزرگنمایی، با اعمال VRS شاهد ۱۴ درصد افزایش در خروجی فریم خواهیم بود.
البته باید به سطح عملکرد گزارش شده توسط Firaxis با جانب احتیاط نگریست. ما از شرایط انجام آزمایش بیخبریم، قابلیت VRS را هنوز نیازمودهایم و حتی ممکن است تصاویر و آمار منتشرشده راهی برای تبلیغ فناوری گرافیکی جدید مایکروسافت باشد. بنابراین قضاوت در مورد میزان تأثیر سایهزنی با توان متغیر را باید به زمانی پس از آزمایش عمومی این قابلیت موکول کرد.
در هر صورت، فناوری «سایهزنی با نرخ متغیر» مایکروسافت در دسترس توسعهدهندگان قرار دارد و بسیاری از شرکتهای صاحبنام قصد استفاده از آن را در محصولات بعدی خود دارند. توسعهدهندگانی مانند 343 Industries، شرکت Playground Games و Massive Entertainment در کنار ناشرانی مثل Ubisoft و Activision و سازندگان موتورهای بازی نظیر Unity و Epic Games در فهرست شرکتهایی قرار دارند که بناست از این قابلیت در عناوین آیندهی خود استفاده کنند.
طرز کار فناوری VRS
همانطور که از نام «سایهزنی با نرخ متغیر» پیدا است، در این روش بهجای تمرکز بر رندر شیدرها با رزولوشن و جزییات یکسان (که مفهومی متمایز از رزولوشن کلی است)، توان سایهزنی (قدرت پردازشی یا به عبارتی نرخ کلاک هستههای سایهزن) متغیری را در ترسیم بافتهای گرافیکی بخشهای مختلف هر فریم میتوان بهکار گرفت. این فناوری با تغییر تعداد پیکسلهایی کار میکند که در یک عملیات سایهزنی پیکسل واحد پردازشپذیر هستند.
براساس اعلام مایکروسافت، توسعهدهندگان میتوانند بهصورت گزینشی توان سایهزنی را در مناطقی از فریم که تأثیر چندانی بر کیفیت بصری نداشته باشد، کاهش دهند و حداکثر قدرت واحدهای سایهزن را معطوف به مناطقی کنند که جزئیات تصویری بالاتری در آنها موردنیاز است. بنابراین توسعهدهندگان خواهند توانست در مناطقی که در آن شیدرها اهمیت بیشتری دارند، توان سایهزنی را افزایش دهند تا کیفیت تصویر بهتری در خروجی بازیهای خود دریافت کنند.
در پایان سطح عملکرد بالاتر و کیفیت تصویری بهتری را میتوان به دست آورد؛ درحالیکه منابع سختافزاری مورد نیاز کمتری برای اجرای بهتر بازیها نسبت به قبل لازم خواهد شد. API سایهزنی با نرخ متغیر به توسعهدهندگان اجازه خواهد داد توان سایهزنی را به سه روش تنظیم کنند: روشهای per-draw، روش within-draw با استفاده از یک تصویر screenspace و روش within-draw به حالت per-primitive. همچنین دو ردهی پشتیبانی از VRS وجود دارد. در ردهی نخست از VRS در حالت per-draw و در ردهی دوم از VRS هم در حالت per-draw و هم در حالت within-draw پشتیبانی میشود. همچنین حالت ترکیبی سایهزنی با توان متغیر (VRS Combiners) پیشبینی شده است که امکان استفادهی همزمان از VRS به روش per-draw و per-permitive را ممکن میسازد.
براساس ادعای مایکروسافت، قابلیت سایهزنی با نرخ متغیر با سختافزارهای موجود شرکت انویدیا برخوردار از معماری تورینگ و نیز سختافزارهایی که در آینده توسط اینتل ارائه خواهد شد، پشتیبانی میشود. اینتل هماکنون در حال آزمایش سایهزنی با نرخ متغیر روی تراشههای اولیهی گرافیکی نسل ۱۱ خود است که برنامهریزی برای عرضهی آنها در سال جاری وجود دارد. احتمالا پردازندههای گرافیکی مجزای اینتل (نسخههای دسکتاپ آینده) نیز از این فناوری گرافیکی پشتیبانی کند.