ری تریسینگ در الدن رینگ آن چیزی نبود که میخواستیم
یک سال بعد از عرضهی الدن رینگ، فرام سافتور ری تریسینگ را با بروزرسانی ۱.۰۹ به پلتفرمهای پلیاستیشن ۵ و ایکس باکس سریز ایکس و پیسی افزود. از همه بیشتر سایههای ری تریسینگشده و انسداد محیطی(۱) خوب پردازش شدهاند و به چشم میآیند، گرچه هیچیک از آنها در نسخهی ایکس باکس سریز اس وجود ندارند. برای آنها که بازی را روی پلیاستیشن ۵ یا سریز ایکس یا پیسی انجام میدهند، این ویژگیها غافلگیرانه و مثبت هستند — از زمان عرضهی بستهی الحاقی Scholar of the First Sin برای دارک سولز ۲، تاکنون بروزرسانیای برای بهبود جلوههای بصری سری بازیهای سولز ندیده بودیم.
البته، اینکه آیا این ویژگیها ارزش فعال شدن دارند یا نه وابسته به این است که چقدر خوب پیادهسازی شدهاند. پس سوال رک و پوستکندهای باید کرد: آیا افزودن ری تریسینگ آنقدری باعث ارتقای بصری بازی میشود که مخاطب برایش حاضر باشد قید کم شدن برخی از عملکردها [مثلا پایینتر آمدن فریم ریت] را بزند؟ و از آنجا که خیلی از مشکلات فنی بازی از زمان عرضه تاکنون حلناشده باقی ماندهاند، آیا واقعا میارزید که ری تریسینگ به الدن رینگ افزوده شود؟
اول، به این بپردازیم که چگونه میشود قابلیتهای ری تریسینگ را فعال کرد. روی پلیاستیشن ۵ و سریز ایکس، به نظر میرسد زمان انتخاب حالت کوآلیتیْ گزینهای برای فعال و غیرفعال کردن آن ظاهر میشود، و روی پیسی هم کاربران چهار گزینهی جدید دریافت میکنند که بهطور ترکیبی روی سایههای ری تریسینگ و انسداد محیطی تاثیر میگذارند: حالتهای low، medium, high و maximum. اطلاعاتی که همراه بروزرسانی منتشر شده توضیح میدهد که رزولوشن و نرخ فریم بازی با فعالکردن این قابلیت دچار تغییر میشود، که جای تعجب هم نیست چون الدن رینگ چندان جای مانور ندارد و ری تریسینگ هم بر سیپییو و جیپییو هزینه تحمیل میکند.
تست خود را با نسخهی پلیاستیشن ۵ شروع کردیم. تفاوت قابل توجهی بین فعال بودن یا فعال نبودن ری تریسینگ در بازی دیده نشد جز اینکه روی نحوهی پردازش سایهها تغییراتی زیرپوستی ایجاد میشد، که با نظر به اینکه سیستم آب و هوایی بازی پویاست و سایهزنیهای پخته و دقیقی دارد این قابلیت میتواند تاثیر خوبی روی ظاهر بازی بگذارد. همینطور که خورشید پایینتر آمده و سایهها بلندتر میشوند، تاثیرش هم بیشتر نمود مییابد، و اشیایی که از زمین دورتر هستند سایههایشان افشانتر و پراکندهتر میشود. این قضیه وقتی بیشتر به چشم میآید که به سایههای شاخههای درختان نگاه کنیم که بدون ری تریسینگ خیلی تیز و با طرحی مصنوعی هستند؛ ولی با ری تریسینگْ نرمتر و طبیعیتر میشوند.
با این حال، چنین ارتقایی بیهزینه نیست و روی نرخ انیمیشنهای برخی از سایههای پویا تاثیر گذاشته است. برای مثال، دم دروازهی استورمهیل/Stormhill متوجه شدیم زمانی که ری تریسینگ فعال است، درختی در دوردست انیمیشن سایههایش دیرتر بارگذاری میشد. در حالت عادی این سایهها نیز همسو با خود نرخ فریم بازی انیمیت میشدند ولی در ری تریسینگ سرعت این انیمیتشدن به نیم یا یک سوم حالت قبلی کاهش مییابد. این نوعی گسست در بازی ایجاد میکند، ولی خوشبختانه سایهی اشیا و کاراکترهای کمی از این موضوع رنج میبرند. جا دارد بگوییم که متاسفانه با وجود فعال کردن ری تریسینگ هم همچنان بونفایرها و مشعلها سایهای ندارد؛ فرصتی که، مخصوصا با توجه به اینکه آتش در این سری بازیها اهمیت زیادی دارد، از دست رفت.
بخش دیگری که در این ری تریسینگ وجود دارد همان انسداد محیطی ری تریسینگ (RTAO) است. با فعال شدنش، سایههای مکان های محدود مثل گوشهی دانجنها، ریشهی پشمها و علوفهها بهتر سایهزنی شدهاند و واقعیترند. این حالتْ جایگزین حالت SSAO (۲) میشود که بهطور پیشفرض روی همهی کنسولها و پیسی فعال بود، و در آن سایههای اینچنینی صرفا شبیه یک نقاشی سیاهقلم و یکدست بودند. با فعال کردن ری تریسینگ هم این مسئله حل شده و سایهزنیها ضخیم و باثباتتر میشوند فارغ از اینکه در اسکرین-اسپیس ظاهر شوند یا نه.
دوباره باید گفت این یکی ارتقا هم بدون هزینه به دست نیامده است. نخست اینکه در RTAO و بهطورکلی ری تریسینگ، موقعی که میانپردهها پخش میشوند، روی کنسولها غیرفعال میشوند، مثل میانپردهی معرفی باسفایت مارگیت/Margit، ولی به محض بازگشت به گیمپلی دوباره فعال میشوند. ظاهرشدن ناگهانی سایهها(۳) زمان فعال بودن ری تریسینگ هم بیشتر پیش میآید. به نظر میرسد الدن رینگ برای محاسبهی سایههای ری تریسینگشده در نقاط مختلف نقشه از ساختار BVH(۴) استفاده میکند. ما همچنین متوجه شدیم سایهی زیر بشکهها، زمانی که بازیکن در فاصلهی معینی از آنها قرار داشته باشد، مدام جهتش را عوض میکند، در حالی که در حالت کوآلیتی و با فعال بودن SSAO این قضیه پیش نمیآمد. با در نظر داشتن همهی اینها، الدن رینگ مجموعا با ری تریسینگ بهتر به نظر میرسد.
شایسته است اشاره کنیم که این نتایج هم روی پلیاستیشن ۵ و هم سریز ایکس با کیفیت یکسان وجود دارند و هر دو رزولوشن ۲۸۸۰*۱۶۲۰ را هدف گرفتهاند (هفتاد و پنج درصد فورکی). تعداد پیکسلها و نوسانشان نشان میدهد رزولوشن پویا است و گاهی به ۱۵۶۰پی میرسد ولی اکثرا روی ۱۶۲۰پی میماند. برعکس، حالت کوآلیتی بدون ری تریسینگ باعث اجرای کامل بازی روی رزولوشن فورکی میشود. بنابراین برای رسیدن به ری تریسینگ باید قید رزولوشن را بزنید.
روی پیسی، عوض یک آپشن دو گزینهای «فعال/غیرفعال»، برای ری تریسینگ چهار گزینه در نظر گرفته شده است. حتی روی حالت low هم سایههای ری تریسینگشده بهتر از سایههای بدون ری تریسینگ هستند، و medium هم متعاقبا قدمی رو به جلو است. ولی جلوتر از این، و روی بالاترین کیفیت، تفاوتها چندان چشمگیر نیست و تنها سایههای دور و انسداد محیطی بهتر میشوند. به نظر میرسد high از همه حالت متوازنتری باشد، چون هم دقت ری تریسینگ برای پردازش سایههای منعکس از خورشید را بهتر میکند و هم دراو دیستنس را افزایش میدهد بدون اینکه عملکرد بازی در جاهای دیگر [مثلا رزولوشن یا فریم ریت] پایین بیاید. به نظر میرسد ری تریسینگ بازی روی کنسولها روی تنظیمات high یا ultra فیکس شده باشد (چیزی که بعد از کنار هم قرار دادن کنسولها کنار پیسی متوجه شدیم). با این حال، ری تریسینگ روی ultra و پیسی هم همان مشکل دیرتر انیمیتشدن سایهها را دارد که قبلا در دروازهی استورمهیل روی کنسولها دیده بودیم.
بنابراین ری تریسینگ روی الدن رینگ واقعا تاثیر دارد — اما آیا میارزد با فعال کردنش عملکرد بازی را در جاهای دیگر کاهش داد؟ روی پلیاستیشن ۵، قابل بحث است. در یکی از تستها، دیدیم بازی روی حالت فریم ریت با شصت فریم اجرا میشود و روی حالت کوالیتی حول و حوش چهل تا چهل و پنج، ولی با فعال کردن ری تریسینگ تنها سی فریم میداد. به نظر میرسد ری تریسینگ آنقدر ارزش ندارد که بهخاطر بین پانزده تا بیست فریم را از دست داد، خصوصا که رزولوشن را هم پایین میآورد.
این واقعیت که بخش اعظم بازی روی حالت ری تریسینگ روی سی فریم و گاهی کمتر اجرا میشود اصلا ایدهآل نیست، چراکه خارج از پنجرهی VRR [نرخ فرش ریت متغیر] پلیاستیشن ۵ است و اصلا نرم به نظر نمیرسد. در واقع، بازی گاهی با ری تریسینگ به زیر سی فریم میرسد و بنابراین حتی تعیین سقف فریم روی سی هم نمیتواند فریم ثابتی فراهم کند.
در نتیجه ری تریسینگ چندان حالت ایدهآلی برای الدن رینگ نیست، گرچه بیش از این هم نمیتوان انتظار داشت از بازیای که قبلش هم شصت فریم باثباتی تحویل نمیداد. بزرگترین مشکل همین افت فریمها تا زیر سی است که واقعا روی خود گیمپلی هم تاثیر منفی میگذارد.
وضعیت روی سریز ایکس هم به همین شکل است — ولی کمی بدتر از پلیاستیشن ۵. میانگین فریم ریتش پنج فریم کمتر از کنسول رقیب است، بنابراین سریز ایکس بیشتر دچار افت فریم تا زیر سی میشود. متوجه شدم بیشترین افتها روی این کنسول بهخاطر پویایی رزولوشنش است. برای مثال، اگر به آسمان نگاه کنیم فریم به ۴۵ و رزولوشن به ۱۶۲۰پی میرسد — ولی اگر سریعا به پایین نگاه گنید، رزولوشن آنقدر سریع خودش را وفق نمیدهد [و پایین نمیآید] و برای همین افت فریم میبینیم. با این حال، سریز ایکس تفاوت زیادی با پلیاستیشن ۵ ندارد، و با توجه به این افت فریمها، نمیشود ری تریسینگ را برای این بازی پیشنهاد کرد.
عملکرد روی پیسی هم البته بستگی به قدرت سختافزارتان دارد، و ما روی سختافزاری میانرده تست کردیم: سیپییوی AMD Ryzen 5 3600، با ۱۶ گیگ رم DDR4-3600 و جیپییوی Nvidia RTX 2070. ستینگ گرافیکی بازی را هم تقریبا مشابه همان حالت کوآلیتی روی پلیاستیشن ۵ و سریز ایکس تنظیم کردیم، و آن جاهایی که کنسولها تنظیمات ترکیبی داشتند را روی بالاترین حد قرار دادیم، و از آنجا که DRSای روی پیسی نیست رزولوشن را روی ۱۸۰۰پی فیکس کردیم.
بدون ری تریسینگ، با این تنظیمات خیلی راحت میشد اکثر جاها شصت فریم گرفت، گرچه در فضاهای باز منطقهی Limgrave افتهایی پیش میآمد. متوجه شدیم بدون ری تریسینگ، فریم ریت میانگین تا ۵۱ ولی با ری تریسینگ تا ۳۳ پایین میآمد. به عبارت دیگر، با فعال کردن ری تریسینگ روی high، حدود ۳۵ درصد افت عملکرد در فریم ریت بازی دیدیم. با ری تریسینگ چند دستانداز جدید هم ایجاد و باعث شد فریم ریت در بدترین حالت تا ۱۸۰ میلی ثانیه اوج بگیرد که اصلا چیز خوبی نیست.
مسئله این است که نسخهی پیسی الدن رینگ همین حالا هم مشکلات مهمتری دارد که بهتر بود اول به آنها پرداخته میشد عوض اینکه ری تریسینگ اضافه شود: بازی هنوز بالاتر از شصت فریم شدنی نیست، از مانیتورهای ultrawide ساپورت نمیکند و خبری از DLSS و FSR 2 یا XeSS برای ارتقای عملکرد تصویری نیست (تا عملکرد کاهشیافتهی بازی بعد از فعال شدن ری تریسینگ خنثی شود).
خلاصه کنیم، اضافه شدن ری تریسینگ اتفاق خوشیمنی است، قابلیتی است که سایهها و انسداد محیطی را روی پلیاستیشن ۵، سریز ایکس و پیسی افزایش میدهد. با این حال، به سختی میتوان آن را ویژگیای که خواستهی طرفداران بود حساب کرد، خصوصا که کنسولها هنوز شصت فریم باثباتی ارائه نمیدهند و روی پیسی هم چند دستانداز و فقدان برخی از ویژگیها توی ذوق میزند. و با توجه به اینکه عملکرد بازی را در سایر بخشها پایین میآورد، نمیتوانیم فعال کردن آن را روی هیچیک از پلتفرمها توصیه کنیم، گرچه برای چندتا اسکرینشات گرفتن از بازی بدردبخور هستند.
کلیتر بگوییم، اینکه سازندگان تصمیم گرفتند بهجای رفع نواقص فنی بازیْ افزودن ری تریسینگ را اولویت قرار دهند تصمیم بیثمری بوده است. با نظر به اینکه هستهی خود بازی فوقالعاده است، و تاکنون از نظر تجاری هم موفق بوده، امیدواریم این نشانهای باشد از اینکه تغییرات عملی و مفیدتری در آینده در راه بازی باشد.
منبع: Digital Foundry
۱. Ambient Occlusion: در مدلسازی و انیمیشنسازی کامپیوتری تکنیکی برای رندرینگ و سایهزنی است که اندازه میگیرد هر نقطه از محیط چقدر در معرض نور محیطی است. برای مثال، مجرای یک لوله معمولا در مقابل نور مسدودتر است (و بنابراین تاریکتر) تا سطح بیرونی لوله، و بنابراین هرقدر به داخل لوله زوم شود هم تاریکتر میشود. (م)
۲. SSAO هم یکی از انواع این انسداد محیطی است که در خیلی از بازیهایی که تنظیمات گرافیکی پایینی برای کاربر در اختیار گذاشتهاند دیده میشود. در این حالت، عوض استفاده از خود اشیا و اشکال برای اندازهگیری محیط و تعیین محل سایهها، از خود عمق پیکسل برای القای تغییرات در نور استفاده میشود. در واقع، SSAO صرفا پنداری از AO را نشان میدهد، خصوصا که اینگونه فشار کمتری به سختافزار میآورد. SSAO در توسعهی بعضی بازیها گزینهی سودمندی است چون قدرت پردازشی کمتری را اشغال میکند در عین اینکه با رندرینگ پویاْ نورپردازی واقعگرایانهای خلق میکند. اولین بازیای که از AO استفاده کرد بازی Crysis در سال ۲۰۰۷ بود و از جمله دلایلی که این بازی سختافزاری چنان قدرتمند میطلبید همین بود. سازندگان بعدها با تغییراتی در آن نسخهی مقرونبهصرفهی SSAO را توسعه دادند. (م)
۳. Shadow pop-in: این حالت زمانی بیشتر به نظر میرسد که در محیط قدم میزنید و میبینید هرقدر جلو میآیید، سایههایی که نزدیکتان هستند، به مرور یا ناگهانی ظاهر میشوند. این جلوهای مصنوعی به کیفیت بازیها میدهد. (م)
۴. Bounding Volume Hierarchy Structure: این ساختار شتابدهنده، برای کاهش یکی از اساسیترین مشکلات ری تریسینگ استفاده میشود: هزینهی یافتن نزدیکترین تقاطع میان پرتو (Ray) و صحنهای که شامل شاید میلیونها چندضلعی (polygon) است. فهم اصل و اساس این ساختار ساده است: اگر مثلا ۶۴ چندضلعی داشته باشیم، میتوانیم آنها را به دو گروه ۳۲ چندضلعی تقسیم کنیم، که هر یک توسط حجمی، به شکل یک جعبه یا کره، مرزبندی میشود. حالا اگر صحنه را با این تنظیمات اجرا کنیم، میبینیم آن ۳۲ چندضلعی تا زمانی که پرتویی به آنها برخورد نمیکند از پردازش حذف میشوند و اینگونه در زمان پردازش صحنه صرفهجویی میکنیم. این یک مثال فرضی است و بسته به محیط و توان پردازشی میتوانیم آن ۶۴ چندضلعی را دوباره به دو گروه تقسیم و مرزبندی کنیم. در نتیجه سلسله مراتبی از از حجمهای مرزبندیشده داریم که در آن زمان پردازش صحنه قابل مدیریت شده است: در هر سطح این سلسله مراتب، ما تعداد چندضلعیها را نصف کردهایم و مثلا ۶۴ چدضلعی را آنقدر تقسیم میکنیم تا به نمودار درختی ششتاییای میرسیم که در پایان تنها یک چندضلعی باقی میگذارد. تصویر پایین، بخشی از این حجمهای مرزبندیشده را در سه مرحله نشان میدهد: در مرحلهی اول که با خط قرمز تعیین شده، همهی چندضلعیها بدون تقسیم مرزبندی شدهاند؛ در مرحلهی دوم که با خط آبی تعیین شده، چندضلعیهایی که سابقا در خط قرمز بودند تقسیم شدهاند؛ و در مرحلهی سوم که با خط سبز تعیین شده، چندضلعیهایی که سابقا در خط آبی بودند مجددا تقسیم شدند (لینک منبع توضیحات)(م):