PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : بررسی ‪DirectX 11‬، از سیر تا پیاز



PesarIran
Wednesday 16 June 2010, 10:12 PM
[Only the registered members can see the IMG Pictures. Please Login OR Register]

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


‎یکی از رابط های برنامه کاربردی یا ‪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‬ در دایرکت ایکس بهتر شده است.


[Only the registered members can see the IMG Pictures. Please Login OR Register]

[Only the registered members can see the IMG Pictures. Please Login OR Register]

‎جالب است بدانید که ‪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 انجام می پذیرد. اطلاعات بیشتر در مورد ‪GP-GPU‬ را می توانید اینجا بخوانید.


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


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


[Only the registered members can see the IMG Pictures. Please Login OR Register]

[Only the registered members can see the IMG Pictures. Please Login OR Register]

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


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


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


[Only the registered members can see the IMG Pictures. Please Login OR Register]

[Only the registered members can see the IMG Pictures. Please Login OR Register]

[Only the registered members can see the IMG Pictures. Please Login OR Register]

‪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‬ است.


‎تست با بازی ‪Aliens Vs. Predator‬:

‎تصاویر زیر تفاوت کیفیت دایرکت ایکس 9 و 11 را به خوبی نشان می دهند.


[Only the registered members can see the IMG Pictures. Please Login OR Register]

[Only the registered members can see the IMG Pictures. Please Login OR Register]

[Only the registered members can see the IMG Pictures. Please Login OR Register]

[Only the registered members can see the IMG Pictures. Please Login OR Register]

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

‎اکنون وقت آن رسیده که از تفاوت عملکرد ها اطلاع یابیم:


[Only the registered members can see the IMG Pictures. Please Login OR Register]

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


[Only the registered members can see the IMG Pictures. Please Login OR Register]

[Only the registered members can see the IMG Pictures. Please Login OR Register]

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


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

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


[Only the registered members can see the IMG Pictures. Please Login OR Register]

[Only the registered members can see the IMG Pictures. Please Login OR Register]

[Only the registered members can see the IMG Pictures. Please Login OR Register]

[Only the registered members can see the IMG Pictures. Please Login OR Register]

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


[Only the registered members can see the IMG Pictures. Please Login OR Register]

[Only the registered members can see the IMG Pictures. Please Login OR Register]

[Only the registered members can see the IMG Pictures. Please Login OR Register]

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


‎سخن پایانی:

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


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


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


narenji.ir