
|
|
|
|
|
این مطلب برای شروع برنامه نویسی ویندوز از اهمیت خاصی برخوردار بود. داشتم می نوشتم که توی یه وباگ دیدم. البته مطمئنن سوال های زیادی براتون با دیدین این مقاله پیش میاد. حتماً کامنت بزارین تا ادامه بدیم. اولین قدم نوشتن برنامه های سه بعدی برای دایرکت ایکس، نوشتن یه فرم ویندوز هست تا بتونیم دایرکت ایکس رو در داخل اون اجرا کنیم. پس مهمه که بدونیم چطور یه فرم ویندوز بنویسیم. مقاله زیر از نوشته های آقای سعید هستش که من با اجازه از وبلاگشون کپی کردم. آدرس وبلاگشونم اینه http://win32api.blogfa.com/ برای یک برنامه نویس، سیستم عامل توسط API های اون تعریف می شود. API شامل تمامی توابعی است که یک برنامه کاربردی می تواند توسط سیستم عامل آنها را فراخوانی کند. همچنین API شامل تعاریف نوع داده های وابسته (associated data types) و ساختار ها نیز هست. به طور کلی API شامل مجموعه ای از روال هاست (routines) که یک برنامه کاربردی از آن برای رهبری کردن اجرای پردازه ها (procedures) توسط سیستم عامل استفاده می کند. نکته جالب اینجاست که ساختار کلی API از windows 1.0 تا حالا تغییر چندانی نکرده و تغییرات در سیستم عامل های بالاتر مربوط به امکانات آنهاست. windows 1.0 فقط از 450 تابع پشتیبانی می کرد درحالی که این تعداد در ویندوزهای جدید به چندین هزار تابع رسیده است. بزرگترین تغییرات در API و syntax آن مربوط میشود به تغییر معماری ویندوز از 16bit به 32bit. معماری ویندوز از نسخه ۱.۰ تا نسخه ۳.۱ از نوع 16bit بوده است. در این ویندوز ها از روش آدرس دهی segmented (روشی که در آن memory به بخش های ۶۴kb تقسیم می شده تا بتوان آنها را به سبک ۱۶ بیتی آدرس دهی کرد.) استفاده می شده که توسط پردازش گرهای ۱۶ بیتی اینتل: 8086, 8088 و ۲8۶ microprocessors فراهم شده بود. در نسخه های windows 95 و windows NT برای اولین بار از روش آدرس دهی flat (روشی که در آن پردازنده قادر است به بخشهایی با اندازه بیش از ۴GB با یک آدرس واحد دسترسی پیدا کند) استفاده شد. این امکان توسط توسط پردازنده های Intel 386, 486, and Pentium processors فراهم شد. برنامه هایی که برای ویندوز های ۳۲ بیتی نوشته می شوند، از pointer های ۳۲ بیتی برای ذخیره سازی آدرسهای خطی حافظه (flat linear address space) استفاده می کنند. API برای ویندوزهای ۱۶ بیتی که قبلا نام بردم، win16 نامیده می شوند. همچنین API برای ویندوزهای 32 بیتی win32 نامیده می شوند. MFC یا WIN32API: همیشه انتخاب یکی از این دو روش برای کسانی که می خواهند برنامه نویسی ویندوز را به تازگی شروع کنند سخت بوده است. MFC توسط microsoft برای ساده کردن آشفتگی های موجود در برنامه نویسی API ارائه شده است. MFC با encapsulates کردن (در پوشش گذاشتن) توابع API در مجموعه ای از کلاسها این امر را فراهم کرده است. برای مثال کلاس CDialog در mfc، کار تابع dialog boxe را در win32api انجام می دهد. MFC یک قالب از پیش تعریف شده (framework) برای برنامه نویسی ویندوز است، بنابر این نمیتواند تمام نیازهای یک برنامه نویس را پیش بینی کند. mfc یک کتابخانه جامع مانند C run-time library نیست. برای مثال ساخت سرویسهای ویندوز با mfc به راحتی امکان پذیر نیست و در واقع باید گفت :"Microsoft does not support using MFC to build Windows services" بدین معنا که: مایکروسافت ساخت سرویسهای ویندوز توسط mfc را حمایت نمی کند. اما MFC همچنان از محبوبیت بالایی در بین برنامه نویسان ویندوز برخوردار است. در مقابل win32api ، هرچند در نگاه اول کمی سخت به نظر می رسد ولی به شما این اجازه را می دهد تا از تمامی امکانات ویندوز استفاده کنید. به طور کلی یادگیری win32api به شما کمک می کند تا فهمی بسیار عمیق و دقیق از چگونگی عملکرد درونی windows و برنامه های کاربردی به دست آورید. توابع API: تمامی توابع api در فایلهای dll ویندوز قرار دارند. شما وقتی میتوانید از یک تابع api استفاده کنید که: ۱. Header فایلی که آن تابع در آنجا اعلان (Declared) شده را در برنامه فراخوانی کرده باشید. 2. فایل dll. که آن تابع در آن تعریف شده است در ویندوز موجود باشد. ۳. فایل lib. مربوطه را به لینکر معرفی کرده باشید. Linker و فایل های lib. : همان طور که میدانید وقتی یک source code را کامپایل می کنید، خروجی شما فایلی با پسوند obj. است نه exe. تولید فایل exe بر عهده ی linker است. اما linker این کار را چگونه انجام می دهد؟ قبل از جواب بهتر است اول تعریفی ساده از فایل های lib. داشته باشیم: Import library ها فایل هایی با پسوند lib. می باشند که حاوی اطلاعاتی شامل نام فایلهای dll و اصلاعات مرجع برای فراخوانی توابع هستند.در ضمن این نوع کتابخانه ها بر خلاف dll ها از نوع static هستند. یعنی از اطلاعات آنها در زمان کامپایل (compile time) استفاده می شود ، نه در زمان اجرا (run time) . Linker از این اطلاعات برای ساخت لیست (table) در فایل exe. استفاده میکند و در نهایت ویندوز از این لیست برای تشخیص فایل های dll مورد نظر و توابع فراخوانی شده توسط برنامه استفاده می کند. ویندوز بعد از تشخیص dll های مورد نیاز آنها را در memory بارگذاری میکند. البته اگر قبلا در حافظه load نشده باشند. شما میتوانید با مراجعه به Project Properties تنظیمات linker را انجام دهید. در پست های بعدی بیشتر در این زمینه توضیح خواهم داد. در ویندوز بیشتر عملیات توسط ۳ تا از مهمترین زیر سیستم ها یعنی Kernel, User و GDI انجام می شود. هر چند در ویندوز های جدید تعداد این زیر سیستم ها افزایش یافته ولی همچنان این سه فایل دارای اهمیت هستند: ۱. Kernel نام فایل: در ویندوزهای ۱۶ بیتی KRNL386.EXE - در ویندوزهای ۳۲ بیتی KERNEL32.DLL وظیفه: انجام وظایف مربوط به هسته ویندوز شامل مدیریت حافظه ، file I/O و مدیریت وظیفه (tasking) 2. User نام فایل: در ویندوزهای ۱۶ بیتی USER.EXE - در ویندوزهای ۳۲بیتی USER32.DLL وظیفه: مراجعه به میانجی کمکی (user interface) و اجرای منطق کلی، مربوط به ایجاد ویندوز. (تابع CreateWindow که وظیفه ی ساخت یک ویندوز را بر عهده دارد در این فایل تعریف شده است) ۳. GDI نام فایل: در ویندوز های ۱۶ بیتی GDI.EXE - در ویندوزهای ۳۲ بیتی GDI32.DLL وظیفه: به برنامه اجازه می دهد تا بتواند متن و گرافیگ را در صفحه نمایش و پرینتر نمایش دهد. محیط برنامه نویسی: شما میتوانید از یکی از کامپایلر های استاندارد ++C/C استفاده کنید. باید بگم ساختار کلی برنامه نویسی api به زبان C است ولی به راحتی می توان از خاصیت شی گرایی ++C (کلاسها) نیز استفاده کرد. من خودم از Microsoft Visual Studio 2008 استفاده میکنم. برنامه هایی که با کامپایلر و لینکر microsoft ساخته می شوند از سرعت بسیار بالایی برخوردارند. در پست های بعدی به مطالب بیشتری اشاره خواهم کرد. فعلا برای شروع کد زیر را کامپایل کنید. برای کامپایل کردن در visual studio 2008 و ۲۰۰5 مراحل زیر را دنبال کنید: از منوی فایل new project را انتخاب کنید. از پنجره ی باز شده در قسمت project type روی ++Visual C کلیک کنید، سپس از قسمت Templates قالب win32 project را انتخاب کنید. یک نام برای پروژه خود انتخاب کنید، مثلا exercise سپس ok کنید. از پنجره باز شده روی next کلیک کنید. گزینه Empty project را انتخاب و سپس ok کنید. در محیط visual studio قسمتی به نام Solution Explorer (در سمت چپ) وجود دارد که تمام اطلاعات project را به صورت یک ساختار درختی نمایش می دهد. اما فعلا پروژه ما خالی است. در این قسمت ۳ پوشه کوچک به نام های Header Files , Resource Files و Source Files وجود دارد. روی Source Files راست کلیک کنید و add->new item را انتخاب کنید. در قسمت Categories روی Ccode کلیک کنید و سپس ++File C را انتخاب کنید. یک نام برای فایل خود انتخاب کنید. مثلا main سپس کد زیر را در فایل نوشته و کامپایل کنید. همان طور که می بینید برای ساخت یک پنجره ساده به بیش از 7۰ خط کد نیاز است: #include LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ; int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow) { static TCHAR szAppName[] = TEXT ("HelloWin") ; HWND hwnd ; MSG msg ; WNDCLASS wndclass ; wndclass.style = CS_HREDRAW | CS_VREDRAW ; wndclass.lpfnWndProc = WndProc ; wndclass.cbClsExtra = 0 ; wndclass.cbWndExtra = 0 ; wndclass.hInstance = hInstance ; wndclass.hIcon = LoadIcon (NULL, IDI_APPLICATION) ; wndclass.hCursor = LoadCursor (NULL, IDC_ARROW) ; wndclass.hbrBackground = (HBRUSH) GetStockObject (WHITE_BRUSH) ; wndclass.lpszMenuName = NULL ; wndclass.lpszClassName = szAppName ; if (!RegisterClass (&wndclass)) { MessageBox (NULL, TEXT ("This program requires Windows NT!"), szAppName, MB_ICONERROR) ; return 0 ; } hwnd = CreateWindow (szAppName, // window class name TEXT ("The Hello Program"), // window caption WS_OVERLAPPEDWINDOW, // window style CW_USEDEFAULT, // initial x position CW_USEDEFAULT, // initial y position CW_USEDEFAULT, // initial x size CW_USEDEFAULT, // initial y size NULL, // parent window handle NULL, // window menu handle hInstance, // program instance handle NULL) ; // creation parameters ShowWindow (hwnd, iCmdShow) ; UpdateWindow (hwnd) ; while (GetMessage (&msg, NULL, 0, 0)) { TranslateMessage (&msg) ; DispatchMessage (&msg) ; } return msg.wParam ; } LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) { HDC hdc ; PAINTSTRUCT ps ; RECT rect ; switch (message) { case WM_CREATE: return 0 ; case WM_PAINT: hdc = BeginPaint (hwnd, &ps) ; GetClientRect (hwnd, &rect) ; DrawText (hdc, TEXT ("Hello, Windows"), -1, &rect, DT_SINGLELINE | DT_CENTER | DT_VCENTER) ; EndPaint (hwnd, &ps) ; return 0 ; case WM_DESTROY: PostQuitMessage (0) ; return 0 ; } return DefWindowProc (hwnd, message, wParam, lParam) ; } |
||
|
+
نوشته شده در دوشنبه 17 تیر1387ساعت 16:40 توسط محمد نورآئین
|
|
||
|
|
|
|
|
سلام. امروز موقع گشت و گزار تو اینترنت یه مطلب مفبد در مورد نکاتی در مورد خرید کارت گرافیکی پیدا کردم. فکر کردم خوبه که بزارمش اینجا هم دوستان استفاده کنن. از این آدرس برداشتمش http://www.tarfandestan.com/forum/thread19145.html ------------------------------------------------------------------------------------------------------------ انتخاب یک کارت گرافیک جدید می تواند امری دشوار باشد. تا زمانی که شما درباره آخرین GPU های ارائه شده و کارایی های آنها اطلاع نداشته باشد، دانستن اینکه کدام کارت ارزش خریدن را دارد غیر ممکن است. واحد پردازش گرافیکی GPU، مثلCPU، هر سال پیشرفت می کند و این به این معنی است که دامنه بسیار وسیعی ازکارت گرافیک ها برای انتخاب موجود می باشند و خرده فروشان هم دوست دارند کارت های منسوخ را در کنار آخرین و بهترین کارت های ارائه شده قرار دهند. اگر در اینجا دقت نکنید ممکن است در آخر پول زیادی برای تکنولوژی صرف کنید که قبلا کنار گذاشته شده است. در این مقاله ۱۰ موضوع را که قبل از خرید یک کارت گرافیک باید در نظر داشته باشید بررسی می کنیم. ۱) حافظه همه چیز نیست! شما به یک کارت گرافیک نیاز دارید که حافظه کافی برای بازی کردن بازی ها، در وضوح بالا و با تنظیمات گرافیکی بالا داشته باشد. کارت گرافیک های خوب معمولا مقدار زیادی حافظه دارند، زیرا کل توان GPU در صورت کافی نبودن حافظه موجود ممکن است تلف شود. ۵۱۲MB حافظه هیچ کمکی به این Radeon X۱۳۰۰ نمی کند و Radeon X۱۶۰۰ با ۲۵۶ MBحافظه بهتر عمل می کند. تولید کنند گان کارت های گرافیک می دانند که خریداران تازه کار معمولا به مقدار حافظه به عنوان ملاک اصلی مقایسه دو کارت توجه می کنند، و این دلیلی است بر دیدن کارت های باGPU های ارزانی که ۲۵۶MBو یا حتی ۵۱۲MB حافظه دارند و این مانند این است که یک موتور ضعیف را در بدنه یک ماشین تنومند قرار دهیم. چنین کارت هایی ممکن است اعداد درستی در مشخصات داشته باشند اما کارایی ضعیف خود را به محض شروع بازی نمایان خواهند کرد. 2)همه چیز بهGPUمربوط است! حافظه مهم است، اما قلب واقعی یک کارت گرافیک واحد پردازش مرکزی آن است. هنگامی که شما در میان نام های کارت های گرافیک پرسه می زنید، مهمترین چیزی که به نظر می رسد نوعGPU است، زیرا این چیپ کوچک مسئول کلیه کارهای کارت های سه بعدی است. امروزه بهترین پردازنده های گرافینیققا Nvidia و ATI تولید می کنند، اما خریدن یک کارت گرافیک با یک پردازنده Nvidia GeForce و یا ATI کافی نیست. شما باید علاوه بر این به مدل پردازنده توجه کنید، زیرا هر دو شرکت از کارت های سطح پایین زیر ۱۰۰ دلار تا کارت های پر قدرت ۵۰۰ دلاری خود را با این اسامی نام گذاری می کنند. شماره های بزرگتر در مدل ها بهتر هستند، اما باید به توصیف کننده های اضافی در نام مدل مانندGT، GS،GTX،XT و XTX توجه کنید زیرا اینها معمولا اطلاعاتی در مورد سایه زن ها و همچنین سرعت پردازنده نمایان می کنند. نقد چند کارت را بخوانید و یا نگاهی به کارایی کارت ها در بازی ها بیندازید تا با مدل های فعلی آشنا شوید و بتوانید آنها را با هم مقایسه کنید. ۳) خط لوله، سایه زن و سرعت ساعت در روزهای اولیه شتاب دهنده های سه بعدی شما می توانستید با نگاه کردن به سرعت و خط لوله پیکسل های یک GPU، اطلاعات کلی در مورد سطح کارایی آن کسب کنید. امروزه GPU ها کارهای بیشتری از پردازش پیکسلی بی خردانه انجام می دهند. نور پردازی و افکت های دیگر که معمولا به چندین گذر از خط لوله نیاز داشتند اکنون می تواند توسط یک برنامه سایه زن اجرا شوند و همان نتایج را با گذر و کار بیهوده کمتر به همراه بیاورند. هم اکنون GPU ها دارای واحد های پردازش اختصاصی هستند که به راه اندازی کار برنامه های پیچیده راسی و سایه زن پیکسلی اختصاص یافته اند. با افزایش سایه پردازی های بازی ها، واحد های سایه زن ه یک خصوصیت مهم در کارت های ویدیویی آینده، تبدیل خواهد شد. اخیرا ATI شروع به ارائه گزارش درباره تعداد واحدهای سایه زن تخصیص داده به هر خط لوله پیکسلی در Radeon X۱۹۰۰ XTX کرده است. برای هم اکنون، هنوز هم شما می توانید GPU ها را توسط تعداد خطوط لوله پیکسلی که دارند ارزیابی کنید. گر چه تولید کنند گان GPU اطلاعاتی هم درباره خطوط لوله راس vertex pipeline می دهند، اما تا کنون ما بازی مشاهده نکرده ایم که به خاطر سطح پردازش راسی پایین، در تنگنا قرار بگیرد. کارت ها سطح پایین معمولا دارای ۴ خط لوله پیکسلی می باشند. کارت های متوسط دارای ۸ یا ۱۲ خط لوله می باشند و کارت های سطح بالا دارای ۱۶ و یا بیشتر خط لوله می باشند. سرعت ساعت بیشتر همیشه بهتر است، اما اگر مجبور شدید بین سرعت ساعت GPU و تعداد خطوط لوله پیکسلی آن ینیققا انتخاب کنید، معمولا بهتر است تعداد بیشتر خط لوله را انتخاب کنید. کارتی که با سرعت ۴۰۰MHz که دارای ۸ خط لوله است عملکرد بسیار بهتری نسبت به کارتی ۵۰۰MHz با ۴ خط لوله دارد. ۴) Windows Vista و Directx ۳D ۱۰ مایکروسافت جدیدترین نسخه windows خود را در اوایل سال ۲۰۰۷ منتشر كرده است. این سیستم عامل جدید DirectX ۱۰ را به همراه دارد، که مجموعه ایی از توابع به روز شده می باشد، که نرم افزارهای کاربردی برای دسترسی به منابع سیستم (شامل کارت های سه بعدی) می توانند از آنها استفاده کنند. نسخه جدید DirectX شامل نسخه جدیدی از Direct ۳D می باشد که برای ساده کردن خط لوله گرافیکی با کاهش بار CPU و انتقال کارها به GPU طراحی شده است. اگر چه ویندوز ویستا با کارت های گرافیکی DirectX ۹ کار خواهد کرد، اما برای اجرای بازی های DX۱۰ که در آینده خواهند آمد به یک کارت DX۱۰ نیاز خواهید داشت. Nvidia و ATI اولین کارت های DX۱۰ خود را در نیمه دوم سال ۲۰۰۶ به وارد بازار كرده اند. اما نیازی نیست عجله کرده و از ترس مشکلات تطبیق با بازی ها یکی از آنها را بخرید. توسعه دهندگان بازی ها این را درک می کنند که چندین سال طول خواهد کشید که تعداد نسخه های نصب شده DX۱۰ از DX۹ پیشی بگیرند. تا چندین سال بعد از ورود ویستا کلیه بازی ها، منجمله بازی های انحصاری ویستا یعنی Halo ۳ و Shadow run با هر دو نسخه DX۱۰ و DX۹ کار خواهند کرد. ۵) زمان مناسب برای خرید مسابقه ATI و Nvidia، برای ما یک سیکل سریع توسعه تکنولوژی ها سه بعدی به ارمغان آورده است. تولید کنند گان GPU هر ۱۲ تا ۱۸ ماه یک خط جدید تولید چیپ را راه اندازی می کنند، که نتیجه آن جریانی از کارت های با قدرت و قابلیت های بیشتر می شود. تولید کنند گان همچنین سعی می کنند پس از چند ماه از معماری اولیه، با دستکاری کردن طراحی ها، سرعت ساعت چیپ هارا افزایش داده و قابلیت های جدیدی را به آنها اضافه کنند تا بتوانند خطوط تولید را بهبود ببخشند. از آنجایی که بسیاری از قابلیت ها مانند شتاب دهنده ویدیویی دقت بالای H.۲۶۴ و یا سایه زن پیشرفته مدل ها آینده نگر هستند، ممکن است یک یا دو سال قبل از فراگیر شدن محتوای واقعی برای آن ها طول بکشد. تقریبا هر زمانی برای خریدن کارت گرافیک جدید مناسب است، اگر قصد ندارید بهترین کارت موجود را بگیرید. قیمت کارت های گرافیکی به سرعت افت می کنند، زیرا معرفی متناوب کارت های جدید، کارت های قدیمی و ضعیف تر را به قیمت های مناسب حل می دهند. بدترین شرایط زمانی است که یک کارت گرافیک سطح بالا را دقیقا قبل از معرفی یک GPU جدید از Nvidia یا ATI خریداری کنید، اگر چه باز هم یک کارت گرافیک قدرتمند خواهید داشت که تا مدت ها هیچ مشکلی برای اجرای بازی هایی که می خواهید نخواهد داشت. ۶) لازم نیست ۵۰۰ هزار تومن خرج کنید! جدیدترین کارت های عرضه شده با قیمت ۵۰۰ هزار تومان یا بیشتر به فروش می رسند، اما شما همیشه می توانید چندین کارت با بازده بالا در بازه قیمتی ۲۰۰ تا ۳۰۰ هزار تومان پیدا کنید. این بازه قیمتی معمولا بهترین بازده در برابر قیمت را ارائه می کند زیرا شامل کارت های سطح متوسط نسل فعلی و کارت های سطح بالای ارزان شده از نسل قبلی می شود. هنگام مقایسه دو کارت گرافیک با تکنولوژی های مربوط به دو نسل متفاوت، سرعت ساعت و تعداد خطوط لوله را بررسی کنید. اگر مشخصات کاملا یکسان بودند، کارت جدید تر را انتخاب کنید زیرا از قابلیت های جدید تری پشتیبانی می کند. معماری چیپ های جدید، همچنین کارآمد تر هستند و شما بازده بالاتری را با تعداد برابری از خطوط لوله کسب خواهید کرد. GeForce ۷۹۰۰GT هم اکنون یکی از بهترین کارت های موجود با قیمت زیر ۳۰۰ هزار تومان است. ۷) توان مورد نیاز را دارید؟ با قوی تر شدن کارت ها، توان سیستم مورد نیاز به یک نگرانی بزرگ تبدیل شده است. تولید کنند گان کارت های گرافیکی توصیه توان تولیدی توسط منبع تغذیه سیستم را بر روی جعبه درج می کنند. اعداد چاپ شده معمولا کمی بزرگتر از توان واقعی مورد نیاز هستند، زیرا شرایطی همچون منبع تغذیه ضعیف و یا سیستمی با منابع زیاد را در نظر می گیرند. کارت های سطح متوسط تا بالا معمولا به ۴۰۰ تا ۴۵۰ وات توان نیاز دارند. کارت های دو تایی مانند SLI یا CrossFire Radeon X۱۹۰۰ TX به حداقل ۵۵۰ وات توان نیاز دارند. ۸) AGP و PCI Express از زمان معرفی PCI Express در دو سال قبل، این تکنولوژی به خوبی جایگزین AGP شده است. PCI Exp پهنای باند ی ۲ تا ۴ برابر AGP ارائه می کند و تقریبا کلیه کارت گرافیک های جدید با این رابط عرضه می شوند. تولید کنند گان GPU هر از چند گاهی پردازنده گرافیکی برای دارندگان سیستم های AGP تولید می کنند، اما بهترین تجهیزات ابتدا برای PCI Exp عرضه میشوند. اگر سیستم شما بیش از دو سال قدمت دارد، احتمالا یک شکاف AGP دارد. ارتقا به PCI Express می تواند گران باشد زیرا مجبور خواهید بود مادربرد، CPU و احتمالا حافظه خود را تعویض کنید. اگر چه در صورتی که سیستم شما بیش از دو سال قدمت دارد هم اکنون می تواند زمان خوبی برای ارتقای کلی آن باشد. ۹) SLI و CrossFire شما همچنین برای ارتقا به یک پیکر بندی دو تایی از کارت گرافیک به PCI Exp نیاز خواهید داشت. نصب یک سیستم با دو کارت و اجرای آن کار سختی است. برای اینکار به مادربرد ی مناسب، دو کارت گرافیک هم ساز و یک منبع تغذیه پر قدرت نیاز خواهید داشت. Nvidia و ATI هر دو قالب های رقابتی برای پیکر بندی دو کارتی ارائه می دهند که به مادربرد های خاص خود نیاز دارند. Nvidia ابتدا SLI را در سال ۲۰۰۴ معرفی کرد و از زمان برای کامل کردن این پلتفرم استفاده کرد و حتی یک برنامه گواهی SLI برای مادربرد های و منابع تغذیه و واحد های حافظه ارائه نمود. شما می توانید دو کارت GeForce مطابق با SLI را از دو تولید کننده متفاوت با هم استفاده کنید به شرطی که GPU های آنها یکسان باشد. اما ATI تکنولوژی دو کارتی CrossFire خود را در ۲۰۰۵ معرفی نمود. همانند SLI ، CrossFire به مادربرد ی همساز با آن، حافظه ایی با کیفیت و یک منبع تغذیه قدرتمند نیاز دارد. پیدا کردن دو کارت ATI که با هم بتوانند کار کنند کمی مشکل تر از Nvidia است زیرا شما باید یک کارت CrossFire Edition را با یک کارت CrossFire Ready در کنار هم قرار دهید تا کار کنند. توسط دو GeForce ۷۹۵۰ GX۲ دو پردازنده ایی می توانید ۴ پردازنده گرافیکی در یک سیستم داشته باشید 10) کارت های بر روی مادربرد اگر قصد دارید یک سیستم از پیش تعریف شده بخرید، به کارت گرافیکی آن دقت کنید. اگر کارت گرافیک به صورت مجتمع با مادربرد است به سرعت انتخاب خود را به مدلی با کارت گرافیک واقعی تغییر دهید. کارت هایی که بر روی مادربرد قرار دارند برای برنامه های کاربردی ابتدایی مانند پردازش متن و یا وب گردی مناسب هستند، اما برای بازی کردن به هیچ وجه جالب نیستند مگر اینکه بخواهید بازی ها را در وضوح ۸۰۰x۶۰۰ و با ۱۵ فریم در ثانیه انجام دهید. |
||
|
+
نوشته شده در پنجشنبه 13 تیر1387ساعت 12:57 توسط محمد نورآئین
|
|
||
|
|
|
|
|
سلام. برای شروع کار با DirtectX به 4 تا چیز نیاز دارین. 1- یه حس با کلی اشتیاق و پشتکار برای ساخت بازی. 2- Visual Studio 2005 یا visual studio 2008 . 3- داشتن اطلاعات کافی برای برنامه نویسی به زبان C++ . 4- بسته نرم افزاری DirectX SDK که روی ويژوال استدیو نصب می شه. ---------------------------------------------------------------------------------------- در مورد Visual Studio .NET باید عرض کنم که توی اکثر مغاره های سی دی فروشی پيدا می شه. مهمه که حتماً نسخه ش 2005 یا بالاتر باشه. البته با نسخه های قبلی هم کار می کنه ولی روی 2005 و بالاتر هماهنگ تر و بهتر نتیجه می ده. در مورد DirectX ُSDK هم که مخفف کلمات (DirectX Software Developer Kit) هستش باید بگم که اون رو هم می تونین از مغازه های سی دی فروشی پیدا کنین. می تونین از اینترنت هم دانلود کنین. نسخه ای که من دانلود کردم، تقريباً یک گيگابایت حجمش هست. اگر هم کسی پیدا نکرد به من بگه تا یه جوری کمکش کنم. فعلاً این چند تا مورد رو حل کنین قراره خیلی زود بریم و شروع به برنامه نویسی کنیم. پس تا فردا |
||
|
+
نوشته شده در چهارشنبه 12 تیر1387ساعت 13:5 توسط محمد نورآئین
|
|
||
|
|
|
|
|
سلام به همه دوستان. امیدوارم همه دوستان دانشجو امتحاناشونو خوب داده باشن. ببخشین اگه یخمولده دیر شد. آخه بعد از امتحانا یه کوچولو سرم شلوغ شد و بعدشم که یه مسافرت کوچولو و الان هم که تازه از مسافرت برگشتم، اومدم تا به قولم عمل کنم. همه اونایی که قصد دارن شروع کنیم بسم الله ... همه Visual Studio 2005 ( یا Visual Studio 2008 ) و DirectX SDK رو نصب کنن. و از 5 شنبه حاضر باشن. فردا در مورد پيش نیازای کار با DirectX می نویسم و از 5 شنبه شروع می کنیم به کار. کسی اگه سوالی داشت حتماً بنویسه. |
||
|
+
نوشته شده در سه شنبه 11 تیر1387ساعت 10:25 توسط محمد نورآئین
|
|
||