مرجع اموزش بازی سازی با یونیتی https://rosedev.ir
دوره ساخت بازی آنلاین ( فصل یک - درس سوم ) buffer
buffer چیست ؟ :
ساده ترین تعریفی که میشود برای بافر ارائه داد این است یک قسمت از فضای رم (یا حافظه موقت ) را که در آن اطلاعات ذخیره شده است ( مثلا 128 کیلو بایت ) را بافر می گویند , البته بیشترین کاربرد بافر برای جبران کمبود سرعت سایر قطعات نسبت به سی پی یو و جی پی یو هست به تصویر زیر دقت کنید :
سایز بافر این هارد دیسک 256 مگابایت است .
یک مثال در مورد کارکرد بافر :
وقتی که شما نیاز به اجرای یک فایل سنگین ( یک فیلم یا اهنگ و … ) مثلا 500 مگابایتی دارید اگر قرار باشد تا این فایل برای بخش شدن بایت به بایت از روی هارد دیسک خوانده شود هم باعث لگ زدن پلیر کامپیوتر شما میشود و هم سی پی یو را بصورت دایم درگیر میکند , برای جلوگیری از این مشکل قسمتی از فایل انتخاب شده روی حافظه رم لود میشود تا کمبود سرعت بین قطعات را جبران کند در تصویر بالا میبینیم که میزان بافر برای این هارد دیسک 256 مگابایت است , البته بافر کاربرد های دیگری هم دارد که به درس ما مربوط نمیشود , برگردیم سر موضوع درس :
کاربرد بافر در بازی های آنلاین ؟
در بازی های انلاین ما برای ارسال و دریافت و نگهداری اطلاعات از بافر استفاده میکنیم به این خاطر که سرعت بسیار بالایی دارد و به راحتی قابل تبدیل و حذف است , فرض کنید نیاز داریم تا یک متغیر از نوع int را از کلاینت به سرور ارسال کنیم , برای اینکار ابتدا متغیر خود را به بایت تبدیل کرده و برای سرور ارسال میکنیم و سرور آن را دوباره به int تبدیل میکند.
حال شاید بپرسید که نقش بافر در این میان چیست ؟
ما یک سایز مشخص رو برای اندازه بافر در نظر میگیریم هر چه این سایز کوچکتر باشد سرعت پردازش و ارسال و دریافت آن نیز بیشتر است , کلاس استریم وظیفه خواندن بایت به بایت و نوشتن بایت به بایت را دارد و یا اینگونه میشود گفت که این کلاس به صورت دائمی در حال دریافت اطلاعات است , برای تشخیص و تبدیل اطلاعات دریافتی اگر ما یه قالب داشته باشیم این کار راحت تر خواهد بود مثلا ما سایز بافر را برابر 32 کیلو بایت در نظر میگیریم و داخل شرط ذکر میکنیم که اگر سریم دارای دیتا بود بایت ها را در پک های 32 کیلو بایتی دسته بندی کند و بخواند , همین کار رو برای ارسال دیتا نیز انجام میدهیم.
اگر درس قبلی را مطالعه کرده باشید در اتصال UDP سایز پک های ارسالی سایز کمتری دارند ولی همین باعث افزایش سرعت این نوع سرور میشود.
برای اطلاع از بروز رسانی این درس به این آدرس مراجعه نمایید.
مطلبی دیگر از این انتشارات
مپ های ترسناک ماین کرافت
مطلبی دیگر از این انتشارات
برترین عناوین گیم در سال ۲۰۲۱
مطلبی دیگر از این انتشارات
چند نکته کلیدی برای بردن بازی ها در FIFA22