رفتن به مطلب

‎بررسی ‪DirectX 11‬، از سیر تا پیاز


 اشتراک گذاری

Recommended Posts

‎حتما تا به حال نام ‪DirectX‬ را زیاد شنیده اید. گاهی اوقات هنگام نصب بعضی بازی ها و نرم افزارها، مجبور شده اید که ‪DirectX‬ را هم نصب کنید. یا اخیرا در مورد پشتیبانی ‪DirectX 11‬ در کارت های گرافیک زیاد شنیده اید. پس احتمالا برای شما هم این سوال پیش آمده که ‪DirectX‬ چیست و در واقع چه کاری انجام می دهد؟ عده ای از شما نیز با وظیفه ی دایرکت ایکس آشنا هستید و می خواهید بدانید که چه چیز هایی به ‪Direct X11‬ اضافه شده است. در این مقاله سعی داریم که به این سوالات پاسخ دهیم.

01-DX11-narenji-ir.jpg

‎یکی از رابط های برنامه کاربردی یا ‪API‬ هایی که همواره بسیار مورد توجه تولید کنندگان سخت افزار و برنامه نویسان بوده، ‪DirectX‬ است. اما این توجه به خاطر چیست؟ در گذشته برنامه نویسان سیستم عامل داس ‪(DOS)‬ مجبور بوده اند که برای نوشتن برنامه های خود، مستقیما با سخت افزار ها در ارتباط باشند. نتیجه هم این بود که برنامه های آنان، فقط با چند سخت افزار خاص اجرا می شد و این مساله کار را بسیار سخت می کرد. اما از زمانی که مایکروسافت ‪DX‬ را ابداع کرد، کارها بسیار راحت تر شد و حالا این دایرکت ایکس است که مسئول برقراری ارتباط بین سخت افزارها و نرم افزارها است. پس این که دایرکت ایکس به این اندازه مورد توجه باشد، چندان دور از ذهن نیست.

 

‎حالا که با دایرکت ایکس آشنا شدید، وقت آن رسیده که به بررسی ‪DX 11‬ بپردازیم؛ رابطی که این روز ها بسیار مورد توجه است. اما به راستی نکات مثبت دایرکت ایکس یازده چیست؟

 

‎دایرکت ایکس یازده در واقع یک مجموعه کامل تر از این رابط است که بهبودهایی در زمینه ‪Tessellation‬ و ‪Multi-Threading‬ پیدا کرده. همچنین دو الگوریتم جدید برای متراکم کردن و فشرده سازی تکسچرها، بیشتر کردن ‪Cache‬ مربوط به تکسچرها و ارائه ‪Shader Model5‬، باعث شده اند تا پردازش تصویر و سرعت دایرکت ایکس یازده بهبود یابد. به این موارد، سیستم ‪Direct Compute‬ را اضافه کنید تا به قدرت ‪DX11‬ پی ببرید. اگر به مواردی ناآشنا بر خوردید نگران نباشید؛ در ادامه آنها را هم به شما معرفی خواهیم کرد. ‪ ‬

 
‪ ‬

‪ ‬ Multi-Threading در چه حال است؟

‎گاهی اوقات لازم می شود که هر برنامه و بازی دو یا چند عمل را به صورت هم زمان انجام دهد؛ بدون این که از دسترس خارج و به قول معروف ‪Not Responding‬ شود. برای مثال در بازی ها وقتی شما در حال تیر اندازی هستید، از ویژگی مولتی تریدینگ استفاده می کنید. چون هم حرکات شما پردازش می شود و هم حرکات و اعمال دشمنان شما.

 

‎پشتیبانی ‪Multi-Threading‬ سالها است که توسط انویدیا و ای تی آی صورت می گیرد و به پردازنده های چند هسته ای اجازه می دهد به طور مستقیم و به صورت موازی با پردازنده گرافیکی یا ‪GPU‬ ارتباط یابند. اما دایرکت ایکس یازده این امر را یک گام به جلو برده و جا را برای ‪Thread‬ های بیشتر باقی می گذارد. حالا درایور گرافیک، برنامه و دایرکت ایکس ‪Runtime‬ می توانند در ‪Thread‬ های جدا قرار گیرند. بنابر این اگر کیفیت تکسچرها در همان حد دایرکت ایکس 10 باقی بماند، می توان عملکرد بهتری را در مولتی تریدینگ های سنگین شاهد بود.

 

