رفتن به محتوای اصلی

تحول بزرگ DirectX 12؛ افزایش ۶۶ برابری FPS و کاهش ۹۰ درصدی مصرف حافظه در آزمایش مایکروسافت

تحول بزرگ DirectX 12

مایکروسافت از بزرگ‌ترین به‌روزرسانی فناوری رهگیری پرتو DirectX Raytracing از زمان معرفی آن در سال ۲۰۱۸ رونمایی کرده است. این تحول که در نسخه آزمایشی جدید DirectX 12 ارائه شده، می‌تواند یکی از مهم‌ترین موانع اجرای گرافیک واقع‌گرایانه در بازی‌های کامپیوتری، یعنی هزینه پردازش صحنه‌های پیچیده و متحرک، را تا حد زیادی کاهش دهد.

نتایج اولیه قابل‌توجه هستند؛ در یکی از آزمایش‌های مایکروسافت با کارت گرافیک AMD Radeon RX 9070، نرخ فریم از ۱.۲ به ۷۹ فریم بر ثانیه افزایش یافته و مصرف حافظه ساختارهای شتاب‌دهنده رهگیری پرتو نزدیک به ۹۰ درصد کاهش پیدا کرده است.

البته این اعداد مربوط به یک محیط آزمایشی توسعه‌دهندگان هستند و نباید آن‌ها را با افزایش عملکرد بازی‌های موجود یکسان دانست.

مشکل اصلی Ray Tracing چیست و مایکروسافت چه چیزی را تغییر داده است؟

رهگیری پرتو یا Ray Tracing یکی از مهم‌ترین فناوری‌های گرافیکی بازی‌های مدرن محسوب می‌شود. این فناوری با شبیه‌سازی مسیر حرکت نور، امکان تولید بازتاب‌ها، سایه‌ها و نورپردازی واقع‌گرایانه‌تر را فراهم می‌کند.

بااین‌حال، اجرای آن خصوصاً در محیط‌های بزرگ و پرجزئیات فشار قابل‌توجهی بر پردازنده گرافیکی وارد می‌کند.

بخشی از این فشار به ساختارهای داده‌ای مربوط است که کارت گرافیک برای پیدا کردن اشیاء و محاسبه برخورد پرتوها با آن‌ها استفاده می‌کند. در بازی‌هایی که تعداد زیادی شخصیت متحرک، پوشش گیاهی پویا یا محیط‌های در حال تغییر دارند، این ساختارها باید مرتباً به‌روزرسانی شوند.

مایکروسافت در نسخه پیش‌نمایش DirectX 12 Agility SDK 1.722 دو فناوری کلیدی را معرفی کرده است:

۱. Clustered Geometry؛ پردازش هوشمندتر هندسه

این فناوری مدل‌های سه‌بعدی پیچیده را به خوشه‌های کوچک و قابل‌استفاده مجدد تقسیم می‌کند. هر ساختار خوشه‌ای می‌تواند حداکثر ۲۵۶ مثلث و ۲۵۶ رأس را در خود جای دهد.

به‌جای بازسازی یک ساختار بزرگ هنگام تغییر هندسه، موتور بازی می‌تواند بخش‌های کوچک‌تر را پردازش کند یا از داده‌های ازپیش‌آماده بهره ببرد.

۲. Partitioned TLAS؛ به‌روزرسانی فقط بخش‌های تغییرکرده

فناوری دوم به مدیریت کل صحنه مربوط می‌شود. در محیط‌های بزرگ، حتی تغییر تعداد محدودی از اشیاء می‌تواند بازسازی پرهزینه ساختارهای رهگیری پرتو را ضروری کند.

Partitioned TLAS یا به‌اختصار PTLAS صحنه را به بخش‌های قابل‌مدیریت تقسیم می‌کند تا قسمت‌های بدون تغییر نیازمند پردازش مجدد نباشند.

این روش به‌خصوص برای بازی‌های جهان‌باز، محیط‌های شلوغ و صحنه‌هایی با تعداد زیادی جسم متحرک اهمیت دارد.

