چگونه رویکرد انقلابی Gears of War: E-Day محدودیت حافظه ایکسباکس سری اس را برطرف میسازد؟
بازی Gears of War: E-Day شهری فوقالعاده عظیم و با جزئیات متراکم را حتی روی کنسول اقتصادی و از نظر حافظه محدود ایکسباکس سری اس پیش روی مخاطب قرار میدهد. دستیابی به چنین دستاوردی اصلاً کار سادهای نبود و راهحلی که استودیوی کوالیشن (The Coalition) در نهایت به کار گرفت، میتواند به عنوان یک الگوی راهنما برای بازیهای آینده ایکسباکس سری اس و سایر پلتفرمهای با محدودیت حافظه مورد استفاده قرار گیرد.
بهطور خلاصه، بازی از حافظه SSD به عنوان یک لایه حافظه جدید در کنار ۱۰ گیگابایت رم مشترک GDDR6 سری اس استفاده میکند؛ سازوکاری سفارشی که با همکاری مستقیم تیم پلتفرم ایکسباکس و گروه فناوریهای پیشرفته (Advanced Technology Group یا ATG) توسعه یافته است.هسته اصلی این ایده چندان جدید نیست. بدون ورود به مباحث پیچیده علوم رایانه، در ذخیرهسازی دادهها سلسلهمراتبی وجود دارد که سرعت را فدای ظرفیت میکند؛ حافظه کش پردازنده مرکزی (CPU) فوقالعاده سریع است اما حجم بسیار ناچیزی دارد، حافظه رم (RAM) در میانه ماجرا میایستد و درایوهای SSD ظرفیت فوقالعاده بالایی ارائه میدهند اما سرعت دسترسی آنها بهمراتب کندتر است. اگر دادهای که روی آن کار میکنید نتواند در CPU نگهداری شود، به RAM منتقل میشود و اگر از RAM خارج گردد، باید مستقیماً از حافظه ذخیرهسازی خوانده شود که در هر مرحله با افت سرعت همراه است.سیستم اختصاصی استودیو کوالیشن به بازی اجازه میدهد از درایو NVMe درست مانند یک حافظه رم بهره ببرد و به سیستم استریم محیط فضای کافی برای بارگذاری و نگهداری اطلاعات شهر پیچیده بازی را اعطا کند. بدین ترتیب، دادههایی که بهطور فعال در لحظه پردازش نمیشوند روی دیسک ذخیره شده و دادههای مورد نیاز همان لحظه، به رم سیستم فراخوانده میشوند.این روش به سازوکار «حافظه مجازی صفحهبندیشده» (Paged Virtual Memory) شباهت دارد، با یک تفاوت بنیادین مهم: این مکانیزم تنها بخشهای ویژهای از حافظه را شامل میشود که تیم سازنده مطمئن شده فراخوانی دوباره آنها از روی درایو، عملکرد کلی بازی را با افت سرعت مواجه نمیکند. دستاورد این تکنیک این است که تنها به قیمت اختصاص چند گیگابایت فضای خالی روی SSD، بازی حدود ۱ گیگابایت حافظه رم قابل استفاده بیشتر به دست میآورد.بخش جادویی و اصلی ماجرا، تصمیمگیری درباره دادههایی است که باید اصطلاحاً به حافظه موقت منتقل شوند. استودیوی کوالیشن با استفاده از الگوریتمهای اکتشافی پیشرفته این تصمیم را اتخاذ میکند؛ بدین شکل که سیستم الگوهای دسترسی را بررسی کرده و میبیند کدام اطلاعات بهتازگی استفاده شدهاند. اگر دادهای در یک فریم یا چند فریم پیاپی استفاده نشود، وارد صف انتقال به حافظه SSD خواهد شد. در طرف مقابل، دادههای پرکاربرد همچنان در رم باقی میمانند و بخشهای غیرفعال راهی SSD میشوند. کارکرد این روش صرفاً به این دلیل ممکن است که درایو NVMe این کنسولها سرعت بسیار بالایی دارد و دادههای مورد نظر را بدون آنکه گیمر متوجه شود بازمیگرداند؛ رویکردی هوشمندانه که یکی از بزرگترین نقاط ضعف سری اس را پوشش میدهد.توسعهدهندگان تأکید میکنند که پیادهسازی این حجم از تراکم شهری بدون بهرهگیری از چنین تکنیکی بههیچوجه امکانپذیر نبود. جهان بازی حدود ۱.۶ میلیون Actor دارد، بنابراین جای دادن تمامی این عناصر در حافظه سری اس به پایه و اساس تمام مقیاسپذیریهای فنی بازی تبدیل شد.ایکسباکس سری اس کنسول کندی نیست و CPU آن بسیار جلوتر از نسل هشتم مانند ایکسباکس وان ایکس یا پلیاستیشن ۴ پرو عمل میکند، بلکه موضوع اصلی بهرهگیری حداکثری از ۱۰ گیگابایت رم مشترک GDDR6 آن در مقایسه با ۱۶ گیگابایت رم ایکسباکس سری ایکس است. با فعالسازی این سیستم، استودیو کوالیشن تنها ناچار شد یک ویژگی اصلی گرافیکی یعنی بازتابهای Lumen را حذف کند تا بازی بتواند روی نرخ ۶۰ فریم بر ثانیه پایدار قفل شود.البته این روش بدون محدودیت نیست. کیت رینر (Kate Rayner)، مدیر فنی استودیو کوالیشن، توضیح داده که زیادهروی در این سازوکار به عملکرد بازی ضربه میزند، زیرا جابهجایی و تبادل پیوسته دادهها هزینه پردازشی دارد و فریمها باید سر موعد و بر اساس بودجه زمانی مشخص رندر شوند. همچنین سیستمعامل برای آزادسازی دوباره حافظه آزادشده زمان نیاز دارد؛ در نتیجه در لحظاتی ممکن است بازی از نظر فنی با اتمام حافظه (Out of Memory) مواجه شود تا فرآیند کامل گردد. با این حال، کوالیشن زمان بسیاری صرف کرد تا این سیستم را با حساسیت تنظیم کند تا بدون افت عملکرد ملموس اجرا شود؛ هرچند برای تأیید نهایی آن باید منتظر بررسی تخصصی و کامل دیجیتال فاندری باشیم.شاید عملکرد ایکسباکس سری اس همواره بینقص نباشد، اما با در نظر گرفتن ابعاد فنی بازی، نتیجه بسیار تحسینبرانگیز است. دستاورد مهم این بود که نسخه سری اس تبدیل به یک نسخه بسیار تنزلیافته و ضعیف نشد. به گفته رینر، این روش مانع از «افت شدید کیفیت بازی» شد. کوالیشن بر این باور است که جزو اولین استودیوهایی است که این ایده را پیادهسازی میکند. رینر اشاره کرد که تیمهای بازیسازی دیگر نیز هماکنون به این تکنولوژی علاقه نشان دادهاند؛ موضوعی که میتواند این تکنیک را به یک دستورالعمل جذاب برای آینده توسعه بازیها روی سری اس تبدیل کند.نکته کلی و مهمتر این است که درایوهای ذخیرهسازی پرسرعت نسل نهم میتوانند فراتر از استریم سریع دادهها عمل کنند و فشار را مستقیماً از روی دوش حافظه رم بردارند. برای کنسولی مانند ایکسباکس سری اس که بارها از آن به عنوان ترمزی برای بازیهای نسل جدید یاد شده، این دستاورد فنی میتواند اهمیت بسیار بالایی داشته باشد.