‎سلام بر ‪Tessellation‬:

‎لازم است اول به توضیح ‪Tessellation‬ (تسلیشن) بپردازیم: مدل های سه بعدی از راس های مختلفی تشکیل شده اند. این مدل ها درست دیده نمی شوند، مگر آن که فواصل بین راس هایشان پر شوند و به این کار ‪Tessellation‬ می گویند. این نکته را بدانید که مدل های پرجزئیات تر از راس های بیشتری تشکیل شده اند و در نتیجه به ‪Tessellation‬ بیشتری نیاز دارند.

 

‎کاراکتر ها در بازی های امروزی واقعا پیچیده و گسترده شده اند و طراحان تمام تلاش خود را برای خلق مدل هایی با جزئیات بالاتر به کار می گیرند. در گذشته شاهد این بودیم که این جزئیات فقط در میان پرده های بازی دیده می شد و در بازی خبری از آن ها نبود. علت هم آن بود که اگر مدل ها را با جزئیات بالا وارد بازی می کردند، بار سنگینی اعمال می شد و افت فریم دهی قطعی بود. اما در چند سال اخیر شاهد بهبود زیادی در کیفیت بازی ها هستیم چون هم قدرت محاسبه افزایش یافته و هم الگوریتم های Tessellation‬ در دایرکت ایکس بهتر شده است.

 

2-DX11-narenji-ir.jpg
 

3-DX11-narenji-ir.jpg

‎جالب است بدانید که ‪Tessellation‬ سخت افزاری برای اولین بار در سال 2001 توسط شرکت ای تی آی ابداع شد اما چون در آن زمان ‪API‬ ها از آن پشتیبانی نمی کردند، با استقبال زیادی از سوی توسعه دهندگان مواجه نشد. امروزه با کمک دایرکت ایکس یازده شرایط عوض شده چون (مانند دایرکت ایکس 10 و 9) از ‪Tessellation‬ سخت افزاری به عنوان یک استاندارد پشتیبانی می کند. پس به ‪Tessellation‬ سخت افزاری بیشتر توجه کنید.

 

‎میان افزار ‪Direct Compute‬

‪Direct Compute‬ یکی از میان افزار های مهم در اجرای بازی های ویدویی است.این میان افزار که در دایرکت ایکس یازده نیز وجود دارد، امروزه تبدیل به یک عضو جدایی ناپذیر خانواده دایرکت ایکس شده است! دایرکت کامپیوت می تواند زمینه اجرای محاسبات چند منظوره GPGPU را محقق کند.

اگر شما هم در مورد ‪CUDA‬ از انویدیا و استریم از ای تی آی شنیده اید، بدانید که ‪Direct Compute‬ اهرم نیرومند مایکروسافت در این زمینه است، که در به کارگیری این دو تکنولوژی کمک می کند.

‎محاسبات ‪General Purpose computing on Graphics Processing Unit‬ که به اختصار ‪GP-GPU‬ نامیده می شود، به این صورت کار می کند که بار پردازشی را به قسمت های کوچکتری تقسیم کرده و آنها را به طور موازی به اجرا در می آورد. بنابراین به جای این که محاسبات تک تک و به ترتیب اجرا شوند، به صورت یک جا اجرا می شوند و این عمل باعث افزایش بهره وری خواهد شد.

 

‎دایرکت کامپیوت اجازه می دهد که عملیات پردازشی بیشتری روی ‪GPU‬ انجام گیرد و از این راه، بازدهی را افزایش می دهد. نحوه کار به این صورت است که دستور توقف بعضی عملیات پردازشی به پردازنده داده می شود و در عوض این عملیات بر روی ‪GPU‬ انجام می گیرند. به این ترتیب هم عملکرد ‪CPU‬ بهبود می یابد و هم پردازش افکت هایی که قبلا در ‪CPU‬ غیر ممکن بود و در GPU انجام می پذیرد.

 

‎دایرکت کامپیوت قادر به اجرای موارد بسیاری است، که می توان این ها را نام برد: هوش مصنوعی، پردازش فیزیک اجسام، ردیابی اشعه ‪(ray tracing)‬، نور پردازی به شیوه ‪Ambient Occlusion‬، پست پروسسینگ، ‪Video Transcoding‬ . دایرکت کامپیوت در دایرکت ایکس 10 و 10.1‪ ‬ نیز وجود دارد. اما بعضی از قابلیت های آن در دایرکت ایکس یازده بهبود زیادی یافته است.

 

‪Ambient Occlusion‬: یک روش سایه زنی است که در گرافیک سه بعدی کامپیوتری استفاده می شود و به واقعی نشان دادن اجسام کمک می کند. این روش نور را در قسمت هایی از جسم که فرورفته هستند، رقیق می کند و در نتیجه باعث ایجاد سایه در آن قسمت ها می شود. برای فهم بیشتر به تصویر زیر توجه کنید.

4-DX11-narenji-ir.jpg

5-DX11-narenji-ir.jpg

 

‎در تصویر سمت چپ شیوه  ‪Ambient Occlusion‬ به کار گرفته شده و کل جسم نورانی و فقط قسمت های فرورفته آن دارای سایه هستند. در تصویر وسطی از شیوه ‪Diffuse‬ یا نور پراکنده استفاده شده و جسم حالت فلزی به خود گرفته و از فرورفتگی ها نیز چشم پوشی شده است. اما تصویر سمت راست بسیار واقع گرایانه تر است. در این عکس از ترکیب شیوه های ‪Diffuse‬ و ‪AO‬ استفاده شده است. روش ‪AO‬ اثر مثبتی روی سایه های جسم داشته و ‪Diffuse‬ نیز نور پردازی را کامل کرده است!

 

‪Post Processing‬: این اصطلاح معرف فرایندی است که برای بهبود کیفیت فیلم و عکس ها استفاده می شود. روش های پردازش تصویر معمولا در هر وسیله ی مولتی مدیا، از کامپیوتر گرفته تا دستگاه های ضبط و پخش ‪CD‬ و ‪DVD‬ مورد استفاده قرار می گیرند. توجه داشته باشید که ملاک برتری الگوریتم های پست پرسسینگ سرعت، شفافیت و عدم وجود پله پله گی در تصویر نهایی است.

 

‪Ray Tracing‬: در این تکنیک سعی می شود که مسیر تابش نور از منبع نور به جسم و هم چنین از اشیاء دیگر به جسم ردیابی شود. این تکنیک باعث ایجاد بازتاب های بسیار واقع گرایانه و طبیعی می شود.

6-DX11-narenji-ir.jpg

7-DX11-narenji-ir.jpg

8-DX11-narenji-ir.jpg

‪Video Transcoding‬: به تبدیل مستقیم داده های دیجیتال به دیجیتال، ‪Transcoding‬ می گویند. بارها برای شما پیش آمده که یک فایل ‪AVI‬ را به ‪MP4‬ تبدیل کنید، تا آن را بر روی موبایل خود ببینید. این کار ‪Video Transcoding‬ نامیده می شود.

 

‎عملکرد:

‎به این ترتیب با خواندن موارد بالا متوجه شدید که بیشتر کار های شما با بازی ها و بعضی نرم افزارهای خاص تحت دایرکت ایکس انجام می گیرد و به اهمیت این میان افزار پی بردید. حالا وقت آزمایش است. باید ببینیم که این میان افزار در عرصه عمل چگونه رفتار می کند! دایرکت ایکس یازده را از دو منظر مورد آزمایش قرار داده اند: یکی کیفیت تصاویر و دوم سرعت عملکرد.

 

‎برای تست از سیستمی با این مشخصات استفاده شده:

CPU: AMD Phenom II X4 955  
Main board: AMD 785G Chipset  
RAM: 2GB DDR3 1333MHz  
H.D.D: Western Digital "Raptor" 150 GB-10,000 RPM- SATA  
OS & Drivers: Windows Vista Ultimate – Catalyst 10.3 – Direct X 9, 10, 11  
Graphics Cards: Diamond Radeon HD5770 1024MB – Diamond Radeon HD5870 1024MB

 

‎توجه: در تمام تست ها نارنجی ‪DX9‬، قرمز ‪DX10‬ و آبی ‪DX11‬ است.

9-DX11-narenji-ir.jpg

11-DX11-narenji-ir.jpg

