تبلیغات :
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




صفحه 1 از 2 12 آخرآخر
نمايش نتايج 1 به 10 از 16

نام تاپيک: DirectX یا XNA مسئله این است!

  1. #1
    کاربر فعال انجمن توسعه و ساخت بازی lord arthas's Avatar
    تاريخ عضويت
    Apr 2010
    محل سكونت
    مشهد
    پست ها
    1,065

    پيش فرض DirectX یا XNA مسئله این است!

    DirectX یا XNA مسئله این است!

    از یک طرف XNA اسون تر رفرنس بیشتری داره از طرفی DirectX رندر عالـــــی تر و قابلیت های باحال تری داره

    شما راهنمایی کنید... کدام؟!

    توجه اینکه بیاین بگین هیچ کدام خلاف قوانین تاپیکه
    توجه لطفا افراد با تجربه پاسخ بدن

    احسان , پرویز , god of war 2 , پیام منتظرم ها...

  2. 2 کاربر از lord arthas بخاطر این مطلب مفید تشکر کرده اند


  3. #2
    پروفشنال Hotsun's Avatar
    تاريخ عضويت
    Apr 2009
    محل سكونت
    تهران
    پست ها
    954

    پيش فرض

    من که رک بگم XNA کار نکردم تا حالا ولی این رو بدون که DX فقط تو Geometry shader های حرفه ای و پیچیده ممکنه تغییری در ساختار طراحیت ایجاد کنه که حالا حالاها به کارت نمیاد.

    در کل DX رو با یه انجین توپ استفاده کنی میتونی خیلی کارای خوبی انجام بدی,در واقع به نظرم این حرفت مثل قضیه همون Unity یا UDK هست که هر کدوم یه مزیت هایی دارن و هیچ وقت بینشون نمیشه با قاطعیت یکی رو انتخاب کرد.

  4. #3
    کاربر فعال انجمن توسعه و ساخت بازی lord arthas's Avatar
    تاريخ عضويت
    Apr 2010
    محل سكونت
    مشهد
    پست ها
    1,065

    پيش فرض

    اخه از XNa هم خوشم میاد....از انجین نویسی بیشتر پرویزم با DirectX نوشته بود Lian رو چجوریاست؟! ببین مثلا از ارزو هامه که Ogre رو گشترش بدم

  5. #4
    کـاربـر بـاسـابـقـه god of war 2's Avatar
    تاريخ عضويت
    Jun 2007
    پست ها
    585

    پيش فرض

    سلام.
    پیشاپیش سال نو رو به تمام دوستان و اعضای این انجمن تبریک میگم.(از این تریبون استفاده کردم به این دلیل که شاید دیگه چند وقتی نتونم بیام تو انجمن)
    خوب این پست هم تمام نظر بنده.(بیشتر بخاطر اینکه اسم منو هم تو پست اول نوشتید گفتم اگر جواب ندم یکم بی احترامی میشه)
    ------
    سوالی که پرسیدید میشد یکم کاملتر باشه اگر میگفتید برای چه پلتفرمی (Xbox - PC - Windows Phone 7 - Zune - البته منظورم از PC سیستم عامل Wndows هست) منظورتون هست یکم و راحت تر هم میشد جواب داد.

    از نظر اجرای بازی روی پلتفرم های مختلف(البته تو این توضیح فقط Xbox و PC رو در نظر میگیرم): برای Xbox فقط یک گزینه موجود هست و اون هم XDK یا همون Xbox Development Kit هست (یک add-on برای گسترش دهندگان Xbox) که انجین هایی هم که قابلیت خروجی Xbox دارن مثل Unreal از همین مورد استفاده میکنند.
    اما برای PC شما میتونید از هر دو گزینه XNA و DirectX استفاده کنید که انتخاب هرکدوم به پارمتر های مختلفی برای تیم سازنده بازی برمیگرده.یکی از مواردی که میشه مثال زد اینه که ممکنه هدف تیم ساخت بازی برای هر دو پلتفرم Xbox و PC باشه که در اینصورت باز دو راه دیگه پیش روی خود دارند یکی اینکه کل ساختارشونو برا پایه XNA پیاده کنند که هم قابل اجرا بر روی PC هست و هم پورت کردن اون روی Xbox بسیار راحت تر و کم هزینه تر هست.راه دوم که بیشتر برای پروژه های سنگین که نیاز به استفاده از قدرت کامل سخت افزار دارن اینکه که نسخه PC رو روی DirectX پیاده میکنند و برای Xbox اونو روی XNA پورت میکنن (توابع در هر دو معمولا شبیه هم هستند) که هزینه بیشتری نسبت به مورد قبلی داره اما در نهایت خروجی بهتر و با کیفیت تری حداقل برای نسخه PC بدست میاد.

    از نظر سبک بازی و مدت زمان مصرفی: معمولا بازیهای دو بعدی یا بازیهای سه بعدی کم حجم و سبک با XNA نوشته میشن که دلایل مختلفی داره.یکی این که XNA خیلی از چیزهای لازم برای ساخت یک بازی رو در خود جای داده که باعث میشه سرعت پیشرفت کار زیاد بشه.دلیل دیگری که میشه مثال زد سطح بالا بودن XNA نسبت به DirectX هست یعنی برنامه نویس در استفاده از XNA فوق العاده راحت تر هست تا اینکه با Api های سطح پایین DirectX کار کنه.دلیل دیگر نیاز نداشتن به کارایی بالا سخت افزار در بازی های دو بعدی و کم حجم.و ...

    از نظر کارایی و ساختار: چند وقت پیش که داشتم یک کلاس Input در DirectInput 8 برای یک انجین مینوشتم متوجه شدم که نمیشه از قابلیت شوکر های دسته استفاده کرد حتی نمیشه از دسته های بازی Xbox استفاده کرد (البته شاید پورتی برای این مورد امده باشه اما من مطلع نیستم) و تنها راه چاره استفاده از Xinput بود. این یک مثال کوچیک از کارایی های هر دو هست البته ممکنه در نسخه های بعدی DirectX این مشکل برطرف بشه ولی متاسفانه از DirectInput 8 به بعد micro$oft در حال گسترش Xinput هست.
    مورد دیگری که در XNA وجود داره یک حلقه سرخود یا built-in هست که در حقیقت همون game loop یا main loop بحساب میاد که مشابه اون در DirectX وجود نداره و باید توسط برنامه نویس پیاده سازی بشه.(به نظر من داشتن حلقه سرخود یک محدودیت برای برنامه نویس بحساب میاد شاید برنامه نویس بخواد تمام ساختار برنامه یا بازیشو خودش با توجه به سلیقه خودش طراحی کنه)
    همونطور که میدونید XNA معمولا توسط زبان #C استفاده میشه ولی برای DirectX معمولا از زبان ++C استفاده میکنند و یک مشکلی که این وسط وجود داره و یک کار برنامه نویس رو سخت میکنه اما از طرفی هم به اون قدرت مانور میده اینه که در زبانی مثل #C سیستمی به نام Garbage -collection تعبیه شده که بصورت اتوماتیک مقادی حافظه ای که توسط برنامه نویس گرفته شده رو در مواقعی که لازم نیست آزاد میکنه اما در ++C چنین چیزی نیست و برنامه نویس باید مراقب حافظه هایی که بصورت پویا میگیره و یا اشارگر ها باشه ولی به نظر من این یک قدرت مانور برای برنامه نویس هست که در #C یکم محدود شده و برنامه نویس نمیتونه مستقیم به حافظه دسترسی داشته باشه.البته میتونید از DirectX به همراه #C نیز استفاده کنید اما دچار افت سرعت و کارایی نسبت به نمونه مشابه در ++C میشید.
    پسوند فایل ها نیز یک نمونه دیگر از تفاوت DirectX و XNA هستند که میتونید برای جزئیات بیشتر خودتون یک جستجویی بکنید
    و ...

    از نظر سرعت و قدرت: خوب همونطور که میدونید XNA میشه گفت یک رو برداری از DirectX بصورت مدیریت شده بحساب میاد که هر وقت نام مدیریت شده در محصولات Micro$oft به گوشتون خورد بدونید که محدودیت هایی از نظر قدرت و کارایی و سرعت نسبت به نسخه مدیریت نشده (در اینجا DirectX) داره.پس از این نظر میشه گفت DirectX تقریبا نوعی پدر برای فرزند خود XNA بحساب میاد.
    نکته دیگری که هست اینه که برنام هایی که بصورت مستقیم و توسط زبانی مثل ++C از DirectX استفاده میکنند در نهایت بصورت Native کامپایل میشن یعنی موقع اجرا هیچ واسطه ای میان اون برنامه و CPU و یا GPU وجود نداره ولی در XNA چنین نیست و کل برنامه در یک محیط زمان اجرای مدیریت شده اجرا میشه.

    فکر کنم تا همینجا کافی باشه.امیدوارم که بدردتون بخره.
    موفق باشید
    Last edited by god of war 2; 11-03-2012 at 22:12.

  6. 5 کاربر از god of war 2 بخاطر این مطلب مفید تشکر کرده اند


  7. #5
    کاربر فعال انجمن توسعه و ساخت بازی lord arthas's Avatar
    تاريخ عضويت
    Apr 2010
    محل سكونت
    مشهد
    پست ها
    1,065

    پيش فرض

    سلام , مرسی از جواب دقیقت راستش با این اوصاف فک کنم برم سراغ XNA بهتر باشه چرا؟!

    -من سنم کمه ریاضیات چیز زیادی هنوز نمیدونم اونقد

    -دایرکت ایکس پیچیدست

    -رفرنس هاش کمن ( من از انگلیسی از فارسی بیشتر خوشم میاد منظورم کلیه)

    اگه نظر مخالف دارین بگین لطفا

  8. #6
    کـاربـر بـاسـابـقـه god of war 2's Avatar
    تاريخ عضويت
    Jun 2007
    پست ها
    585

    پيش فرض

    رفرنس و مثال برای هردو به اندازه کافی موجود هست و خیالتون از این بابت راحت باشه.

  9. #7
    کاربر فعال انجمن توسعه و ساخت بازی lord arthas's Avatar
    تاريخ عضويت
    Apr 2010
    محل سكونت
    مشهد
    پست ها
    1,065

    پيش فرض

    میشه لینک بدی؟!

    در مورد ریاضیات چی؟!

  10. #8
    کـاربـر بـاسـابـقـه god of war 2's Avatar
    تاريخ عضويت
    Jun 2007
    پست ها
    585

    پيش فرض

    یه سرچی بکنید البته قبلش باید موضوع سرچتون مشخص باشه مثلا:
    initializing Direct3D
    برای ریاضیات هم به همین صورت.
    البته پیشنهاد میکنم از یک کتاب کمک بگیرید که قدم به قدم راهنمایی کرده باشه.
    میتونید به انجمنی که آدرسش در امضای بنده هست هم مراجعه کنید که شامل توضیحات فارسی در رابطه با DirectX هست.
    برای XNA هم در همین انجمن در بخش برنامه نویسی Net. یک تاپیک برای آموزش XNA وجود داره.

  11. #9
    کاربر فعال انجمن توسعه و ساخت بازی lord arthas's Avatar
    تاريخ عضويت
    Apr 2010
    محل سكونت
    مشهد
    پست ها
    1,065

    پيش فرض

    نه یک رفرنس عالی برای XNA پیدا کردم

    نه منظورم اینه که من سنم 14ست بعد گیر نمیکنم جایی؟

  12. #10
    کـاربـر بـاسـابـقـه god of war 2's Avatar
    تاريخ عضويت
    Jun 2007
    پست ها
    585

    پيش فرض

    نه منظورم اینه که من سنم 14ست بعد گیر نمیکنم جایی؟
    نه.اتفاقا من هم وقتی شروع کردم تقریبا هم سن شما بودم

صفحه 1 از 2 12 آخرآخر

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •