مایکروسافت پلتفرم جدید و جامعی را برای توسعهدهندهها عرضه کرده که قابلیتهای متعددی را همراهبا بهبود کارایی و قدرت در اختیار آنها قرار میدهد.
مایکروسافت چند روز پیش آخرین نسخه از رابط برنامهنویسی گرافیکی خود را بهنام DirectX 12 Ultimate API معرفی کرد که پلتفرم واحدی را برای توسعهدهندهها ارائه میکند. این پلتفرم بهصورت جامع برای نسل بعدی جلوههای گرافیکی در کامپیوترهای شخصی و کنسولها کاربرد خواهد داشت. یکی از قابلیتهای جدید و حیاتی، اضافه شدن Mesh Shaders به فریمورک DX12 بود. مهندس ارشد مایکروسافت در بخش Advanced Technologies Group، مارتین فولر، اطلاعاتی جزئی را از قابلیتهای جدید رابط برنامهنویسی منتشر کرد که امکانات قابلتوجهی را در اختیار توسعهدهندههای بازیهای نسل بعد قرار میدهد.
مارتین فولر میگوید درحالحاضر تنها دو پلتفرم از قابلیت Mesh Shaders در DX12 پشتیبانی میکنند. خانوادهی پردازندههای گرافیکی انویدیا تورینگ و ایکسباکس سری ایکس با پردازندهی گرافیکی AMD RDNA2 قابلیت بهرهبرداری را دارند. انویدیا در سال ۲۰۱۸ Mesh Shaders را همراهبا معماری پردازندهی گرافیکی تورینگ معرفی کرد. این قابلیت در رندر کردن صحنههایی با اجسام و جزئیات پیچیده و فراوان، کاربرد زیادی دارد.
همانطور که از نام Mesh Shaders بر میآید، با سایهزنی مشبک در صحنههای رندر روبهرو خواهیم بود. بهبیان دیگر اگر صحنهی مشبکی با جزئیات زیاد و پیچیده داشته باشیم، این قابلیت ابتدا آن را به شبکههای کوچکتر تقسیمبندی میکند. سپس با بهرهبرداری از مراحل رندر مبتنی بر سختافزار، توسعهدهندهها میتوانند هندسهی بیشتری را بهصورت موازی رندر کنند و در عین حال دادههای کمتری هم در پردازش دخیل میشوند. مایکروسافت و انویدیا، قبلا توضیحات جزئیتری از Mesh Shaders در وبلاگهای خود منتشر کردهاند.
قابلیت سایهزندی مشبک، قدرت کامل محاسباتی را در پردازندهی گرافیکی بهکار میگیرد تا در ساختارهای هندسی استفاده شود. درنتیجه توسعهدهندهها میتوانند جهانهای پویاتر و پیچیدهتری را توسعه دهند و نگران کاهش سرعت و کارایی نباشند. با بهکارگیری قابلیت جدید میتوان روشهای پیچیدهی رندر همچون Culling و LOD و تولید هندسه با روند مرحلهای پیچیدهتر را در صحنه بهکار گرفت.
مارتین نمونهای اولیه از بهکارگیری Mesh Shaders در DX12 منتشر کرد که در آن از پردازندهی گرافیکی Nvidia GeForce RTX 2080 Ti و ویندوز ۱۰ استفاده میکند. دموی مذکور با کیفیت 1440p و دموی کیت توسعهی ایکسباکس سری ایکس با کیفیت 4K رندر شد. دموی مارتین شامل چهار صحنهی اتاق میشود که از تکنیکهای متنوع در رندر آنها استفاده شده است. در شرایط عادی، صحنهی 4K ایکسباکس سری ایکس در مدت ۱۰۰ میکروثانیه رندر میشود که با بهکارگیری فناوری حرفهایتر Culling به ۵۵ میکروثانیه کاهش یافت. همین بهبود در RTX 3080 Ti هم دیده شد که زمان رندر در آن بهمیزان قابلتوجهی کاهش یافت.
استفاده از فناوری جدید Mesh Shaders در رندر صحنهها، باعث کاهش زمان بهانداهی تقریبا نصف میشود. در تصاویر، تفاوت زمان رندر را در فناوریهای گوناگون مشاهده میکنید.
نکتهی جالبتوجه اینکه RTX 2080 Ti با بهرهگیری از روشهای مشبکسازی مرسوم، یک صحنهی 1440p را در مدت ۴۰ میکروثانیه رندر کرده، درحالیکه ایکسباکس سری ایکس همان صحنه را با کیفیت 4K در ۱۰۰ میکروثانیه رندر میکند. ایکسباکس سری ایکس حتی در کیفیت 4K هم زمان رندر بسیار سریعتری نسبت به RTX 2080 Ti دارد. درنهایت میتوان نتیجه گرفته که Mesh Shaders در پردازندههای گرافیکی مبتنی بر تورینگ و RDNA 2 باعث بهبود قابلتوجه کارایی میشود.
پاسخ ها