‎همانطور که تصاویر بالا نشان می دهند، در زمینه ایجاد عمق میدان و همچنین کنتراست بالاترِ رنگ ها بهبود یافته است.  

 

ادامه دارد...

ویرایش شده توسط ᗰOHᗩᗰᗩD
لینک به دیدگاه
Share on other sites

‎مشخصات حداقل سیستم توصیه شده به این شرح است. توجه داشته باشید که در تست ها ‪DX10‬ هم مورد بررسی قرار داده شده و شرایط آنها مانند تست قبلی است.

20-DX11-narenji-ir.jpg

حال نوبت به تست عملکرد در سیستم مورد آزمایش است: تست این بازی در دو رزولوشن مختلف و تحت دایرکت ایکس یازده با فیلتر ‪4XAA‬ انجام شده و تست های دایرکت ایکس 9 بدون فیلتر AA‬ انجام شده اند. در نهایت نتایج به این صورت است:

4zn0y06sq0o3nk86tzy5.jpg
ml09cihmc0a6ak8qbq0.jpg

‎همانطور که مشاهده می کنید نتایج در دایرکت ایکس یازده از بازدهی کمتری بر خوردار اند. اما این مساله توجیهی قانع کننده دارد و آن اجرا نکردن فیلتر ‪AA‬ در دایرکت ایکس 9 است. سایت ‪Hot Hardware‬ این مطلب را ذکر کرده که با اجرای دایرکت ایکس یازده بدون فیلتر ‪AA‬، عملکرد حدود 6.3 فریم از ‪DX9‬ بالاتر بود. علاوه بر این، کیفیت تصویر دایرکت ایکس یازده بهتر از دایرکت ایکس 9 بوده!

 

‎تست با بازی ‪BF: Bad Company 2‬ :

‎این بازی بر پایه موتور ‪Frostbite‬ ساخته شده است. یعنی همان موتوری که در نسخه قبلی ‪Bad Company‬ استفاده شده بود. این موتور ساخت شرکت ‪DICE‬ بوده و در نسل جاری کنسول ها استفاده می شود. نسخه کامپیوتری این بازی تغییرات زیادی کرده و ظاهرا طراحان، وقت زیادی را صرف ایجاد این تغییرات کرده اند. از جمله آن ها می توان به پشتیبانی از ‪DirectX 11‬ و پشتیبانی کامل از تکنولوژی های ‪ATI Eyefinity‬ و ‪Nvidia 3D Vision‬ را نام برد.

16-DX11-narenji-ir.jpg
17-DX11-narenji-ir.jpg
18-DX11-narenji-ir.jpg
19-DX11-narenji-ir.jpg

‎مشخصات حداقل سیستم توصیه شده به این شرح است. توجه داشته باشید که در تست ها ‪DX10‬ هم مورد بررسی قرار داده شده و شرایط آنها مانند تست قبلی است.

20-DX11-narenji-ir.jpg
ulfkzgp32sfhltwef9.jpg
a2c7vq7yj7s1nsis6y7y.jpg

‎از تست های انجام شده این نتیجه را می توان گرفت که توان ‪DX11‬ در پردازش تصاویر به خصوص در حوزه های عمق میدان، اعمال افکت های تصویری، نور پردازی، سایه زنی و ... بیشتر شده است. به طوری که اگر تصاویر در نور محیطی کم با هم مقایسه شوند، می بینید که تصویر ‪DX9‬ مه گرفته و ‪Fog‬ است، اما تصویر ‪DX11‬ بسیار بهتر است.

 

‎سخن پایانی:

‎عرضه دایرکت ایکس یازده به همراه ویندوز 7 بسیار مورد توجه قرار گرفت و تولید کنندگان بزرگ سخت افزار در صدد حمایت از آن برآمدند. اولین شرکتی که استفاده از ‪DX11‬ را به طور انبوه روی محصولاتش شروع کرد، ‪AMD‬ بود که با این کار خود توانست درصد زیادی از فروش بازار را به دست آورد. هم اکنون ‪Nvidia‬ هم بر روی محصولات سطح بالای خود از ‪DX11‬ استفاده می کند.

 

