مهمان عزیز خوش‌آمدید. ورود عضــویت


روش های optimize کردن بازی در unity
#1
Information 
در این پست نکاتی راجع به بهینه سازی یا همان optimize کردن بازی در Unity را شرح می دهم. در صورت مفید بودن پست و استقبال مناسب مطالب بیشتری نیز در این باره پست خواهم کرد.
به طور کلی بهینه سازی یا Optimization به تغییر دادن برنامه در راستای اجرای سریعتر و استفاده بهتر از منابع گفته می شود. بازی سازی از کارهایی است که نیاز دارد برنامه نویس همواره هنگام نوشتن کد این مساله را مد نظر قرار دهد. بهینه سازی به دو دسته macro optimization و Micro optimization تقسیم می شود. دسته اول استفاده از الگوریتم ها و ساختار داده های مناسب برای حل مساله را شامل می شود و دسته دوم به تغییر توابع و عملگر ها و خط های کوچکی از کد و تغییر محاسبات کوچک به شکل بهینه گفته می شود. مثلا استفاده از ساختار آرایه به جای درخت برای استفاده بهتر از cache پردازنده و استفاده از Dictionary در صورت نیاز به یافتن مقادیر مختلف با سرعت بالا به جای آرایه و لیست از نوع macro optimizaiton و انجام تقسیم با استفاده از ضرب و یا استفاده از اعداد صحیح به جای اعداد اعشاری و انجام shift به جای اعمال ریاضی micro optimizaiton هستند.

هدف شما از بهینه سازی در Unity معمولا بالا بردن FPS و قابل اجرا کردن یک الگوریتم و پایین آوردن زمان انتظار کاربر می باشد. همچنین ممکن است برای اجرای بازی روی دستگاه های ضعیفتر نیز به این کار نیاز داشته باشید. اگر بازی را برای اجرا روی سرور بنویسید هم برای مصرف بهتر منابع سرور نیاز به Optimization دارید. برای داشتن یک بازی بهینه باید اولا هنگام نوشتن برنامه با آگاهی از میزان کار انجام شده و مصرف منابع هر عملیات کدی بهینه بنویسید و دوما هنگام مشاهده مشکل با استفاده از ابزار های اندازه گیری مثل profiler ها گلوگاه های سیستم یا همان bottle neck ها را پیدا کنید و آن ها را بهینه کنید. گلوگاه به بخش هایی گفته می شود که تغییر آن ها و سرعت بخشیدن به آن ها تاثیر زیادی بر روی بهینه شدن کل سیستم می گذارد و در حال حاضر منابع زیادی را به شکل غیر بهینه مصرف می کنند. ابتدا مواردی که باید بدانید تا کد بهینه بنویسید را بررسی می کنیم و سپس به روش های اندازه گیری و بهینه سازی می پردازیم.




ادامه مطلب در وبسایت آپادانا
 
پاسخ دهید
 سپاس شده توسط: danials008 ، shazde ، developer
  


موضوعات مشابه ...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  طرح نذری آموزشی در فرادرس mohammadamin12000014 0 56 1397/6/27، 01:36 صبح
آخرین ارسال: mohammadamin12000014
  مهم آموزش واقعیت افزوده برای همه با یونیتی(بدون نیاز به برنامه نویسی!) developer 6 3,116 1397/4/16، 11:20 صبح
آخرین ارسال: mjavad
  تغییر زاویه پلیر به سمت دشمن erfab 3 513 1396/12/5، 11:06 عصر
آخرین ارسال: aa82
  یک مثال ساده از Blend Tree ها در یونیتی rezadehghan 0 212 1396/11/24، 02:01 عصر
آخرین ارسال: rezadehghan
  امضا کردن کد در یونیتی rezadehghan 0 240 1396/11/24، 01:59 عصر
آخرین ارسال: rezadehghan

پرش به انجمن: