NCSoft Lineage W یک بازی نقشآفرینی آنلاین چند نفره (MMORPG) است که توسط NCSoft توسعه یافته است. این بازی میراث بازی اصلی Lineage W را به ارث می برد و محیطی را ارائه می دهد که بازیکنان از سراسر جهان می توانند از طریق سرورهای جهانی با یکدیگر همکاری و رقابت کنند. Lineage W که در یک دنیای فانتزی منحصر به فرد قرون وسطایی قرار دارد، تجربه بازی عمیقی را از طریق کلاسها، مهارتها و سیستمهای رزمی مختلف به بازیکنان ارائه میدهد.
NCSoft از Android Dynamic Performance Framework برای به حداکثر رساندن کیفیت گرافیکی و در عین حال جلوگیری از مشکلات عملکرد ناشی از throttling حرارتی استفاده کرد.
چارچوب عملکرد پویا اندروید
چارچوب عملکرد پویای Android (ADPF) اطلاعاتی را در مورد استفاده از منابع ارائه میکند و به توسعهدهندگان کمک میکند تا به تغییر عملکرد، شرایط حرارتی و کاربر در زمان واقعی واکنش نشان دهند. این شامل هر دو API های Thermal و Performance Hint است. API های حرارتی اطلاعاتی در مورد وضعیت حرارتی دستگاه ارائه می دهند، در حالی که Performance Hint API نکات عملکردی را ارائه می دهد که به اندروید در انتخاب نقطه عملکرد بهینه CPU و قرارگیری هسته کمک می کند. API های حرارتی اطلاعاتی در مورد وضعیت حرارتی دستگاه ارائه می دهند، در حالی که Performance Hint API نکات عملکردی را ارائه می دهد که به اندروید در انتخاب نقطه عملکرد بهینه CPU و قرارگیری هسته کمک می کند.
افزونه Unreal Engine ADPF
افزونه Unreal Engine ADPF ساده ترین راه را برای استفاده از ADPF در بازی ها با استفاده از موتور Unreal Engine ارائه می دهد.
این افزونه هر ثانیه وضعیت حرارتی دستگاه را بررسی می کند. هنگامی که دستگاه بیش از حد گرم می شود، افزونه تنظیمات کیفیت گرافیکی را با استفاده از تنظیمات Unreal Scalability پیش فرض تنظیم می کند. چهار سطح وجود دارد و هر سطح با کیفیت های گرافیکی مختلف (رزولوشن، فاصله مشاهده، پس پردازش و غیره) ترسیم شده است.
اگر از قبل تنظیمات درون بازی (مانند کیفیت پایین، متوسط و بالا) دارید که توسط بازیکن قابل تنظیم هستند، به شما توصیه می کنیم از این تنظیمات به جای سطوح پیش فرض مقیاس پذیری غیرواقعی استفاده کنید.
این افزونه از دو روش برای بررسی حرارتی دستگاه استفاده می کند: یکی از طریق ارزیابی فضای سر حرارتی و دیگری با بررسی وضعیت حرارتی. اتاق سر حرارتی اطلاعات دقیق تری را ارائه می دهد و به طور پیش فرض فعال است.
این افزونه دو جلسه راهنمایی عملکرد را برای بازی و موضوعات رندر ایجاد می کند. هدف و مدت زمان واقعی را در هر فریم به فریم ورک گزارش می دهد و به دستیابی به فریم های هدف در ثانیه (FPS) کمک می کند.
چگونه NCSoft عملکرد را بهینه کرد
Lineage W از ADPF برای جلوگیری از مشکلات عملکردی ناشی از انقباض حرارتی استفاده کرد. آنها تلاش کردند تا استفاده از تنظیمات کیفیت گرافیکی را به حداکثر برسانند که عملکرد قابل توجهی را ارائه می دهد و در عین حال تأثیر آن را بر گیم پلی واقعی به حداقل می رساند. NCSoft هنگام تنظیم کیفیت از طریق مقدار headroom، پایداری و عملکرد هر مرحله را تأیید کرد. آزمایشهای مختلفی برای ارائه تجربه بازی خوب به کاربران برای هر مقدار تنظیمشده تنظیمات کیفیت گرافیک مورد نیاز بود.
بازی به طور پیش فرض 30 FPS را هدف قرار می دهد، اما NCSoft FPS هدف را به 60 تغییر داد تا آزمایش کند که چگونه ADPF می تواند FPS خود را بهبود بخشد.
در طول 30 دقیقه تست گیم پلی روی پیکسل 6 دارای اندروید 13، FPS به شدت از 60 FPS به 32 FPS کاهش یافت و مقدار فضای سر حرارتی در 4 دقیقه به 1.0f (آستانه درگیری شدید حرارتی) رسید.
هنگامی که بازی از پلاگین Unreal Engine ADPF با مقیاس پذیری پیش فرض Unreal Scalability استفاده می کرد، می توانست 60 FPS را به مدت 15 دقیقه حفظ کند. میانگین نرخ فریم در این 30 دقیقه نیز به 57.5 فریم در ثانیه افزایش یافت. با این حال، فضای سر حرارتی مقادیر مشابه قبل را نشان داد، به این معنی که دستگاه به روشی مشابه گرم میشود و از گلوگاه حرارتی رنج میبرد.
برای رفع این مشکل، تیم Lineage W تصمیم گرفت که به ADPF کنترل بیشتری بر پارامترهای وفاداری بدهد تا از فشار حرارتی جلوگیری شود. پس از ادغام تنظیمات کیفیت گرافیکی درون بازی Lineage W با افزونه Unreal Engine ADPF، به نتایج مطلوبی دست یافتند. این ادغام منجر به نرخ فریم پایدار در 60 فریم در ثانیه در حالی که مقدار فضای سر حرارتی کمتر از 1.0 را حفظ میکند، نشاندهنده مدیریت حرارتی کارآمد است.
با استفاده از تنظیمات کیفیت درون بازی Lineage W با ADPF، NCSoft توانست تجربه کاربری پایدارتر و لذت بخشی را ارائه دهد.
از آنجایی که ADPF توسط همه سازندگان دستگاههای مجهز به اندروید به طور کامل پشتیبانی نمیشود، NCSoft این را به عنوان یک گزینه درون بازی «بهینهسازی عملکرد تطبیقی» برای بازیکنانی که میتوانند شرکت کنند، پیادهسازی کرد.
با ADPF و افزونه Unreal Engine شروع کنید
توسعه دهندگانی که علاقه مند به استفاده از Android Adaptability یا افزونه ADPF Unreal Engine هستند باید موارد زیر را انجام دهند:
- درباره ADPF و افزونه Unreal Engine ADPF بیشتر بدانید.
- به جای استفاده از مقیاسپذیری Unreal Engine، مقیاسکنندههای خود را بر اساس محتوای بازی خود سفارشی کنید.
- بر عملکرد بازی نظارت کنید تا مطمئن شوید که انتظارات بازی را برآورده می کند. با تنظیمات مختلف آزمایش کنید تا بهترین عملکرد و حداقل افزایش حرارتی را بیابید.
- تنظیمات کیفیت گرافیک را به طور جداگانه تغییر دهید تا کاهش عملکرد ناگهانی کاهش یابد.
صرف نظر از اینکه از کدام موتور استفاده می کنید، همیشه می توانید مستقیماً از API ها استفاده کنید. در افزونه Android Adaptability و Unreal Engine ADPF بیشتر بیاموزید.