در کنار این دو قابلیت، مایکروسافت امکان ساخت و به‌روزرسانی ساختارهای شتاب‌دهنده با دستورهای هدایت‌شده توسط GPU را نیز اضافه کرده است.

نتایج آزمایش مایکروسافت؛ از ۱.۲ به ۷۹ FPS

مایکروسافت برای نمایش قابلیت‌های جدید، یک محیط آزمایشی را روی کارت گرافیک Radeon RX 9070 اجرا کرده است.

نتایج مقایسه روش قدیمی و Clustered Geometry به شرح زیر است:

معیارروش سنتیفناوری جدید
نرخ فریم۱.۲ FPS۷۹ FPS
زمان آماده‌سازی و ساخت ساختارها۷۸۸ میلی‌ثانیه۳.۱۱ میلی‌ثانیه
زمان رهگیری پرتو روی GPU۷۲.۶ میلی‌ثانیه۹.۲۷ میلی‌ثانیه
حافظه ساختارهای شتاب‌دهنده۷۵۱۹ MiB۷۷۴ MiB

در این آزمایش، نرخ فریم تقریباً ۶۶ برابر شده و زمان ساخت ساختارهای شتاب‌دهنده به‌شدت کاهش یافته است.

اما نکته مهم‌تر، منشأ این افزایش عملکرد است. فناوری جدید الزاماً قدرت محاسباتی خام کارت گرافیک را افزایش نمی‌دهد؛ بلکه بخشی از محاسبات تکراری و پرهزینه را حذف یا بهینه می‌کند.

این تفاوت اهمیت زیادی دارد؛ زیرا نشان می‌دهد توسعه نرم‌افزار و بهینه‌سازی موتورهای گرافیکی همچنان می‌تواند بدون نیاز به تعویض سخت‌افزار، بهره‌وری پردازنده‌های گرافیکی را افزایش دهد.

بااین‌حال، مایکروسافت تأکید کرده که این نتیجه تنها متعلق به یک پیکربندی آزمایشی است و میزان بهبود در بازی‌های واقعی ممکن است بسیار متفاوت باشد.

آیا مصرف VRAM کارت گرافیک واقعاً ۹۰ درصد کاهش پیدا می‌کند؟

خیر؛ دست‌کم نمی‌توان چنین نتیجه‌ای را از آزمایش منتشرشده گرفت.

عدد نزدیک به ۹۰ درصد به کاهش حافظه موردنیاز ساختارهای شتاب‌دهنده رهگیری پرتو مربوط است، نه کل حافظه گرافیکی مصرف‌شده توسط بازی.

بازی‌ها علاوه بر این ساختارها، برای بافت‌ها، مدل‌ها، بافرهای تصویر و سایر داده‌ها نیز حافظه مصرف می‌کنند. بنابراین کاهش حافظه یکی از اجزای موتور گرافیکی لزوماً به معنی کاهش مشابه مصرف کل VRAM نیست.

نکته دیگر اینکه روش جدید در برخی مراحل ساخت ساختارها به حافظه موقت بیشتری نیاز دارد. برای نمونه، حافظه موقت ساخت هندسه ثابت در آزمایش مایکروسافت از ۱.۸۳ به ۵۲۶ مگابایت افزایش یافته است.

در نتیجه، تأثیر واقعی این فناوری بر حافظه موردنیاز هر بازی به نحوه پیاده‌سازی، پیچیدگی محیط و سایر منابع مصرف‌کننده VRAM بستگی خواهد داشت.

کدام کارت‌های گرافیک از DirectX Raytracing جدید پشتیبانی می‌کنند؟

یکی از مزیت‌های مهم این به‌روزرسانی آن است که قابلیت‌های جدید به واحدهای سخت‌افزاری اختصاصی تازه‌ای نیاز ندارند؛ بااین‌حال، پشتیبانی درایور و پیاده‌سازی سازنده کارت گرافیک ضروری است.

