ورود

View Full Version : سوال: کدام بهتر؟چرا؟



Vahid_67
چهارشنبه 08 دی 1389, 23:23 عصر
سلام

من میخوام با دایرکت ایکس کار کنم.ورژن11. کتاب خانه شو گرفتم تو اینترنت هم سرچ کردم. 95% نمونه ها به ویژوال سی ++ هستن.ولی من خودم سی# رو ترجیح میدم.از یه طرف هم میگم حتما دلیلی داره که همشون vc++.در کل سوال اینه:

برای برنامه نویسی DirectX11 کدوم بهتره (vc++ or vc#s)؟
چرا؟ دلیلش خیلی مهمه.

ممنون

khorzu
پنج شنبه 09 دی 1389, 08:44 صبح
سلام
اگه می خواین DirectX رو یاد بگیرید زبونش فرقی نمی کنه و توابع و کلاس ها تفریبا توی C , CSharp معادل همند وحتی هم نامند. از این بابت CSharp به نظر من مناسب تره چون درگیر پیچیدگی های C نمی شید و زودتر به خروجی می رسید و انگیزتون از دست نمی ره.
و اگه برنامه ای بلند مدت برای ساختن یه چیزی مثل بازی یا واقعیت مجازی دارید چون به شدت به صرفه جویی در منابع سخت افزاری محتاجید راهی به جز C نیست.
در هر حال به نظرم انتخابتون برای شروع با CSharp درسته . در مورد نمونه هم توی نت می تونید نمونه ها و منابع کامل تری از داکیومنت پیدا کنید.

Vahid_67
پنج شنبه 09 دی 1389, 09:44 صبح
مرسی
حالا فکر کنید می خوام یه بازی پیچیده بنویسیم .با دایرکت ایکس.
1- کدوم بهتر چرا؟
2- درباره xna چی؟آیا اونقدر کامل هست که بجای کار مستقیم با دایرکت ایکس برم سراق اون؟لیسانسی چیزی داره؟
3- موتور آماده چی؟من موتورهای زیادی رو امتحان کردم.3dgamestudio-c4engine-panda3d-quest3d-unreal2-3-unity3d-darkbasic...حتی cryengine1.میتونم بگم که روی A6-7-8 دیگه مسلط شدم چون از 2006 تا حالا دارم باهاش کار میکنم.ولی موتور هم محدوده و هم احساس میکنم که وقتی یه بازی با یه موتور آماده ساخته میشه خیلی از توابع و کدهایی که بازی اصلا به اونها نیازی نداره بیخودی لود میشه و بازی رو سنگین میکنه.محدودیت موتور هم خیلی اذیتم می کنه مثلا تو a8engine نمیتونی مقدارهای یک پنل رو آدرس دهی کنی و فقط میشه مستقیم توی خودش نوشت.من میخوام خودم یه 3dviewport داشته باشم که هستشو جوری خودم میخام بنویسم (همش قابل آدرس دهی باشه!) و چیزهای اضافی هم توش نباشه فقط کدهای مربوط به چیزی که میخوام.الانم چندتا انخاب دارم که توشون موندم : vc++ , vc# , xna , slimdx,
لطفا راهنمایی کنید.

Vahid_67
پنج شنبه 09 دی 1389, 13:16 عصر
یکی جواب بده. کمک؟!

L u k e
پنج شنبه 09 دی 1389, 19:07 عصر
آره اگه می خواهید توی C# بازی بنویسید از Xna استفاده کنید
بازی های خیلی کاملی باهاش نوشته شدن همچی کم نداره

kochol
پنج شنبه 09 دی 1389, 20:41 عصر
مرسی
حالا فکر کنید می خوام یه بازی پیچیده بنویسیم .با دایرکت ایکس.
1- کدوم بهتر چرا؟
2- درباره xna چی؟آیا اونقدر کامل هست که بجای کار مستقیم با دایرکت ایکس برم سراق اون؟لیسانسی چیزی داره؟
3- موتور آماده چی؟من موتورهای زیادی رو امتحان کردم.3dgamestudio-c4engine-panda3d-quest3d-unreal2-3-unity3d-darkbasic...حتی cryengine1.میتونم بگم که روی A6-7-8 دیگه مسلط شدم چون از 2006 تا حالا دارم باهاش کار میکنم.ولی موتور هم محدوده و هم احساس میکنم که وقتی یه بازی با یه موتور آماده ساخته میشه خیلی از توابع و کدهایی که بازی اصلا به اونها نیازی نداره بیخودی لود میشه و بازی رو سنگین میکنه.محدودیت موتور هم خیلی اذیتم می کنه مثلا تو a8engine نمیتونی مقدارهای یک پنل رو آدرس دهی کنی و فقط میشه مستقیم توی خودش نوشت.من میخوام خودم یه 3dviewport داشته باشم که هستشو جوری خودم میخام بنویسم (همش قابل آدرس دهی باشه!) و چیزهای اضافی هم توش نباشه فقط کدهای مربوط به چیزی که میخوام.الانم چندتا انخاب دارم که توشون موندم : vc++ , vc# , xna , slimdx,
لطفا راهنمایی کنید.

اگه می خوای بعد ها پشیمون نشی از ++c استفاده کن چون سرعتش اصلا با هیچ زبان دیگه ای قابل مقایسه نیست.

mahdi1373
پنج شنبه 09 دی 1389, 21:46 عصر
برو سراغ c++ و یه موتور open source انتخاب کن. بعد بشین هر جوری خواستی تغییرش بده.
از اول نوشتن یه موتور خیلی طول می کشه.

Vahid_67
جمعه 10 دی 1389, 13:45 عصر
اگه می خوای بعد ها پشیمون نشی از ++c استفاده کن چون سرعتش اصلا با هیچ زبان دیگه ای قابل مقایسه نیست.

میشه بیشتر توضیح بدین.منظورت از سرعت دقیقا چیه؟

Vahid_67
جمعه 10 دی 1389, 13:56 عصر
چیزی که میگید درسته ولی پروژه من یه موتور تجاری بزرگ نیست! من یه صحنه سه بعدی می خوام که اجرا بشه (d3d11) و چند تا کلاس با خواصشون مثل مدل و افکت و صدا اگرم بتونم یه سیستم فیزیک روش لود کنم.
این تکنیک رو که یه موتور کامل ننویسی و فقط به اندازه نیاز پروژت کاملش کنی میشه توی بازی های جدید شرکت capcom دید.یا حتی callofduty .اصلا معلوم نیست موتورش چیه .نه اسمی نه تبلیقی.چون که موتورشون تجاری نیست و فقط برای استفاده بازی خودشون طراحی شده.
منم یه اینجورچیزی میخام.
فکر کنم اگه اینجوری بگم بهتره:

لطفا تفاوت کلی در نحوه ی اجرای برنامه ها رو (بخصوص سع بعدی ) بین سی شارپ و ویژوال سی پلاس توضیح بدین.ممنون

راستی این native چیه که میکن سی هست ولی شارپ نیست؟

Vahid_67
جمعه 10 دی 1389, 13:59 عصر
آره اگه می خواهید توی C# بازی بنویسید از Xna استفاده کنید
بازی های خیلی کاملی باهاش نوشته شدن همچی کم نداره
ممنون میشه معرفی کنید.

من همیشه میترسیدم کا با xna یه پروژه رو شروع کنم بعد وسط کار بمونم.

1485159
جمعه 10 دی 1389, 15:12 عصر
میشه بیشتر توضیح بدین.منظورت از سرعت دقیقا چیه؟
منظور از سرعت اینه که توی سیستم های ضعیف هم بتونی 60 فریم بر ثانیه رو به دست بیاری.

من یه صحنه سه بعدی می خوام که اجرا بشه (d3d11) و چند تا کلاس با خواصشون مثل مدل و افکت و صدا اگرم بتونم یه سیستم فیزیک روش لود کنم.
چیز دیگه ای لازم ندارین؟ خوب برادر من همه چیزو میگی میخوام و بعد میگی چیزی نمیخوام؟

این تکنیک رو که یه موتور کامل ننویسی و فقط به اندازه نیاز پروژت کاملش کنی میشه توی بازی های جدید شرکت capcom دید.یا حتی callofduty .اصلا معلوم نیست موتورش چیه .نه اسمی نه تبلیقی.چون که موتورشون تجاری نیست و فقط برای استفاده بازی خودشون طراحی شده.
این که موتور فقط برحسب نیاز باشه یا نه یا تجاری باشه یا نه چه ارتباطی با زبان برنامه نویسی داره؟

لطفا تفاوت کلی در نحوه ی اجرای برنامه ها رو (بخصوص سع بعدی ) بین سی شارپ و ویژوال سی پلاس توضیح بدین.
برنامه های نوشته شده با سی شارپ به یک زبان میانی ترجمه میشن و موقع جرا به زبان ماشین. ولی برنامه هایی که با سی(نتیو) نوشته مین مستقیما به زبان ماشین ترجمه میشن.

راستی این native چیه که میکن سی هست ولی شارپ نیست؟
بالا گفتم.
بهتره اول یکم رو مفاهیم کار کنی و بعدا شروع به بازی سازی کنی.

من همیشه میترسیدم کا با xna یه پروژه رو شروع کنم بعد وسط کار بمونم.
دیدی جوگیر شدی؟ حالا اگه من میگفتم که با gl بازی های خیلی خوبی نوشته شده میگفتی«من همیشه دوسداشتم با gl کار کنم»؟؟

Vahid_67
جمعه 10 دی 1389, 15:43 عصر
منظور از سرعت اینه که توی سیستم های ضعیف هم بتونی 60 فریم بر ثانیه رو به دست بیاری.

چیز دیگه ای لازم ندارین؟ خوب برادر من همه چیزو میگی میخوام و بعد میگی چیزی نمیخوام؟

این که موتور فقط برحسب نیاز باشه یا نه یا تجاری باشه یا نه چه ارتباطی با زبان برنامه نویسی داره؟

برنامه های نوشته شده با سی شارپ به یک زبان میانی ترجمه میشن و موقع جرا به زبان ماشین. ولی برنامه هایی که با سی(نتیو) نوشته مین مستقیما به زبان ماشین ترجمه میشن.

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

دیدی جوگیر شدی؟ حالا اگه من میگفتم که با gl بازی های خیلی خوبی نوشته شده میگفتی«من همیشه دوسداشتم با gl کار کنم»؟؟

بلا مچمو گرفتی!!!:متعجب::قهقهه:
از توضیحاتتون ممنونم.



منظور از سرعت اینه که توی سیستم های ضعیف هم بتونی 60 فریم بر ثانیه رو به دست بیاری.
WAO!:متعجب: اینو نمیدونستم.یعنی بخاطر اینکه مستقیم به ماشین ترجمه میشه فریمش بیشتره؟


چیز دیگه ای لازم ندارین؟ خوب برادر من همه چیزو میگی میخوام و بعد میگی چیزی نمیخوام
دوستان گفتند نوشتن انجین.منم گفتم یه انجین تجاری بزرگ نمیخام .اینو میخام.این چیزایی که من گفتم و اگه به سی شارپ هم بنویسی 20 خط نمیشه کجاش تعجب داره؟:اشتباه:


این که موتور فقط برحسب نیاز باشه یا نه یا تجاری باشه یا نه چه ارتباطی با زبان برنامه نویسی داره؟
منظور توضیح دادن نیاز پروژه بود.


بهتره اول یکم رو مفاهیم کار کنی و بعدا شروع به بازی سازی کنی.
منظورتون از مفاهیم چیه؟


دیدی جوگیر شدی؟ حالا اگه من میگفتم که با gl بازی های خیلی خوبی نوشته شده میگفتی«من همیشه دوسداشتم با gl کار کنم»؟؟
میدونم شوخی میکنی ولی حرفم واقعیت بود نه جو.من کلا تو استارت پروژه با سی شارپ دودلم.چون میبینم بقیه همه میرن سراغ سی.ولی از انعطاف و نظم توی سی شارپ هم خبر دارم.من فقط دنبال دلیل قانع کننده ای برای انخاب می گردم

1485159
جمعه 10 دی 1389, 16:04 عصر
WAO!:متعجب: اینو نمیدونستم.یعنی بخاطر اینکه مستقیم به ماشین ترجمه میشه فریمش بیشتره؟
تقریبا آره.

این چیزایی که من گفتم و اگه به سی شارپ هم بنویسی 20 خط نمیشه کجاش تعجب داره؟
20 سطر؟ شوخی میکنی.

منظورتون از مفاهیم چیه؟
همین که بدونی نتیو چیه و چرا سی سرعتش بیشتر از سی شارپ هست و....

ولی از انعطاف و نظم توی سی شارپ هم خبر دارم.
با این تعاریف یعنی سی بی نظم و بدون انعطافه؟

Vahid_67
جمعه 10 دی 1389, 16:13 عصر
تقریبا آره.

20 سطر؟ شوخی میکنی.

همین که بدونی نتیو چیه و چرا سی سرعتش بیشتر از سی شارپ هست و....

با این تعاریف یعنی سی بی نظم و بدون انعطافه؟


20 سطر؟ شوخی میکنی.آره اینو شوخی کردم.


همین که بدونی نتیو چیه و چرا سی سرعتش بیشتر از سی شارپ هست و....من بیشتر وقتمو صرف خوندم راهنمای خود برنامه ها و ابزارها میکنم.به این خاطر که ترجمه لغتم زیاد خوب نیست.


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

Vahid_67
جمعه 10 دی 1389, 16:31 عصر
مگه اینطوری نیست که برنامه های .net اول به MSIL ترجمه میشن بعد اجرا میشن؟
کسی میدونه ترجمه برنامه سی شارپ به MSIL و بعد ماشین چقدر بیشتر از نتیو طول میکشه؟میخوام بدونم که این تفاوت چقدر اهمیت داره.
ویزوال سی پلاس ، دات نت نیست؟
من یه سمپل d3d گرفتم که هم با سی توش بود هم با سی شارپ.دوتا رو اجرا کردم هیچ فرقی رو احساس نکردم.فقط اینکه سی شارپیه تو پروسس تسک منیجر 2کیلوبایت حجمش بیشتر بود!.
کنسول ایکس باکس360 از سکوی دات نت استفاده میکنه.آیا اونجا هم نتیو بودن بازی مهمه؟
حالا اگه بازی GTA باشه فرق جی تی ای سی با شارپ تو چیه؟

1485159
جمعه 10 دی 1389, 18:29 عصر
حالا اگه بازی GTA باشه فرق جی تی ای سی با شارپ تو چیه؟
یهو میبینی جی تی آی تبدیل شده به قارچخور.:لبخند:

Vahid_67
شنبه 11 دی 1389, 00:05 صبح
یهو میبینی جی تی آی تبدیل شده به قارچخور!:متعجب:خوبی!؟
در ضمن آقای مدرس مفاهیم حرف A تو انگلیسی ( اِی - کسره دار) خونده میشه نه جی تی آی!

Vahid_67
شنبه 11 دی 1389, 10:48 صبح
یعنی کسی نیست یا بلد نیستید که جواب نمی دید!؟!
شوخی کردم

من یه سمپل d3d گرفتم که هم با سی توش بود هم با سی شارپ.دوتا رو اجرا کردم هیچ فرقی رو احساس نکردم.فقط اینکه سی شارپیه تو پروسس تسک منیجر 2کیلوبایت حجمش بیشتر بود!.
کنسول ایکس باکس360 از سکوی دات نت استفاده میکنه.آیا اونجا هم نتیو بودن بازی مهمه؟
حالا اگه بازی GTA باشه فرق جی تی ای سی با شارپ تو چیه؟

Vahid_67
یک شنبه 12 دی 1389, 09:30 صبح
کسی نیست جواب بده؟

1485159
یک شنبه 12 دی 1389, 10:10 صبح
کسی نیست جواب بده؟
اینهمه توضیح دادیم دیگه.

Vahid_67
یک شنبه 12 دی 1389, 12:15 عصر
خیلی ممنونم از توضیحات
ولی من هنوز به نتیجه قطعی نرسیدم که از کدوم استفاده کنم:
VC++
VC#
XNA