فناوری Variable Rate Shading چیست؟ فناوری نرخ شیدینگ متغیر چیست؟ نرخ شیدینگ متغیر یا Variable Rate Shading که به صورت مخفف با نام VRS نیز شناخته میشود، یک فناوری جدید در دنیای رندرینگ است که به تازگی راه خود را درون دنیای بازیهای ویدیویی و به صورت کلی، دنیای رندرینگ باز کرده است. اما فناوری نرخ شیدینگ متغیر دقیقاً چیست و استفاده از آن چه منفعتی برای بازیسازان و اهالی فن دارد؟
نرخ شیدینگ متغیر چیست؟
Variable Rate Shading یا نرخ شیدینگ متغیر یک تکنیک رندرینگ جدید است که توسط کارت گرافیکهای شرکت انویدیا (سری RTX 20 و RTX 30 و GTX 16)، کارت گرافیکهای شرکت AMD (سری RX 6000) و پردازندههای نسل یازدهم شرکت اینتل پشتیبانی میشود.
هدف استفاده از VRS، افزایش و بهبود کلی عملکرد است. VRS در واقع به پردازنده گرافیکی اجازه میدهد که قدرت پردازشی خود را در یک فریم از بازی تغییر داده و بخشهایی از آن فریم را با قدرت کمتر یا بیشتری رندر کند.
با استفاده از VRS، یک پردازنده گرافیکی میتواند تمام قدرت شیدینگ خود را برای بخشهای پیچیدهتر و نمایانتر تصویر به کار بگیرد و در آن طرف برای بخشهای سادهتر و حاشیهای تصویر (نقاطی که کاربر معمولاً در طول بازی به آن نگاه نمیکند)، قدرت پردازشی کمتری صرف شود.
نرخ شیدینگ متغیر در بازیها و نرم افزارهای مختلفی که از آن پشتیبانی کنند، قابل استفاده است و به دلیل ذات و ماهیت خود، تقاضا و بار سخت افزاری و پردازشی را تا حدودی از روی دوش پردازنده گرافیکی برمیدارد. همین موضوع باعث بهبود عملکرد و افزایش نرخ فریم در بازیهای ویدیویی و نرم افزارهای مختلف میشود.
شما میتوانید در ویدیوی زیر مشاهده کنید که نرخ شیدینگ متغیر چگونه در زمینههای عملکرد و جلوههای بصری، روی تصویر، محتوا و بازی شما اثر میگذارد:
نمایشگر ویدیو
اما پیش از این که دقیقتر و تخصصیتر درباره فناوری نرخ شیدینگ متغیر صحبت کنیم، بیایید به شکل کوتاه و خلاصه از مفاهیم پایهای سخن بگوییم. با این که هدف اصلی این مطلب، توضیح و توصیف فناوری نرخ شیدینگ متغیر است اما شاید بسیاری از افراد هنوز به صورت دقیق معنی مفاهیم پایهای مانند شیدر (Shader) یا شیدینگ را ندانند.
به سادهترین شکل ممکن میتوان گفت که در گرافیک کامپیوتری، شیدر یک نوع برنامه است که برای سایهزنی در صحنهها و محیطهای سه بعدی استفاده میشود. با استفاده از شیدر، سطح و میزان روشنایی، تاریکی و رنگ یک صحنه یا یک مدل سه بعدی تعیین میگردد. زمانی که در یک بازی یا یک ویدیو از شیدر برای تغییر رنگ یا تغییر میزان روشنایی و تاریکی صحنهها استفاده شود، به این عمل شیدینگ میگویند
نرخ شیدینگ متغیر چگونه کار میکند؟
GPU یا پردازندههای گرافیکی یک جزء مهم دارند که پیکسل شیدر (Pixel Shaders) نامیده میشود و هر کدام از این پیکسل شیدرها وظیفه دارند تا خصوصیات بصری خود را به تصویر دیکته کنند. جزئیات بیشتر برای این پیکسلها، طبیعتاً قدرت گرافیکی بیشتری را از این بخش طلب میکند و برعکس، جزئیات کمتر برای هر پیکسل، تقاضای گرافیکی را کاهش میدهد.
VRS در واقع تعداد پیکسلهایی که یک پیکسل شیدر با آنها سر و کار دارد را تغییر میدهد. نتیجه کار؟ هر عملیات پیکسل شیدر، روی تمام منطقه پیکسلها اعمال و پیاده سازی میشود (اگر بخواهیم دقیق باشیم، یک منطقه پیکسل ۱۶×۱۶).
این بدان معنی است که توسعه دهندگان میتوانند شفافیت و کیفیت بصری را در مناطق و نقاط مناسبی از صفحه کاهش دهند تا به صورت کلی تقاضای گرافیکی و سخت افزاری از پردازنده گرافیکی یک سیستم (کنسول یا PC) کمتر شود. این کار باعث میشود نرخ فریم و عملکرد افزایش پیدا کرده و بهبود یابد تا پردازندههای گرافیکی ضعیفتر و ارزانقیمتتر بتوانند بازی ویدیویی یا محتوای مورد نظر را با عملکرد بهتری به اجرا دربیاورند.
فناوری VRS همچنین زمانی که از سیستم خود برای تجربه بازیهای واقعیت مجازی (VR) استفاده میکنید، مفید و به درد بخور ظاهر میشود. زمانی که با هدست واقعیت مجازی در حال تجربه عناوین VR هستید، به جای رندر کردن پیکسلهایی که در حالت VR اصلاً به چشم نمیآیند، توسعه دهندگان میتوانند از VRS برای تغییر نرخ شیدینگ استفاده کرده و تنها روی رندر نواحی و مناطقی که داخل صفحه نمایش هدست واقعیت مجازی نمایش داده میشود، تمرکز نمایند.
VRS توسط موتورها و APIها پشتیبانی میشود
فناوری نرخ شیدینگ متغیر توسط موتورهای گرافیکی و API (رابط برنامهنویسی اپلیکیشن)های مختلف پشتیبانی و شناخته میشود. به عنوان مثال، DirectX 12 (گروهی از APIهای مایکروسافت که ارتباط قطعهها و بخشهای مختلف سخت افزاری را برای رندر کردن گرافیک دو بعدی، سه بعدی، رندر کردن ویدیو و پخش صدا فراهم میسازد) از VRS پشتیبانی میکند.
همچنین APIهای قدیمیتری مانند OpenGL ،DirectX 11 و Vulkan نیز قابلیت پشتیبانی از نرخ شیدینگ متغیر را دارند. طبق اطلاعات شرکت انویدیا، VRS به صورت ادغام شده با موتورهای آنریل (Unreal Engine) و یونیتی (Unity) نیز کار میکند.
نرخ شیدینگ متغیر برای کنسولها
امکان پشتیبانی از فناوری نرخ شیدینگ متغیر برای کنسولهای نسل نهمی پلی استیشن ۵ و ایکس باکس سری ایکس (سری اس) نیز وجود داشته و استفاده از آنها به تلاش و اقدام سازندگان و توسعه دهندگان بستگی دارد. استفاده از VRS در کنسولها با توجه به سخت افزار بسته آنها میتواند راه هوشمندانه و فوقالعادهای برای کاهش تقاضای گرافیکی بازیهای ویدیویی در نظر گرفته شود.
هدف VRS به صورت کلی این است که بازیهای ویدیویی را با وجود تقاضای کمتر، بهتر و زیباتر به تصویر بکشد. به این دلیل که کاهش نرخ شیدینگ در نقاط و نواحی حاشیهای صحنه باعث میشود تا فضا برای بالا بردن رزولوشن اجرایی بازی بیشتر شود و نقاط مورد تمرکز که حواس گیمر را بیشتر به خود جلب میکند، بهتر و با کیفیتتر به نظر برسند.
مایکروسافت درباره VRS چه میگوید؟
توضیحات شرکت مایکروسافت درباره فناوری و مفهوم نرخ شیدینگ متغیر که به مناسبت پشتیبانی کنسولهای نسل نهمی این شرکت از VRS منتشر شده را در زیر مطالعه کنید. این توضیحات حتی میتواند درک ما از Variable Rate Shading را بهتر کند.
برای هر پیکسل موجود در صفحه، شیدرها برای محاسبه و تعیین کردن رنگ آن پیکسل فراخوانده میشوند. نرخ شیدینگ به رزولوشنی که برای هر کدام از این شیدرها تعیین میگردد، گفته میشود که با رزولوشن اجرایی تصویر متفاوت است.
نرخ شیدینگ بالاتر به معنای شفافیت و کیفیت بصری بهتر است اما تقاضای بیشتری نیز از GPU طلب میکند. نرخ شیدینگ کمتر معنی برعکسی دارد؛ شفافیت و کیفیت بصری پایینتر و تقاضای GPU کمتر.
به صورت سنتی و قدیمی، زمانی که توسعه دهندگان نرخ شیدینگ یک بازی را تعیین میکنند، این نرخ شیدینگ روی تمام پیکسلهای داخل یک فریم اعمال میشود. با این حال یک مشکل در این روش قدیمی وجود دارد؛ تمام پیکسلها به شکل برابر خلق نمیشوند.
VRS به توسعه دهندگان اجازه میدهد تا به صورت انتخابی نرخ شیدینگ را در مناطقی از فریم که از نظر بصری روی کیفیت نهایی تصویر تأثیر نمیگذارد، کاهش دهند.
با انجام این کار، عملکرد در بازیها افزایش پیدا میکند. این واقعاً هیجان انگیز است چرا که عملکرد بیشتر به معنی نرخ فریم بالاتر و تقاضای سخت افزاری کمتر خواهد بود و به کاربران اجازه میدهد بازیها را بهتر از هر زمان دیگری اجرا نمایند.
به شرطی که سازندگان اقدام کنند!
در این مطلب از ویژگیها و منافعی که فناوری نرخ شیدینگ متغیر میتواند برای اجرای بازیهای ویدیویی روی تمام سیستمها و پلتفرمها به ارمغان میآورد صحبت کردیم اما تمام این بهبودها در نرخ فریم و کیفیت بصری بازیها به شرطی است که سازندگان برای استفاده از VRS در بازیهایشان بهره بگیرند. هماکنون استودیوهای بازیسازی زیادی استفاده از VRS را در برنامههای کاری خود قرار نمیدهند اما خبر خوب این است که میتوانیم به آینده امیدوار باشیم.
تاکنون شرکتها و استودیوهایی مانند اکتیویژن (Activision)، یوبیسافت (Ubisoft)، ۳۴۳ اینداستریز، Turn 10 و پلیگراند گیمز (PlayGround Games) از جمله تیمها و مجموعههایی محسوب میشوند که به استفاده کردن و بهره گرفتن فناوری VRS علاقه نشان داده و پشتیبانی از آن را در بازیها و موتورهای گرافیکی خود ایجاد کردهاند.
نرخ شیدینگ متغیر یا Variable Rate Shading پتانسیل این را دارد که به یک فناوری فوقالعاده کاربردی و مفید تبدیل شود. امیدواریم در آینده با استفاده بیشتر و هوشمندانهتر از این فناوری، شاهد افزایش چشمگیر کیفیت بصری و ظاهری بازیها و البته پایین آمدن میزان تقاضای سخت افزاری آنها باشیم.
نظر شما در مورد نرخ شیدینگ متغیر چیست؟ آیا با توضیحات ارائه شده در این مطلب، درک و دانش خوبی از این فناوری کسب کردید؟ تأثیر VRS را در بازیهای ویدیویی و به صورت کلی، دنیای رندرینگ چگونه ارزیابی میکنید؟ نظرات خوب خود را با ما به اشتراک بگذارید.