‎دایرکت ایکس یازده توانسته است پیشرفت های زیادی در زمینه رندر صحنه ها و ایجاد افکت های مختلف داشته باشد. اما بعضی افراد عقیده دارند که کیفیت ‪DX11‬ فقط کمی بالا تر رفته و چندان چشمگیر نیست. در پاسخ باید گفت که ‪DX11‬ هنوز جوان است و باید کمی منتظر ماند تا بازی ها پیشرفت کنند. احتمالا ‪Crysis2‬ می تواند نتیجه نهایی را در مورد این ‪API‬ تا حدود زیادی معلوم کند. اما با توجه به بازی های کنونی می توان عملکرد ‪DX11‬ را خوب ارزیابی کرد. برای به دست آوردن ‪DX11‬ نیازی نیست که حتما پول زیادی خرج کنید. زیرا کارت های گرافیک ارزان قیمتی مانند 5450 و 5570 نیز می توانند این ‪API‬ را در اختیار شما قرار دهند.

 

‎منابع: 
‪HotHardware.com‬ 
‪Wikipedia.com‬

 
ویرایش شده توسط سعید حسینی
لینک به دیدگاه
Share on other sites

جالب بود 

ولی ای کاش ازDirect X 11.1 میزاشتی! 

دنبالشم...پیدا کردم میزارم @};-

لینک به دیدگاه
Share on other sites

  • کاربر ویژه

سلام

ممنون محمد جان مطالب مفید و کاربردی و مهم بود ...

لینک به دیدگاه
Share on other sites

سلام

ممنون محمد جان مطالب مفید و کاربردی و مهم بود ...

خواهش میکنم عطا جان

 مرسی که وقت گزاشتی و خوندیش.. @};-

لینک به دیدگاه
Share on other sites

  • کاربر ویژه

آقا محمد مطالب مفیدی گذاشتین.

ممنون

لینک به دیدگاه
Share on other sites

آقا محمد مطالب مفیدی گذاشتین.

ممنون

 خواهش میکنم علی جان @};-

لینک به دیدگاه
Share on other sites

مرسی محمد جان زحمت کشیدی!

ان شاالله تاپیک بعدی بهتر وبهتر باشه !مرسی

لینک به دیدگاه
Share on other sites

مرسی محمد جان زحمت کشیدی!

ان شاالله تاپیک بعدی بهتر وبهتر باشه !مرسی

لطف داری حمید جان

 ممنون @};-

لینک به دیدگاه
Share on other sites

ممنون خیلی جالب بود فقط یه سوال مبتدیانه :D

اگه ویندوز 7 باشه و کارت گرافیکت هم قابلیت direct x 11 داشته باشه باید برنامشو جدا نصب کرد؟

لینک به دیدگاه
Share on other sites

ممنون خیلی جالب بود فقط یه سوال مبتدیانه :D

اگه ویندوز 7 باشه و کارت گرافیکت هم قابلیت direct x 11 داشته باشه باید برنامشو جدا نصب کرد؟

خواهش میکنم/امیدوارم مفید بوده باشه

بله...کلا ویندوز ربطی به نصب بودن دایریکس نداره و برای اجرای بهتر بازی ها باید دایریکس رو نصب کنید..

موفق باشید @};-

لینک به دیدگاه
Share on other sites

آخه شنیدم direct x 11 رو ویندوز 7 و8 جواب میده مثلا رو اکس پی جواب نمیده

برنامشو از کجا میشه دانلود کرد؟ اگه لینک بدین که دیگه واقعا ممنون

مرسی بابت پست مفیدتون

لینک به دیدگاه
Share on other sites

آخه شنیدم direct x 11 رو ویندوز 7 و8 جواب میده مثلا رو اکس پی جواب نمیده

برنامشو از کجا میشه دانلود کرد؟ اگه لینک بدین که دیگه واقعا ممنون

مرسی بابت پست مفیدتون

خواهش میکنم

در این رابطه اطلاعی ندارم

اینم لینک

http://www.mobinigi.com/post/411/411

ویرایش شده توسط ᗰOHᗩᗰᗩD
لینک به دیدگاه
Share on other sites

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .
توجه: مطلب ارسالی شما پس از تایید مدیریت برای همه قابل رویت خواهد بود.

مهمان
ارسال پست در این تاپیک...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

 اشتراک گذاری

×
  • اضافه کردن...