بر اساس اطلاعات رسمی منتشرشده:

  • انویدیا: تمامی نسل‌های GeForce RTX، از سری RTX 20 به بعد، پشتیبانی می‌شوند.
  • AMD: پشتیبانی فعلی برای کارت‌های Radeon RX 9000 اعلام شده است.
  • اینتل: کارت‌های Arc سری B و گرافیک‌های سازگار در پردازنده‌های Core Ultra سری 200V و Series 3 پشتیبانی می‌شوند.
  • کوالکام: پشتیبانی از پلتفرم‌های Snapdragon X2 برای نیمه نخست سال ۲۰۲۷ برنامه‌ریزی شده است.

این موضوع به معنی فعال‌شدن خودکار قابلیت‌های جدید در تمامی بازی‌ها نیست. توسعه‌دهندگان باید از APIهای جدید استفاده کنند و سیستم کاربر نیز درایور سازگار داشته باشد.

تأثیر این به‌روزرسانی بر آینده بازی‌های کامپیوتری

اهمیت این تغییرات فراتر از یک نتیجه بنچمارک است.

در سال‌های اخیر، بخش قابل‌توجهی از پیشرفت عملکرد بازی‌ها به فناوری‌هایی مانند DLSS و FSR وابسته بوده است؛ فناوری‌هایی که با روش‌هایی نظیر بازسازی تصویر از وضوح پایین‌تر یا، در نسخه‌های دارای این قابلیت، تولید فریم می‌توانند تجربه بصری روان‌تری ارائه دهند.

اما رویکرد جدید DirectX متفاوت است. این فناوری مستقیماً هزینه آماده‌سازی و مدیریت هندسه موردنیاز رهگیری پرتو را هدف قرار می‌دهد.

اگر موتورهای بازی بتوانند از این قابلیت‌ها به‌خوبی بهره ببرند، احتمالاً شاهد محیط‌هایی با جزئیات هندسی بیشتر، انیمیشن‌های پیچیده‌تر و استفاده گسترده‌تر از نورپردازی مبتنی بر رهگیری پرتو خواهیم بود.

بازی Gears of War: E-Day یکی از نمونه‌های اولیه استفاده از رویکرد مشابه از طریق فناوری اختصاصی RTX Mega Geometry انویدیا است. استانداردسازی این قابلیت‌ها در DirectX می‌تواند مسیر استفاده از چنین تکنیک‌هایی را برای توسعه‌دهندگان و سازندگان مختلف GPU هموارتر کند.

زمان عرضه به‌روزرسانی جدید DirectX 12

قابلیت‌های Clustered Geometry و Partitioned TLAS در حال حاضر در نسخه آزمایشی DirectX 12 Agility SDK 1.722 ارائه شده‌اند و توسعه‌دهندگان برای آزمایش آن‌ها به ابزارها و درایورهای سازگار و فعال‌بودن Windows Developer Mode نیاز دارند.

همچنین بخش‌هایی از این قابلیت‌ها به Shader Model 6.10 وابسته هستند که هنگام معرفی این به‌روزرسانی هنوز در مرحله پیش‌نمایش قرار داشت.

مایکروسافت هنوز تاریخ مشخصی برای انتشار نسخه نهایی این مجموعه قابلیت‌های رهگیری پرتو اعلام نکرده است.

جمع‌بندی؛ بهبود عملکرد بدون افزایش قدرت سخت‌افزاری

به‌روزرسانی جدید DirectX Raytracing نشان می‌دهد که آینده گرافیک بازی‌ها تنها به ساخت کارت‌های گرافیک قدرتمندتر وابسته نیست.

کاهش محاسبات غیرضروری، استفاده مجدد از اطلاعات هندسی و به‌روزرسانی هوشمند صحنه‌ها می‌تواند به توسعه‌دهندگان اجازه دهد از منابع سخت‌افزاری موجود استفاده مؤثرتری داشته باشند.

اگرچه هنوز برای پیش‌بینی میزان افزایش FPS در بازی‌های تجاری زود است، نتایج اولیه مایکروسافت نشان‌دهنده ظرفیت قابل‌توجه این رویکرد برای نسل بعدی موتورهای گرافیکی است.

منابع: وبلاگ رسمی توسعه‌دهندگان DirectX مایکروسافت و گزارش VideoCardz.