در برنامه نویسی

الگوی بهینه سازی-استخر اشیاء

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

هدف

استفاده مجدد اشیاء ساخته شده به جای اینکه شی جدیدی ساخته شود.

چرا؟

به خاطر کارایی حافظه! ساخت تقریبا همزمانِ تعداد بسیاری از اشیاء همسان و حذفشان هزینه بر است(به دلیل تکه تکه شدن حافظه) استفاده از این روش برای افکتها و اشیاء تکرار شونده بسیار سودمند است ، فقط کافیه به مقدار کافی رم از سیستم بگیریم و تا پایان برنامه از این فضای گرفته شده استفاده کنیم.

کاربرد

به طور کلی این روش در زبانهایی که از Garbage Collection استفاده می‌کنند مصرف بیشتری دارد و می توان در بازیهای به سبک shooter یا در  particle system به کار برد.

و در موراد زیر:

  • به طور متوالی تعدادی مشخصی شی درست می شوند و بعد حذف می شوند
  • اندازه اشیایی که می سازیم یکسان باشند (در حافظه به یک اندازه جا بگیرند)
  • با ساخت اشیاء جدید حافظه به حالت چند تکه ای دچار شود در واقع برنامه برای گرفتن حافظه مناسب زمان بیشتری صرف میکند
همان طور که گفته شد یک مقدار حافظه در ابتدای برنامه رزرو می‌کنیم ، پس اگر حافظه ای که گرفته ایم بی مصرف بماند با این روش طبیعتا قسمتی از حافظه را با دست خودمان از کار انداخته ایم. پس حتما مطمئن شوید که استفاده از این الگو شما رو در تله گرفتار نکند.

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

 

به روز رسانی برنامه از سورس

تو قسمت قبلی راجع به گرفتن سورس از مخزنهایی مثل گیت هاب و روال کلی کامپایل نوشتم ، روال ها تقریبا یکسان است و فقط ممکن است ابزارها و سیستم عامل هدف تغییر کند که در راهنمای هر برنامه ای به خوبی به آن پرداخته شده. حالا در اینجا راجع به آپدیت از مخزن مثل […]

کامپایل کنید

ممکن است به دلایل مختلفی قصد داشته باشیم سورس کد یک نرم افزار رو کامپایل کنیم. معمولا فایل اجرایی در اختیار عموم قرار می‍‌‌‌‎گیرد و اگر به هر دلیلی بسته اجرایی موجود نباشد (مثلا همگانی نبودن نرم افزار) راهی نمی ماند جز کامپایل از سورس کد  و به طور حتم نرم افزار باید اوپن سورس […]

محلی برای لذت حل مساله

یکی از لذت های برنامه نویسی حل مسایل مختلف به روش های غیر معمول بوده ، این روشهای حل مساله معمولا چند دلیل برای به وجود آمدنشان دارند که مهمترین آن محدودیت منابع سیستمی است. یکی دیگر از این علتها بیکاری یا جنبه سرگرم کننده بودن حل مساله است که من با این قسمت ماجرا […]