host3nter

گفتگو: بهینه سازی در ارسال و دریافت در شبکه

چند وقت پیش مطلبی رو در سایتی در این مورد خونده بودم . فرض کنید ...

موضوع گفتگو: بهینه سازی در ارسال و دریافت در شبکه,.

برنامه نویس, برنامه نویسی, طراحی و ساخت بازی‌های کامپیوتری

تاريخ ارسال:2014/09/02

هاست سنتر چند وقت پیش مطلبی رو در سایتی در این مورد خونده بودم . فرض کنید ما در انجینی مثل یونیتی می خوایم از قابلیت های شبکه استفاده کنیم . همونطور که میدونید اساس کار شبکه اونطور که خود سایت یونیتی هم نوشته بر اساس تکنولوژی UDP به زبان ساده تر یعنی شما یک پیغام رو می فرستین و دریافت کننده خاصی وجود نداره البته این رو بگم که مگر میشه UDP باشد و TCP نباشد ؟ :D (نگین یارو اومد حرف بزنه هیچی بلد نیست:لبخند:)خب نکته مهم این وسط اینه که حجم پیغام ارسالی چقدر باشه که مشکلی در پهنای باند دریافت کننده و ارسال کننده پیش نیاد ! نکته جالب تر اینه که اگه سورس مربوط به پلاگین های اماده شبکه در یونیتی مثل Photon cloud - tnet و غیره ... رو دیده باشین بعضا دیده شده که از سریالیز کردن هم استفاده می کنن . سوال اینجاست همه اینا قبول ولی چه راه هایی واسه بهینه سازی یا نه کمتر کردن حجم این پیغام های ارسال وجود داره . با توجه به چیزی که من خونده بودم می گفتن سعی کنین در شبکه اکثر کارها رو خود بازی انجام بده یعنی صرف کاری که شما می کنین دستور دادن برای انجام کاری باشه . مثال بازی اندروید clash of clans رو میزنم . همونطور که می بینید توی این بازی ما تقریبا هیچ کار ریل تایمی به جز چت نداریم . حمله رو که خود سیستم انجام میده ما شاید فقط spwn کردن یونیت ها رو به عهده داشته باشیم ولی خب تنها چیزهایی که ارسال و دریافت میشه فقط مقادیر پول و یونیت و اینجور چیزهاست . فرض کنید ما قطعه دستوری برای اجرای انیمشن تغییر رنگ - حرکت هرچی داریم مثل زیر : GameObject.transform.position = new vector3(x,y,z( توصیه ای که این سایت کرده اینه که به جای اینکه بیاین این رو مثلا در قالب SerializeView خود یونیتی یا در قالب single message به وسیله RPC ارسال کنید بیاین فقط با یه دستور این رو اجرا کنین مثلا این دستور رو به قالب یک متد جدا در اورده و فق در شبکه بگین اگر فلان مقدار بود بیا این رو اجرا کن . در حالی که ارسالی که ما در شبکه داریم فقط یک دستور اشاره است به این متد ! یه مثال دیگه : [RPC] public void StageSelect(string Command) { if(Command=="MasterClient") { StartCoroutine(MasterClient()); } else if (Command == "OtherClient") { StartCoroutine(OtherPlayer()); } } IEnumerator MasterClient() { LeftOnline.SetActive(false); RightOnline.SetActive(true); yield return new WaitForSeconds(0.01f); } IEnumerator OtherPlayer() { LeftOnline.SetActive(true); RightOnline.SetActive(false); yield return new WaitForSeconds(0.01f); } عزیزانی که تجربه ای در این مورد دارن ازتون می خوام اگه میشه نظراتشون رو در این مورد بگن ببینیم مشکلی این روش داره یا نه هاست,دامین,سایت,وب,طراحی

سوال: دستوری بجای ReadLn در شبکه ایندی که بجای لاین با دریافت کلمه پایان پذیرد

نصب خودکار برنامه های جانبی

گذاشتن طرح توی themeforest.net / کسی اطلاعی داره مارو مطلع کنه لطفا

سوال: سخت تر کردن امکان خواندن کدهای سایت

سوال: ساخت elearning

بازدید ساز سئومارک

فازی c-mean

گفتگو:, بهینه, سازی, در, ارسال, و, دریافت, در, شبکه

گفتگو: بهینه سازی در ارسال و دریافت در شبکه

میزبانی وب ,هاست,فضای وب,ویندوز,لینوکس,دات نت,پی اچ پی,web hosting,windows host,linux host,asp.net,php,sql server,mysql میزبان پایتخت ارائه دهنده خدمات میزبانی وب، هاست و هاستینگ، میزبانی هاست، دامین، میزبانی نمایندگی، نمایندگی وب، سرور مجازی و سرور مجازی ابری می باشد.هاست,میزبانی وب,دامین,سرور مجازی,میزبان پایتخت,host,domain,vps,mizban paytakht,hosting,share hosting,میزبان وب,میزبانی هاست,هاستینگ

google
logo-samandehi