از لیون کامپیوتر قســـــــــــــــــــــــــــــــــــطی خرید کنید فروش اقساطی برای سراسر ایران
اخبار سخت افزار ، نرم افزار ، بازی و دنیای آیتی در مجله لیون کامپیوتر 🤩
-
پست
632 -
تاریخ عضویت
-
آخرین بازدید
-
روز های برد
1 -
بازخورد
100%
نوع محتوا
نمایه ها
انجمنها
بلاگها
فروشگاه
تمامی مطالب نوشته شده توسط Javadmpower
-
Up
-
ایا سری8 رو میشه روی z170 سوار کرد؟ واقعا مهمه الان برام
- 17 ارسال
-
- intel
- coffee lake
-
(و 2 مورد دیگر)
برچسب زده شده با :
-
سلام دوستان یه 980ti سالم بدون دستکاری و اوور نیازمندیم ترجیحا گارانتی دار مچکر
-
درخواست قیمت
Javadmpower پاسخی برای jahfar ارسال کرد در تاپیک : خریدو فروش سیستم کامل و چند قطعه کامپیوتر با هم
میشه حدود 3400 درضمن منم 1155 داشتم و الکی مفت فروختم 1151خریدم و هیچی هم غیر ضرر گیرم نیومد این سیستم غول نیازی به ارتقا نداره با3 ملیون شاید بشه یه سیستم جدیدتر خرید ولی نه core i7 -
تشکراز اقا وحید گل که با ایه و حمد خدا شروع کردن و فقط نمیدونم چرا اینقدر که ما دوسش داریم یه اسم کاربری پرمحتوا ورداشته
-
قیمت و طرح های اینترنت نامحدود اعلام شد
Javadmpower پاسخی برای M-yousef ارسال کرد در تاپیک : تجهیزات شبکه و اینترنت
بسیار خرسندیم و ،،هرروز بهتراز دیروز،، صاایران -
ایا 8گیگ رم برای سیستم گیمینگ حرفه ای کافیه؟
Javadmpower پاسخی برای Javadmpower ارسال کرد در تاپیک : PC گیمینگ
خیلی عالی اما فک نمیکردم این اتفاقا بیوفتن میترسمکم کم همین 16گیگ هم کم بیاد -
ایا 8گیگ رم برای سیستم گیمینگ حرفه ای کافیه؟
Javadmpower پاسخی برای Javadmpower ارسال کرد در تاپیک : PC گیمینگ
عجیبه برام رم خوره دارن بعضی بازیا انگار -
ایا 8گیگ رم برای سیستم گیمینگ حرفه ای کافیه؟
Javadmpower پاسخی برای Javadmpower ارسال کرد در تاپیک : PC گیمینگ
همون fhd یا نهایتش 2k البته اگه درمورد 4k هم توضیح بدین که دقیقا رزولوشن بالا چطور باعث افزایش فشار روی رم میشه ممنون میشیم -
سلام جناب رسا
خوبین
یکی از دوستان یه سری کارت
Gigabyte 1060 wf2 oc 6gig
3سال اواژنگ داره بقیمت 1255
کهمن خودم یکیشو خریدم
اگه کسی خاست درخدمتیم
03134250354
یاس رایانه
سلطانی
-
سلام چرا گیمرها بیش از 8 گیگ رم میخرن؟ من خودمم کلی پول دادم و 4تا 4 گیگ gskill خریدم وقتی در یک زمان فقط یه بازی اجرا میکنیم چه دلیلی داره که رم پر بشه و 8گیگ کم بیاد؟ بعضیا هم که میگن فقط trident Z دوست دارم اونم 3200 باس !!
-
خریدار 1080 ( کم کارکرد ) با قیمت منصفانه
Javadmpower پاسخی برای Parsicoola ارسال کرد در تاپیک : خرید و فروش کارت گرافیک VGA
اینجوری واقعا بد گیرمیاد دوست نزدیک من یه گیگا اکستریم رو 2400 خرید یکماه پیش البته اون مدل زیادی گرونه -
پیشنهاد خرید گوشی
Javadmpower پاسخی برای koorosh kabir ارسال کرد در تاپیک : خرید و فروش گوشی موبایل و لوازم جانبی موبایل
دوست عزیز من همممممممه جور گوشی داشتم از ایفون بگیر تااااا بهترین سونی ها و.... الان هیچی مثل شیاومی mi5 64 gig بصرفه نیست همه مشخصاتش هم همونیه که میخای خودمم دارم رام گلوبال بخر حدود 940 تومنه مشکی گرونتره البته رابط کاربری خیلی حرفه ای میخای فقط هواوی که برند مورد علاقه منه -
راهنمایی فروش کارت گرافیک GTX780 Lightning
Javadmpower پاسخی برای AlirezaD ارسال کرد در تاپیک : مشاوره برای انتخاب قطعات سیستم
این کارت رو اگه 700 بفروشی خیلی شیرین فروختی بنظرم نهایتش 700 هست و کمتر من شخصا 290x غیر رفرنس رو به این کارت ترجیح میدم همینطوری گفتم -
خریدار مانیتور متوسط تا حرفه ای
Javadmpower پاسخی برای farshad18 ارسال کرد در تاپیک : خرید و فروش مانیتور
سلام Asus vx279h 1,100 -
کارت Asus Strix Rog RX580 8G نو و اکبند
Javadmpower پاسخی برای kamtesel17 ارسال کرد در تاپیک : خرید و فروش کارت گرافیک VGA
منم میبرین خنده وانه؟ اخه مخم تاب ورداشت با این تاپیک- 13 ارسال
-
- کارت گرافیک
- rx580
-
(و 1 مورد دیگر)
برچسب زده شده با :
-
افزایش RAM بکمک فلش مموری!!
Javadmpower پاسخی برای Javadmpower ارسال کرد در تاپیک : CPU و انواع پردازنده ها و حافظه ها ( RAM )
بله ممنون -
افزایش RAM بکمک فلش مموری!!
Javadmpower پاسخی برای Javadmpower ارسال کرد در تاپیک : CPU و انواع پردازنده ها و حافظه ها ( RAM )
نظر؟ -
هنگام بازی اطلاعات چگونه از هارد خوانده میشوند؟
Javadmpower پاسخی برای Javadmpower ارسال کرد در تاپیک : PC گیمینگ
ای اقا شما که clever هستی دیگ چرا -
افزایش RAM بکمک فلش مموری!!
Javadmpower پاسخی ارسال کرد برای یک تاپیک در CPU و انواع پردازنده ها و حافظه ها ( RAM )
بسیاری از کارتهای گرافیک قابلیت share یا اشتراک گذاری دارند، به این صورت که مثلا شما کارت گرافیک 1 گیگابایتی دارید اما اگر به اندازه کافی رم داشته باشید (مثلا 4 گیگابایت)، کارت گرافیک به اندازه مشخصی (هر چقدر که بتواند share کند) از رم سیستم برای پردازش گرافیکی استفاده میکند، حال این موضوع چه ربطی به نرم افزار eboostr دارد؟ مثلا شما میتوانید از فلش مموری خودتان که گوشهای افتاده و در حال خاک خوردن است به عنوان رم سیستم استفاده کنید ( WOW! ). به این صورت که نرمافزار را نصب و اجرا میکنید. سپس به راحتی هرچه تمامتر فلش مموری را به سیستم متصل و در برنامه eboostr گزینه configure را تیک زده و فلش مموری خودتان را انتخاب میکنید. بعد تیک گزینه use this device for caching را زده و مشخص میکنید که برنامه چه مقدار از فلش مموری شما را به عنوان رم سیستم استفاده کند. سپس apply را زده و منتظر میمانید تا برنامه دستورات را اجرا کند. حال کار تمام است و هر موقع که فلش مموری متصل باشد و برنامه در حال اجرا، به همان مقداری که مشخص کردهاید به رم سیستم شما اضافه خواهد شد و در نتیجه سیستم به اندازه کافی فضای خالی در اختیار دارد تا کارت گرافیک شما از آن فضا برای پردازش گرافیکی استفاده کند. حال برای اینکه بفهمید کارت گرافیک شما به چه اندازه ای قابلیت share دارد، در ویندوز 7 روی دسکتاپ راست کلیک کرده و screen resolution را بزنید، سپس advanced settings را انتخاب کرده و در مقابل shared system memory مقداری که کارت گرافیک شما میتواند از رم به عنوان پردازش گرافیکی استفاده کند را ببینید. این روش بیشتر برای کسانی موثراست که رم سیستم آنها از ۴ گیگابایت کمتر باشد ( ولی این دلیل نمیشه که اگر سیستم شما مقدار رم بیشتری داره از این قابلیت استفاده نکنید، بالاخره سنگ مفت گنجشک مفت! بزنید شاید فرجی شد!! درضمن این قابلیت در ویندوز 7 و 8 به صورت پیش فرض در قالب برنامهای به اسم readyboost وجود دارد ولی چون استفاده از این برنامه کارایی بیشتری از readyboost ویندوز دارد، ترجیح دادم که آن را توضیح دهم. -
هنگام بازی اطلاعات چگونه از هارد خوانده میشوند؟
Javadmpower پاسخی برای Javadmpower ارسال کرد در تاپیک : PC گیمینگ
امیدوارم مطلب شیرینی باشه چون خودم کیف کردم -
سیستم شما باندازه کافی ضعیف و قدیمی هست اگه این مشکل قبلا نبوده و جدیدا اتفاق افتاده کابل دیتا و خود هارد رو چک کنین که عمرشون حتما خیلی بالاس
-
هنگام بازی اطلاعات چگونه از هارد خوانده میشوند؟
Javadmpower پاسخی ارسال کرد برای یک تاپیک در PC گیمینگ
دو نوع اطلاعات از لحاظ استفاده در بازیها داریم (هرچند که تعداد انواع این اطلاعات بسیار بیشتر از دو نوع هستش ولی در اینجا اشاره به دو نوعش کافی هستش) : یک سری از اطلاعات باید در زمان لود شدن مراحل و قرار گرفتن بازیباز در مرحله لود بشن...این اطلاعات مواردی مثل بافت اسلحه ها , بافت زمین و محیط اطراف , فایلهای موسیقی و صوتی بازی و غیره هستن که قبل از اینکه بر روی RAM قرار بگیرن باید از روی Hard Drive و یا از روی Optical Disk خونده بشن... نوع دوم اطلاعاتی هستن که به اصطلاح بصورت Real-Time در حال اجرا شدن هستن (و شامل اطلاعات نوع اول هم هستن)...این اطلاعات مواردی مثل مختصات قرار گیری بازیباز , میزان جان باقیمانده ی وی , تعداد مهمات , مختصات نورپردازی بازی , محاسبات مربوط به Shader های بازی و غیره هستن که از روی Hard Disk و یا Optical Disk خونده نمیشن...این اطلاعات در طول اجرا شدن بازی توسط موتور بازی در داخل RAM قرار میگیرن و هی بر روی اونها محاسبات مختلف انجام میگیره... در متن قبل من به مهمترین تفاوت بین وجود و عدم وجود هارد درایو اشاره کردم ولی فرصت نکردم که به RAM بپردازم...در واقع هدف اصلی متن قبلی نشون دادن تفاوت سرعتهای لودینگ بازیها در سیستمهای دارا و فاقد رم بودش... بیاین فرض کنیم که انتقال داده رو در کنسول و PC به دو قسمت زیر تقسیم کردیم : انتقال داده ها از Hard Drive به سیستم انتقال داده ها بین RAM و CPU در کنسولها و سیستمهای نسل حاضر دومین مقوله دارای برتری خاصی نیستش...به این معنی که سرعت انتقال داده ها بین RAM و CPU اونقدر بین PC و کنسول فرقی نداره که بخواد تاثیر زیاد در زمانهای لودینگ داشته باشه (مثلا لودینگ رو از 20 ثانیه به 3 ثانیه کاهش بده) و علتش هم اینه که هم کنسولها و هم PC ها فعلا از آرکیتکچرها تقریبا متشابهی برای RAM هاشون استفاده میکنن و هر دوی این سیستمها هم دارای RAM هستن... PS3 دارای رم XDR شرکت Rambus هستش که کمتر توی PC ها دیده شده ولی باعث نمیشه که تقاوت اساسی داشته باشن...360 از آرکیتکچر متشابه رمهای DDR 2 برای RAM ش استفاده کرده و رمهای امروزی PC ها هم از DDR 1 گرفته تا GDDR 4 ساختمانهای خیلی متفاوتی با هم ندارن... از طرفی PC های امروزی ما دیگه بیشتر با رمهای DDR 2 کار میکنن که خیلی متشابه همون رمهای کنسولها هستش و برتری خاصی رو به اونها نمیده... رمهای GDDR 3 و GDDR 4 برای کارتهای گرافیکی استفاده میشن و دارای سرعتهای بالاتری از DDR 1 و DDR 2 ها هستن... همین باعث شد که من توی موضوع قبلی اشاره ی خاصی به RAM نکنم : برای اینکه اگر به اندازه ی کافی هم در PC و هم در کنسول باشه , تفاوت زمان لودینگهای این دو سیستم تقریبا کمرنگ میشه... ولی عدم وجود هارد درایو مشکلی بود که باعث تفاوت عظیم سرعت بین کنسولها و PC ها شده بود و برای همین در متن بالا بهش اشاره کردم... بزرگترین نقش رو در اجرای بازی همون RAM ایفا میکنه...Counter Strike رو در نظر میگیریم : بازی شروع میشه و یک منو برای خرید نمایش داده میشه...در کنار هر اسلحه یک سری مشخصات نوشته شده...موتور بازی میره و اطلاعات بازی رو از داخل هارد دیسک بیرون میکشه و درون RAM میریزه...CPU این اطلاعات رو میخونه و طبق دستوری که موتور بازی بهش میده اونها رو نمایش میده...توی زبانهای برنامه نویسی تا وقتی که فایل رو نبندی اطلاعات درونش Save نمیشه (fClose) و در یک بازی بستن فایل به معنی خارج شدن از بازی بطور درست هستش...پس در بین بازی این اطلاعات در هارد نوشته نمیشن...پس کجا هستن ؟! این اطلاعات درون RAM سیستم قرار میگیرن و بصورت دینامیک تغیر میکنن و در انتها به هنگام Save کردن بازی , موتور بازی نگاهی به نتایج نهایی این اطلاعات در RAM میندازه (که روشون تا به این لحظه تغییرات صورت گرفته ولی ثبت نشدن) و سپس این اطلاعات نهایی رو در یک فایل باینری ذخیره میکنه... مثلا در بازی به یک دیوار نگاه میکنین...این دیوار روش یک بافت کشیده شده...موتور بازی وقتی که به سمت دیوار نگاه میکنین میفهمه که باید بافت این دیوار رو سریع لود کنه...پس میره و از توی هارد درایو اطلاعات این بافت رو که یک عکس هستش پیدا میکنه ولی سعی نمیکنه که این اطلاعات رو از روی همون هارد بخونه...بلکه اطلاعات این عکس رو درون RAM میریزه و به کمک کلاسهایی که برای موتور تعریف شده , اونرو درون RAM کارت گرافیک به Texture های مختلفی تبدیل میکنه که بصورت دینامیک بوجود اومدن (یعنی یک Pointer هستن که Dynamic Allication دارن)...این یکی دیگه از کارهای RAM کارت گرافیک بودش... در اینجا خوب میبینم که به موضوعی اشاره کنم...به هر کی میگی که کارت گرافیکت چیه سریع میگه "فلان تا RAM داره !" و مشکل اینجاست که اغلب ماها قدرت کارت گرافیک رو در RAM ش میبینم و نه GPU ش...در حالیکه همونطور که اشاره کردم قسمت اصلی کار یک RAM برای کارت گرافیک همون نگهداری بافتهای یک مرحله هستش (البته کارهای شاخ دیگه ایی رو هم مثل نگهداری اطلاعات Shading ها و Shader ها انجام میده که بهش اشاره ایی نمیکنم)... بافتهای بازی ایی مثل Counter Strike حجمشون فراتر از چند مگابایت هم نیستش و همین باعث میشه که مثلا با یک کارت گرافیک 64 مگابایتی بتونی بازی رو اجرا کنی (البته نه بهینه) ولی در موتوری مثل Unreal و یا حتی id Tech 4 (که باهاش بازی Doom 3 رو ساختن) کیفیت بافتها به چند ده مگابایت میرسه که اگه بخوای در یک صحنه از 10 تاشون استفاده کنی یه دفعه میبینی که نیم گیگابایت از فضای RAM پر شدش و برای همین وجود RAM بیشتر برای کارت گرافیک در چنین مواقعی یک نعمت میشه... هر چند که یک سری الگوریتم خاص برای Mapping های بافتها هستن که حجمشون رو بدون از بین بردن کیفیت بالاشون کاهش میدن...خود استاد جان کارمک با ارائه ی جدیدترین موتورش (id Tech 5) تونسته در یک مرحله ی کوچولو بیش از 18 گیگابایت بافت رو در موتورش استفاده کنه و جالبه که این موتور رو طوری نوشته که با یه کارت گرافیک 256 مگابایتی هم میشه بازی رو اجرا کرد ! فقط ببین الگوریتم اون موتور چیه ! از RAM کارت گرافیک به RAM اصلی سیستم میریم...خب ! توی بازی Crysis یک بمب منفجر میشه و یک خونه رو نابود میکنه...این خانه ی یک تکه حالا تبدیل به تقریبا 10 هزار تکه ی کوچکتر شده که همه شون باید مطابق با شعاع انفجار , شدت انفجار , شتاب انفجار و نیروی وارد بهشون جهت گیری کنن... برنامه نویس فیزیکی بازی (از بین انواع و اقسام برنامه نویسهای موتور بازی) یکی از وظایفش اینه که بشینه و برای این انفجارهای از پیش تعیین نشده الگوریتم بنویسه...گفتم میشن 10 هزار تا شیئ دیگه ؟! خب ! این 10 هزار تا شیئ هر کدوم باید طبق نیروی خاصی که از جهت خاصی بهشون وارد شده جهت گیری بکنن و با بردار نرمال مخصوص به خودشون و نیروی مخصوص به اون به اطراف پرتاب بشن... CPU میاد و اطلاعات این 10 هزار تا شیئی رو در آن در RAM میریزه...بعدش میاد و برای این 10 هزار تا شیئ محاسبه های ریاضی واقعا سنگین میکنه...محاسبه هایی که باید حتما درشون یک ماتریس نوشته بشه که مختصات رو نشون میده و یک نیرو باید ضربدر این ماتریس بشه (و همه مون میدونیم که چقدر محاسبات ضرب ماتریسی سخت و طاقت فرساست حتی برای CPU ها !) و سپس جوابهای بدست آمده در یک آرایه ی Integer (و نه Float برای اینکه خیلی محاسبات سخت میشه) گونه ریخته بشن...سپس این آرایه ی 4 در 4 نشان دهنده ی اطلاعات خاصی هستش که باید روی جسم (یعنی یکی از اون ده هزارتا جسم) اعمال بشه تا اون جسم بطور طبیعی در اثر انفجار به اطراف پرت بشه... خب ! 10 هزار تا جسم داریم...هر کدوم یک آرایه ی مثلا 3 در 3 میخوان که میشه 9 تا خونه...هر کدوم از خونه ها هم با توجه به ++C (زبان مادر بازی نویسی) برابر هستن با 4 بایت (بر روی سیستمهای 32 بیتی) پس خواهیم داشت : مرحله ی اول (جهت گیری اولیه) : 9 ضربدر 4 (بایت) ضربدر 10000 = 360 کیلوبایت مرحله ی دوم (نیروی اعمالی بر روی اجسام) : 9 (و یا بیشتر) ضربدر 4 ضربدر 10000 = 360 کیلوبایت (و یا بیشتر) مرحله ی سوم (ترسیم پرتاب و همچنین تغییر لحظه به لحظه ی اطلاعات) : 9 (و یا بیشتر) ضربدر 4 ضربدر 10000 = 360 کیلوبایت (و یا بیشتر) و این چرخه همینطوری ادامه پیدا میکنه...برای یک پرتاب ساده باید موارد زیر رو در نظر گرفت : جهت پرتاب (یک بردار در فضای سه بعدی) , نیروی پرتاب (یک مقدار برداری که دارای مقدار عددی هم هست) , شتاب پرتاب (که از نیرو به دست میاد) , محیط پرتاب ( چک کردن اینکه چه موانعی در سر راه جسم است) , پرتاب (شروع شدن انیمه کردن پرتاب) , برخورد ( محاسبات مربوط به فیزیک بازی در هنگام برخورد) , بعد از برخورد ( محسبات پس از برخورد جسم و محسباتی همچون قل خوردن و یا لیز خوردن و انیمه کردن اونها) و این فقط یک قسمت کوچیک بازی یعنی فیزیک بود که چیزی در حدود 3 مگابایت رو در ساده ترین حالتش (که بازخوردی هم نداره) رو به خودش اختصاص میده... در کنار محاسبات فیزیک , موتور بازی باید حجم عظیمی از دیگر اطلاعات رو جمع کنه مثل موارد زیر : تعداد اسلحه ها و مهمات بازیباز , تعداد دشمنان در دید بازیباز , تعداد دشمنان کلی , اطلاعات چند برداری مربوط به محیط , اطلاعات مربوط به بازخوردها , فراخوانی مکرر اطلاعات مربوط به انیمیشنها و قرار دادن آنها در RAM تا CPU آنها رو اجرا کند , جمع آوری اطلاعات کلی بازی در حین مرحله برای مواقع Save , جمع کردن اطلاعات گرافیکی و فرستادن آنها به کارت گرافیک , محاسبات نورپردازی (در کنار کارت گرافیک) , محاسبات دینامیک برداری , داشتن اطلاعات لازم از بازیباز مثل دید دوربین و زاویه ش و مختصات نقش آفرینی بازیباز و همچنین داشتن بانکی برای دریافت input های بی وقفه و مکرر یک یوزر در حین بازی تا اونها رو دسته بندی و سپس اجرا کنه... و اینها فقط قسمت کوچکی از یک نرم افزار به نام موتور بازی هستش که این کارها رو انجام میده و همین باعث میشه که RAM بازی که بصورت دینامیک هی پر و هی خالی از اطلاعات بازی میشه , تبدیل به یکی از مهمترین (واقعا مهم !) قسمتهای یک سیستم و بالطبعش یک بازی بشه...- 4 ارسال
-
- 2
-
هنگام بازی اطلاعات چگونه از هارد خوانده میشوند؟
Javadmpower پاسخی ارسال کرد برای یک تاپیک در PC گیمینگ
دو نوع اطلاعات از لحاظ استفاده در بازیها داریم (هرچند که تعداد انواع این اطلاعات بسیار بیشتر از دو نوع هستش ولی در اینجا اشاره به دو نوعش کافی هستش) : یک سری از اطلاعات باید در زمان لود شدن مراحل و قرار گرفتن بازیباز در مرحله لود بشن...این اطلاعات مواردی مثل بافت اسلحه ها , بافت زمین و محیط اطراف , فایلهای موسیقی و صوتی بازی و غیره هستن که قبل از اینکه بر روی RAM قرار بگیرن باید از روی Hard Drive و یا از روی Optical Disk خونده بشن... نوع دوم اطلاعاتی هستن که به اصطلاح بصورت Real-Time در حال اجرا شدن هستن (و شامل اطلاعات نوع اول هم هستن)...این اطلاعات مواردی مثل مختصات قرار گیری بازیباز , میزان جان باقیمانده ی وی , تعداد مهمات , مختصات نورپردازی بازی , محاسبات مربوط به Shader های بازی و غیره هستن که از روی Hard Disk و یا Optical Disk خونده نمیشن...این اطلاعات در طول اجرا شدن بازی توسط موتور بازی در داخل RAM قرار میگیرن و هی بر روی اونها محاسبات مختلف انجام میگیره... در متن قبل من به مهمترین تفاوت بین وجود و عدم وجود هارد درایو اشاره کردم ولی فرصت نکردم که به RAM بپردازم...در واقع هدف اصلی متن قبلی نشون دادن تفاوت سرعتهای لودینگ بازیها در سیستمهای دارا و فاقد رم بودش... بیاین فرض کنیم که انتقال داده رو در کنسول و PC به دو قسمت زیر تقسیم کردیم : انتقال داده ها از Hard Drive به سیستم انتقال داده ها بین RAM و CPU در کنسولها و سیستمهای نسل حاضر دومین مقوله دارای برتری خاصی نیستش...به این معنی که سرعت انتقال داده ها بین RAM و CPU اونقدر بین PC و کنسول فرقی نداره که بخواد تاثیر زیاد در زمانهای لودینگ داشته باشه (مثلا لودینگ رو از 20 ثانیه به 3 ثانیه کاهش بده) و علتش هم اینه که هم کنسولها و هم PC ها فعلا از آرکیتکچرها تقریبا متشابهی برای RAM هاشون استفاده میکنن و هر دوی این سیستمها هم دارای RAM هستن... PS3 دارای رم XDR شرکت Rambus هستش که کمتر توی PC ها دیده شده ولی باعث نمیشه که تقاوت اساسی داشته باشن...360 از آرکیتکچر متشابه رمهای DDR 2 برای RAM ش استفاده کرده و رمهای امروزی PC ها هم از DDR 1 گرفته تا GDDR 4 ساختمانهای خیلی متفاوتی با هم ندارن... از طرفی PC های امروزی ما دیگه بیشتر با رمهای DDR 2 کار میکنن که خیلی متشابه همون رمهای کنسولها هستش و برتری خاصی رو به اونها نمیده... رمهای GDDR 3 و GDDR 4 برای کارتهای گرافیکی استفاده میشن و دارای سرعتهای بالاتری از DDR 1 و DDR 2 ها هستن... همین باعث شد که من توی موضوع قبلی اشاره ی خاصی به RAM نکنم : برای اینکه اگر به اندازه ی کافی هم در PC و هم در کنسول باشه , تفاوت زمان لودینگهای این دو سیستم تقریبا کمرنگ میشه... ولی عدم وجود هارد درایو مشکلی بود که باعث تفاوت عظیم سرعت بین کنسولها و PC ها شده بود و برای همین در متن بالا بهش اشاره کردم... بزرگترین نقش رو در اجرای بازی همون RAM ایفا میکنه...Counter Strike رو در نظر میگیریم : بازی شروع میشه و یک منو برای خرید نمایش داده میشه...در کنار هر اسلحه یک سری مشخصات نوشته شده...موتور بازی میره و اطلاعات بازی رو از داخل هارد دیسک بیرون میکشه و درون RAM میریزه...CPU این اطلاعات رو میخونه و طبق دستوری که موتور بازی بهش میده اونها رو نمایش میده...توی زبانهای برنامه نویسی تا وقتی که فایل رو نبندی اطلاعات درونش Save نمیشه (fClose) و در یک بازی بستن فایل به معنی خارج شدن از بازی بطور درست هستش...پس در بین بازی این اطلاعات در هارد نوشته نمیشن...پس کجا هستن ؟! این اطلاعات درون RAM سیستم قرار میگیرن و بصورت دینامیک تغیر میکنن و در انتها به هنگام Save کردن بازی , موتور بازی نگاهی به نتایج نهایی این اطلاعات در RAM میندازه (که روشون تا به این لحظه تغییرات صورت گرفته ولی ثبت نشدن) و سپس این اطلاعات نهایی رو در یک فایل باینری ذخیره میکنه... مثلا در بازی به یک دیوار نگاه میکنین...این دیوار روش یک بافت کشیده شده...موتور بازی وقتی که به سمت دیوار نگاه میکنین میفهمه که باید بافت این دیوار رو سریع لود کنه...پس میره و از توی هارد درایو اطلاعات این بافت رو که یک عکس هستش پیدا میکنه ولی سعی نمیکنه که این اطلاعات رو از روی همون هارد بخونه...بلکه اطلاعات این عکس رو درون RAM میریزه و به کمک کلاسهایی که برای موتور تعریف شده , اونرو درون RAM کارت گرافیک به Texture های مختلفی تبدیل میکنه که بصورت دینامیک بوجود اومدن (یعنی یک Pointer هستن که Dynamic Allication دارن)...این یکی دیگه از کارهای RAM کارت گرافیک بودش... در اینجا خوب میبینم که به موضوعی اشاره کنم...به هر کی میگی که کارت گرافیکت چیه سریع میگه "فلان تا RAM داره !" و مشکل اینجاست که اغلب ماها قدرت کارت گرافیک رو در RAM ش میبینم و نه GPU ش...در حالیکه همونطور که اشاره کردم قسمت اصلی کار یک RAM برای کارت گرافیک همون نگهداری بافتهای یک مرحله هستش (البته کارهای شاخ دیگه ایی رو هم مثل نگهداری اطلاعات Shading ها و Shader ها انجام میده که بهش اشاره ایی نمیکنم)... بافتهای بازی ایی مثل Counter Strike حجمشون فراتر از چند مگابایت هم نیستش و همین باعث میشه که مثلا با یک کارت گرافیک 64 مگابایتی بتونی بازی رو اجرا کنی (البته نه بهینه) ولی در موتوری مثل Unreal و یا حتی id Tech 4 (که باهاش بازی Doom 3 رو ساختن) کیفیت بافتها به چند ده مگابایت میرسه که اگه بخوای در یک صحنه از 10 تاشون استفاده کنی یه دفعه میبینی که نیم گیگابایت از فضای RAM پر شدش و برای همین وجود RAM بیشتر برای کارت گرافیک در چنین مواقعی یک نعمت میشه... هر چند که یک سری الگوریتم خاص برای Mapping های بافتها هستن که حجمشون رو بدون از بین بردن کیفیت بالاشون کاهش میدن...خود استاد جان کارمک با ارائه ی جدیدترین موتورش (id Tech 5) تونسته در یک مرحله ی کوچولو بیش از 18 گیگابایت بافت رو در موتورش استفاده کنه و جالبه که این موتور رو طوری نوشته که با یه کارت گرافیک 256 مگابایتی هم میشه بازی رو اجرا کرد ! فقط ببین الگوریتم اون موتور چیه ! از RAM کارت گرافیک به RAM اصلی سیستم میریم...خب ! توی بازی Crysis یک بمب منفجر میشه و یک خونه رو نابود میکنه...این خانه ی یک تکه حالا تبدیل به تقریبا 10 هزار تکه ی کوچکتر شده که همه شون باید مطابق با شعاع انفجار , شدت انفجار , شتاب انفجار و نیروی وارد بهشون جهت گیری کنن... برنامه نویس فیزیکی بازی (از بین انواع و اقسام برنامه نویسهای موتور بازی) یکی از وظایفش اینه که بشینه و برای این انفجارهای از پیش تعیین نشده الگوریتم بنویسه...گفتم میشن 10 هزار تا شیئ دیگه ؟! خب ! این 10 هزار تا شیئ هر کدوم باید طبق نیروی خاصی که از جهت خاصی بهشون وارد شده جهت گیری بکنن و با بردار نرمال مخصوص به خودشون و نیروی مخصوص به اون به اطراف پرتاب بشن... CPU میاد و اطلاعات این 10 هزار تا شیئی رو در آن در RAM میریزه...بعدش میاد و برای این 10 هزار تا شیئ محاسبه های ریاضی واقعا سنگین میکنه...محاسبه هایی که باید حتما درشون یک ماتریس نوشته بشه که مختصات رو نشون میده و یک نیرو باید ضربدر این ماتریس بشه (و همه مون میدونیم که چقدر محاسبات ضرب ماتریسی سخت و طاقت فرساست حتی برای CPU ها !) و سپس جوابهای بدست آمده در یک آرایه ی Integer (و نه Float برای اینکه خیلی محاسبات سخت میشه) گونه ریخته بشن...سپس این آرایه ی 4 در 4 نشان دهنده ی اطلاعات خاصی هستش که باید روی جسم (یعنی یکی از اون ده هزارتا جسم) اعمال بشه تا اون جسم بطور طبیعی در اثر انفجار به اطراف پرت بشه... خب ! 10 هزار تا جسم داریم...هر کدوم یک آرایه ی مثلا 3 در 3 میخوان که میشه 9 تا خونه...هر کدوم از خونه ها هم با توجه به ++C (زبان مادر بازی نویسی) برابر هستن با 4 بایت (بر روی سیستمهای 32 بیتی) پس خواهیم داشت : مرحله ی اول (جهت گیری اولیه) : 9 ضربدر 4 (بایت) ضربدر 10000 = 360 کیلوبایت مرحله ی دوم (نیروی اعمالی بر روی اجسام) : 9 (و یا بیشتر) ضربدر 4 ضربدر 10000 = 360 کیلوبایت (و یا بیشتر) مرحله ی سوم (ترسیم پرتاب و همچنین تغییر لحظه به لحظه ی اطلاعات) : 9 (و یا بیشتر) ضربدر 4 ضربدر 10000 = 360 کیلوبایت (و یا بیشتر) و این چرخه همینطوری ادامه پیدا میکنه...برای یک پرتاب ساده باید موارد زیر رو در نظر گرفت : جهت پرتاب (یک بردار در فضای سه بعدی) , نیروی پرتاب (یک مقدار برداری که دارای مقدار عددی هم هست) , شتاب پرتاب (که از نیرو به دست میاد) , محیط پرتاب ( چک کردن اینکه چه موانعی در سر راه جسم است) , پرتاب (شروع شدن انیمه کردن پرتاب) , برخورد ( محاسبات مربوط به فیزیک بازی در هنگام برخورد) , بعد از برخورد ( محسبات پس از برخورد جسم و محسباتی همچون قل خوردن و یا لیز خوردن و انیمه کردن اونها) و این فقط یک قسمت کوچیک بازی یعنی فیزیک بود که چیزی در حدود 3 مگابایت رو در ساده ترین حالتش (که بازخوردی هم نداره) رو به خودش اختصاص میده... در کنار محاسبات فیزیک , موتور بازی باید حجم عظیمی از دیگر اطلاعات رو جمع کنه مثل موارد زیر : تعداد اسلحه ها و مهمات بازیباز , تعداد دشمنان در دید بازیباز , تعداد دشمنان کلی , اطلاعات چند برداری مربوط به محیط , اطلاعات مربوط به بازخوردها , فراخوانی مکرر اطلاعات مربوط به انیمیشنها و قرار دادن آنها در RAM تا CPU آنها رو اجرا کند , جمع آوری اطلاعات کلی بازی در حین مرحله برای مواقع Save , جمع کردن اطلاعات گرافیکی و فرستادن آنها به کارت گرافیک , محاسبات نورپردازی (در کنار کارت گرافیک) , محاسبات دینامیک برداری , داشتن اطلاعات لازم از بازیباز مثل دید دوربین و زاویه ش و مختصات نقش آفرینی بازیباز و همچنین داشتن بانکی برای دریافت input های بی وقفه و مکرر یک یوزر در حین بازی تا اونها رو دسته بندی و سپس اجرا کنه... و اینها فقط قسمت کوچکی از یک نرم افزار به نام موتور بازی هستش که این کارها رو انجام میده و همین باعث میشه که RAM بازی که بصورت دینامیک هی پر و هی خالی از اطلاعات بازی میشه , تبدیل به یکی از مهمترین (واقعا مهم !) قسمتهای یک سیستم و بالطبعش یک بازی بشه...
-
فعالترین کاربران بازارچه
-
آمار بازخوردها
31240
مثبت14
خنثی212
منفی99%
Total Positive