محبوبترینها
چگونه با ثبت آگهی رایگان در سایت های نیازمندیها، کسب و کارتان را به دیگران معرفی کنید؟
بهترین لوله برای لوله کشی آب ساختمان
دانلود آهنگ های برتر ایرانی و خارجی 2024
ماندگاری بیشتر محصولات باغ شما با این روش ساده!
بارشهای سیلآسا در راه است! آیا خانه شما آماده است؟
بارشهای سیلآسا در راه است! آیا خانه شما آماده است؟
قیمت انواع دستگاه تصفیه آب خانگی در ایران
نمایش جنگ دینامیت شو در تهران [از بیوگرافی میلاد صالح پور تا خرید بلیط]
9 روش جرم گیری ماشین لباسشویی سامسونگ برای از بین بردن بوی بد
ساندویچ پانل: بهترین گزینه برای ساخت و ساز سریع
خرید بیمه، استعلام و مقایسه انواع بیمه درمان ✅?
صفحه اول
آرشیو مطالب
ورود/عضویت
هواشناسی
قیمت طلا سکه و ارز
قیمت خودرو
مطالب در سایت شما
تبادل لینک
ارتباط با ما
مطالب سایت سرگرمی سبک زندگی سینما و تلویزیون فرهنگ و هنر پزشکی و سلامت اجتماع و خانواده تصویری دین و اندیشه ورزش اقتصادی سیاسی حوادث علم و فناوری سایتهای دانلود گوناگون
مطالب سایت سرگرمی سبک زندگی سینما و تلویزیون فرهنگ و هنر پزشکی و سلامت اجتماع و خانواده تصویری دین و اندیشه ورزش اقتصادی سیاسی حوادث علم و فناوری سایتهای دانلود گوناگون
آمار وبسایت
تعداد کل بازدیدها :
1844347283
DirectX10 و اهمیت آن در صنعت کامپیوتر های شخصی
واضح آرشیو وب فارسی:پی سی سیتی: DirectX10 و اهمیت آن در صنعت کامپیوتر های شخصی
http://www.irancg.com/photo/maghale/html05/directx10/directx10.jpg
در این مصاحبه پرسش ها توسط BD (کوتاه شده عبارت Boot Daily) و پاسخ ها با نام Chris (مدیر بخش گسترش و بازاریابی مایکروسافت) مشخص شده اند. همچنین منظور از DX10 در این مصاحبه DirectX 10 می باشد.
BD : لطفا اهمیت DX10 را برای دوست داران بازی ها در یک جمله توضیح دهید.
Chris : ما در مایکروسافت DirectX 10 را به عنوان بلند ترین جهش در کیفیت و کارایی گرافیک در صنعت کامپیوتر های شخصی از زمان پیدایش DirectX که به زمان ویندوز 95، و تحولی در زمینه بازی های کامپیوتری و تکنولوژی مربوط به آن می دانیم.
BD : و اهمیت آن برای کاربران عادی؟
Chris : بله، DirectX 10 بالاترین کیفیت و کارایی گرافیکی را در پلاتفرم ویندوز را به همراه خواهد داشت که نتیجه آن تجربه ای باورنکردنی و دور از ذهن برای کاربران عادی خواهد بود.
BD : این یک حقیقت است که تعداد زیادی از بازی های معروف و پرطرفدار درحال حاظر بر پایه موتور گرافیکی Doom3 که از OpenGL بهره می گیرد ساخته می شوند. به نظر شما DX10 چه مزیت هایی نسبت به OpenGL برای تولید کنندگان بازی های کامپیوتری به ارمغان می آورد؟
Chris : همانطور که می دانید، ما DirectX 10 را برای ویندوز ویستا و با هدف ارایه دادن یک تجربه باورنکردنی از جزئیات گرافیکی به کاربران و بازیکنان ، تماما از پایه و از صفر ساخته ایم. این نسخه از DirectX نسب به نسخه های قبلی دارای بازده به مراتب بیشتر و در عین حال با ضریب اطمینان و پایداری بیشتر خواهد بود. DirectX 10 به لطف Shader Model 4.0 به طور فوق العاده ای کیفیت و جزئیات باورنکردنی را در اختیار توسعه دهندگان و نهایتا کاربران خواهد گذاشت که از آن جمله توانایی بکارگیری محیط های پیچیده گرافیکی و ترسیم چهره ها به صورت بسیار طبیعی و توانایی نمایش تعداد دلخواه از آیتم ها در صحنه می باشد.
اشاره کردید که بازی های معروف و پرطرفدار بر اساس موتور گرافیکی Doom3 و OpenGL ساخته می شوند، اما به عقیده من تعداد بازی هایی که از DirectX استفاده می کنند به مراتب بیشتر و حتی زیبا تر هستند. بازی هایی زیادی هستند که بر اساس موتور های گرافیکی Unreal و Source و با استفاده از DirectX ساخته می شوند. حتی ID (منظور شرکت ID Software سازنده سری بازی های Doom و Quake است) نیز برای منطبق ساختن بازی های خود با کنسول های Xbox و Xbox360 آنها را به DirectX تبدیل می کند.
با این حال، تمامی برنامه هایی که از واسط گرافیکی OpenGL استفاده می کنند قابلیت اجرا در ویندوز ویستا را به شرط پشتیبانی درایور گرافیک و استفاده از وصله (Patch) مناسب، خواهند داشت. به همین خاطر سازندگان و فروشندگان قطعات سخت افزاری ملزم به ارایه ICD یا Installable Client Drivers که امکان استفاده از شتابدهنده گرافیکی را برای پردازش دستورات OpenGL را خواهد داد، هستند.
BD : چرا این نسخه از DX10 تنها قابل استفاده در ویندوز ویستا است؟ آیا این نوعی اجبار کاربران برای خرید و ارتقا به ویندوز ویستا نیست؟ DirectX 10: Chrisباز به امکانات مشخصی جهت بهره گیری کامل از سخت افزار گرافیکی سیستم دارد که این امکانات و خصیصه ها تنها در سیستم عامل ویندوز ویستا موجود است. ما یک هدف بزرگ را برای دراختیار گذاشتن تجربه گرافیکی جدید به کاربران در نظر گرفته ایم و همانطور که قبلا گفتم، DirectX 10 کاملا از پایه و بدون استفاده از نسخه های قبلی این واسط گرافیکی ساخته شده است و بنابر این هیچگونه سازگاری با نسخه های قبلی از سیستم عامل ویندوز ندارد.
DirectX 10 برپایه مدل جدید درایور تصویر ویندوز ویستا (Windows Vista Display Driver Model یا WDDM) که معرف عصر جدیدی در قابلیت های گرافیکی و افزایش پایداری و ضریب اطمینان درنظر گرفته شده، طراحی شده است. در عین حال ما با انجام تغییراتی در معماری مدل درایور ها سعی در آسان سازی و افزایش پایداری و همچنین سازگاری بیشتر تراشه های گرافیکی با مجموعه دستورات هوش مصنوعی و محاسبات فیزیکی (جدا از تراشه های محاسب فیزیکی) انجام داده ایم که مجموعه این دلایل برای ارایه نشدن این نسخه از DirectX جهت سیستم عامل های قبلی مایکروسافت از جمله ویندوز XP متقاعد کننده به نظر می رسد.
BD : به غیر از رشته های کوتاه تر (Shorter Program Strings)، مزیت اصلی Shader Model 4.0 نسبت به نسخه 3.0 آن برای توسعه دهندگان بازی های کامپیوتری چست؟
Shader Model 4.0 : Chris به توسعه دهندکان اینگونه نرم افزار ها اجازه انجام محاسبات پیچیده بیشتری را در تراشه های گرافیکی (GPU) می دهد. این عمل ضمن کاهش بار پردازش از پردازنده سیستم را که باعث عدم بهره گیری از قدرت کامل تراشه گرافیکی می شود، اجازه انجام محاسبات سنگین مربوط به هوش مصنوعی و نیز افزایش تعداد آیتم ها را در صحنه در اختیار توسعه دهندگان قرار خواهد داد.
در عین حال DirectX 10 به همراه Shader Model 4.0 به لطف پشتیبانی از سایه زن های متحد (Unifyed Shaders) انعطاف پذیری و خلاقیت بسیار بیشتری را در اینگونه توسعه دهندگان قرار خواهد داد.
BD : شرکت های ATI و NVIDIA هردو در حال طراحی و ساخت تراشه های گرافیکی سازگار با DX10 هستند. به نظر شما این تراشه های گرافیکی در مقایسه با کنسول های بازی Xbox 360 و PS3 چگونه عمل خواهد کرد؟
Chris : این موضوع و تلااش این دو شرکت در مورد DirectX 10 بسیار هیجان انگیز است. اما بهتر است این سوال را از خود آنها بپرسید.
BD : به غیر از برتری های DX10 در مورد بازی های کامپیوتری، این نسخه چه نقشی را در برنامه های کاربردی آینده بازی خواهد نمود؟
DirectX 10: Chris فراتر از صرفا یک واسط و مجموعه دستورها برای بازی های کامپیوتری است. در گذشته نیز بسیاری از برنامه های کاربردی از CAD/CAM و 3DStudio گرفته تا برنامه های پزشکی و تصویر برداری نیز از مزایای DirectX بهره گرفته اند. با این حال DirectX 10 باز هم نسبت به نسخه های قبلی قطعا امکانات بسیار مناسب تری را در اختیار اینگونه برنامه ها خواهد گذاشت. به یک نکته دقت کنید.
ویندوز ویستا از DirectX 10 به عنوان یک مولفه گرافیکی استفاده می کند - پس ویندوز ویستا هم خود یک برنامه کاربردی استفاده کننده از DirectX 10 محسوب می شود.
BD : نحوه تعامل DX10 با کاربرانی که از سخت افزار DX10 استفاده نمی کنند چگونه خواهد بود؟
DirectX 10: Chris و ویندوز ویستا کاملا با تمامی برنامه ها و بازی های منطبق با نسخه های قدیمی تر DirectX سازگار هستند. کسانی که در زمان انتشار ویندوز ویستا، سخت افزار منطبق بر DirectX 10 را در اختیار ندارند و یا تهیه نکرده اند، هنوز هم قابلیت اجرای بازی ها و برنامه های برپایه DirectX 10 را خواهند داشت. DirecrX 9 هم در ویندوز ویستا برای این گروه از کاربران در نظر گرفته شده است. با این حال جالب است بدانید کاربرانی که با استفاده از سخت افزار منطبق بر DirectX 10 بازی های DirectX 9 را اجرا کنند شاهد افزایش کیفیت و بازده آن خواهند بود.
درعین حال توسعه دهندگان نیز می توانند با خیالی آسوده به تولید بازی ها و نرم افزار های بر اساس DirectX 9 برای ویندوز ویستا بپردازند.
BD : آیا به نظر شما DX10 نهایت گرافیک در کامپیوتر خواهد بود؟ یعنی با فرض در اختیار داشتن سخت افزار مناسب آیا شاهد تصاویر منطبق بر واقعیت با سرعت نمایش مناسب خواهیم بود؟
Chris : ما به DirectX 10 به عنوان گام بلندی در زمینه گرافیک کامپیوتری می نگریم. مطمنا این نسخه از DirectX تجربه جدید را در اختیار کاربران خواهد گذاشت و با اجازه دادن به توسعه دهندگان برای آشنایی با قابلیت های DirectX 10 این تجارب بهتر و بهتر نیز خواهند شد. اما ما همچنین عقیده داریم که هنوز هم موارد زیادی در این مورد قابل دستیابی هستند و بدست آوردن آنها نیز به زمان بیشتری نیاز دارد. گرافیک در ویندوز و DirectX 10 هنوز هم در راه توسعه و تکامل هستند.
BD : آیا شما در این لحظه در مورد تراشه های DirectX 10 شرکت های ATI و nVIDIA نظری دارید؟ کدام یک را برای خود انتخاب می کنید؟
Chris : نه، ما بدون همکاران خود در جای فعلی قرار نداشتیم! مایکروسافت با تمامی شرکت های فعال در زمینه گرافیک کامپیوتری همکاری نزدیک و دوستانه ای داشته و دارد. هردوی آنها همکاری های بسیاری در توسعه پلاتفرم ویندوز تا کنون با ما داشته اند. دیدن محصولات آنها برای ویندوز ویتا در فروشگاه های سخت افزاری برای ما جال خواهد بود.
BD : در مورد پیشرفت های صدا در DX10 نیز توضیح دهید. آیا ما میتوانیم با این نسخه صداها را "ببینیم" !؟
Chris : این نسخه از DirectX کماکان روال گذشته را در مورد چگونگی و نحوه تولید صدا ها ( بر پایه XACT cross-platform audio creation tool) را ادامه می دهد. بنابر این برتری عمده ای نسبت به نسخه های قبلی در این نسخه قابل ذکر نیست اما پیشرفت هایی انجام شده است.
BD : ویندوز ویستا چگونه برای اجرای یک بازی یا برنامه با استفاده از DX10 و یا DX9 را با توجه به نوع GPU تصمیم گیری می کند؟
Chris : وقتی روند اجرای یک بازی آغاز می شود، ویندوز ویستا با تشخیص نسخه DirectX به کار رفته در بازی و سخت افزار سیستم، گزینه مناسب را انتخاب خواهد کرد.
BD : گفته می شود که DirectX10 از Geometry Shaders (سایه زن هندسی) استفاده می کند. این قابلیت تا چه حد به روند انجام و تشکیل اشکال هندسی کمک خواهد کرد؟
Geometry Shader : Chris دقیقاً در بین سایه زن های پیکسل و راس (Vertex and Pixel) در خط لوله پردازش قرار دارد. می تواند از رئوس و مثلث های ایجاد شده در ترسیم اشکال بعدی، بدون نیاز به پردازش مجدد، استفاده کند. سایه زن هندسی کارهای دیگری نیز انجام میدهد : تقویت تعداد مثلث ها با انتخاب یک یا چند مثلث از قبل پردازش شده و تکرار آنها بدون نیاز به پردازش مجدد، و یا تشکیل مثلث های جدید با ترکیب مثلث های دردسترس، تولید نقطه ها و خط های جدید و یا با استفاده از مثلث های ازقبل پردازش شده، و یا تولید پیکسل های پخش شده (جدا جدا).
انتخاب یک نقطه، تولید یک سری مثلث در اطراف آن و گسترش آن تا تشکیل یک تصویر قابل درک (Sprite) و یا تجزیه یک مثلث به تعداد کوچکتری مثلث و گسترش آن. بیرون انداختن یک راس از مثلث از مجموع مثلث ها و تبدیل آن به یک حجم یا یک چهار ضلعی.
بهترین نقطه در DirectX ترکیب تمامی انواع Shader Model ها در Shader Model 4.0 است که به توسعه دهندگان اجازه خواهد داد انواع Vertex، Pixel و Geometry Shaders ها را در یک مدل بیافرینند.
BD : در مورد محاسبات فیزیک (کنش ها و واکنش های محیط در مقابل تعییرات) چطور؟
Chris : ویندوز ویستا از تمامی انواع محاسبات فیزیکی چه به وسیله پردازنده، تراشه گرافیکی یا پردازنده فیزیک جداگانه پشتیبانی خواهد نمود. با اتکا بر DirectX 10 ویندوز ویستا پلاتفرم قدرتمندی برای انجام محاسبات فیزیکی توسط GPU خواهد بود. پشتیبانی از ویژگی چند تراشه گرافیکی SLI و یا CrossFire و توانایی تقسیم وظایف پردازش تصویر و یا محاسبات فیزیکی بین تراشه های گرافیکی موجود در سیستم از جمله امتیازات سیستم عامل ویستا و DirectX 10 می باشد.
BD : با این وجود پشتیبانی از کارت پردازش فیزیک Ageia به عهده ویندوز ویستا خواهد بود؟ و یا ATI و NVIDIA ؟
Chris : واضح است که ساده ترین روش پردازش فیزیک، بهره گیری از پردازنده اصلی سیستم است. در ویندوز ویستا تامین درایور های لازم و پشتیبانی تراشه های پردازش فیزیک (مانند Agiea) بر عهده خود سازندگان آنها خواهد بود.
BD : آیا تیم توسعه و بازار یابی شما اقدامی در جهت موجود بودن محتوای مناسبی مانند بازی های کامیوتری، نرم افزار های سازگار و مختص به ویندوز VISTA در هنگام انتشار آن انجام داده است؟
Chris : بله، در زمان انتشار ما پشتیبانی کاملی از تمام نسخه های موجود بازی ها و نرم افزار ها را در ویندوز ویستا شاهد خواهیم بود. در عین حال علاوه بر 10 عنوانی که قبلا برای انتشار همزمان با ویندوز ویستا اعلام شده بود، عناوین مهم و جذاب دیگری نیز برای انتشار همزمان با ویندوز ویستا پیش بینی کرده ایم. مطمنا این عنواین در همان روزهای اول پیشرفت فوق العاده در نسل بعدی بازی های کامپبوتری و امکانات باورنکردنی ویندوز ویستا و DirectX 10 را به نمایش خواهند گذاشت. ضمنا تعداد تعداد زیادی از عنواین فعلی نیز برای ویندوز ویستا و پشتیبانی آن از پردازنده های چند هسته ای بهینه سازی شده اند.
از عناوینی که در هنگام انتشار ویستا برای خرید موجود خواهد بود :
“Alan Wake (Microsoft Game Studios)
“Age of Conan: Hyborian Adventures” (Eidos)
“Company of Heroes” (THQ)
“Crysis” (EA-Partners)
“Flight Simulator X” (Microsoft Game Studios)
“Halo 2 for Windows Vista” (Microsoft Game Studios)
“Hellgate: London” (Namco)
“LEGO Star Wars II: The Original Trilogy” (LucasArts)
“Shadowrun” (Microsoft Game Studios)
“Zoo Tycoon 2: Marine Mania” (Microsoft Game Studios)
BD : از اینکه به سوالات ما و تعداد زیادی از کاربران و دوستداران بازی های کامپیوتری پاسخ دادید متشکرم. به امید موفقیت هرچه بیشتر شما. ما مشتاقانه منتظر عرضه ویندوز ویستا و بازی های جذاب DirectX 10 و سخت افزار های ارایه شده توسط NVIDIA و ATI خواهیم بود.
منبع اینجا (http://irancg.com/index.php/publisher/articleview/action/view/frmArticleID/1468)
http://www.irancg.com/images/Image/articles/0026/directx.jpg
در ابتدایی ترین سطح Directx بعنوان یك واسطه بین سخت افزار در كامپیوتر شخصی و خود ویندوز ، بخشی از API ویندوز یا واسطه برنامه نویسی برنامه های كاربردی Application Programming Interface است .
برنامه های بازی و مالتی مدیا جزء رضایت بخش ترین برنامه های كامپیوتری می باشند ، ولی متأسفانه اجرای آنها به شیوه ای مناسب همیشه آسان نیست . علت اول اینكه ساختار كامپیوترهای شخصی هرگز به منظور استفاده بعنوان پایگاهی جهت بازی كردن طراحی نگردیده است . ثانیاً ماهیت طیف گسترده كامپیوترهای شخصی به معنای آن است كه دستگاه یك نفر می تواند بسیار متفاوت با دستگاه دیگری باشد . لذا در حالیكه دستگاه های بازی همگی از سخت افزارهای مشابهی استفاده می كنند ، كامپیوترهای شخصی چنین نیستند : حیطه بسیار وسیع تفاوت های سخت افزاری می تواند دردسر بزرگی برای بازكردن این برنامه ها محسوب شود . جهت رهایی از این دردسر تا حد امكان ، مایكروسافت نیازمند معرفی استانداردی عمومی یا بهتر بگوئیم یك واسطه و میانجی عمومی بین سیستم عامل و هرگونه سخت افزار نصب شده بر روی كامپیوتر بود تا تمام برنامه های بازی و مالتی مدیا بتوانند از آن پیروی كنند . این واسطه عمومی همان Directx است ، یعنی چیزی كه می تواند مانع سردرگمی های بسیاری شود .
http://www.karapardaz.ir/Portals/0/arrow5.gif Directx واسطه ای است كه وظائف برنامه ریزی خاصی را بسیار ساده تر می سازد ، چه برای پدید آورنده بازی و چه برای ما كه فقط می خواهیم بنشینیم و آخرین بازی پرفروش را بازی كنیم . لیكن قبل از ینكه بتوانیم Directx و چگونگی كاركرد آن را توضیح دهیم ، لازم است به تاریخچه آن نگاهی بیندازیم . تاریخچه Directx
هر بازی نیاز به اجرای وظائف خاصی بصورت مكرر دارد . بازی نیازمند زیر نظر داشتن و كنترل داده های ورودی شما از طریق ماوس ، جوی استیك و یا یك بورد بوده و همچنین نیاز به نمایش تصاویری بر روی صفحه مانیتور و اجرای اصوات و موسیقی دارد . این تقریباً توصیف هر بازی در ساده ترین سطح آن است .
حال تصور كنید كه این امر برای برنامه نویسانی كه در ساختارهای كامپیوتر شخصی پیش از ویندوز اقدام به برنامه نویسی می كردند تا چه حد باور نكردنی و پیچیده بود .
لازم بود هر برنامه نویس روشی مختص به خود جهت خواندن كی بورد و یاحتی ردیابی اینكه آیا اصلاً جوی استیكی به سیستم متصل است یا خیر بنویسد ، چه برسد به اینكه بتوان از آن جهت باز كردن استفاده نمود . اعمال تكراری خاصی مورد نیاز بود تا بتوان حتی ساده ترین نوع تصویر را در صفحه نمایشگر نمایش داد و یا حتی صدایی ساده را اجرا نمود .
اساساً ، برنامه نویسان بازی ها در سطحی بنیادی با سخت افزار كامپیوتر كار می كنند . هنگامی كه مایكروسافت ویندوز را معرفی نمود ، جهت برقرای ثبات و موفقیت پایگاه كامپیوتر شخصی ضروری بود تا كارها قدری برای برنامه نویسان و بازیكنان ساده تر شود .
چه كسی حاضر بود زحمت نوشتن بازی برای ماشینی را بكشد كه در آن هر بار كه قصد كار بر روی بازی جدیدی را داشت ، می بایست همه چیز را از نو بنویسد ؟
ایده مایكروسافت ساده بود : كار كردن مستقیم برنامه نویسان با سخت افزار را متوقف كرده و بجای آن یك toolkit عمومی بسازد كه بتوانند آن را مورد استفاده قرار دهند . پس Directx متولد شد .
http://www.karapardaz.ir/Portals/0/arrow5.gif چطور كار می كند ؟
در ابتدایی ترین سطح Directx بعنوان یك واسطه بین سخت افزار در كامپیوتر شخصی و خود ویندوز ، بخشی از API ویندوز یا واسطه برنامه نویسی برنامه های كاربردی Application Programming Interface است .
برای مثال هنگامی كه نویسنده یك برنامه بازی می خواهد یك فایل صوتی اجرا شود ، صرفاً فراخوانی (call) به تابع كتابخانه (library function) صحیح می باشد . هنگامی كه بازی اجرا می شود ، عملكرد مزبور Directx API را فرا می خواند كه به نوبه خود فایل صوتی را به اجرا در می آورد . برنامه نویس به دانستن نوع كارت صدایی كه با آن سروكار دارد ، توانائی های كارت مزبور و چگونگی مكالمه با آن نیاز ندارد . ماكروسافت Directx را فراهم آورده است و سازنده كارت صدا نیز درایوی كه توان اجرای Directx را داشته باشد فراهم كرده است . برنامه نویس تقاضای صدایی كه باید اجرا شود را می نماید و صوت مزبور اجرا می شود بدون توجه به دستگاهی كه صدا بر روی آن باید اجرا شود .
از دیدگاه ما بعنوان بازیكنان نیز Directx اوضاع را بطرز غیر قابل باوری تسهیل می نماید ، حداقل بصوت تئوری . شما كارت صدای جدیدی را جایگزین كارت قدیمی تان می كنید و كارت جدید به همراه درایو می آید . دفعه بعد كه بازی مورد علاقه خود را بازی كردید ، هنوز می توانید صداها و موسیقی آن را شنیده و ناچار به انجام هیچگونه تغییرات پیكربندی پیچیده ای نمی باشید .
در ابتدا ، Directx زندگی خود را بعنوان یك Toolkit ساده آغاز نمود : سخت افزارهای اولیه محدود بوده و صرفاًَ گرافیكی بسیار ابتدایی مورد نیاز بود . با تكامل نرم افزارها و سخت افزارها از نظر پیچیدگی ، Directx نیز تكامل یافت .
اكنون Directx بسیار بیشتر از یك Toolkit گرافیكی بوده و اصطلاح مزبور ، در بر گیرنده گزیده گسترده ای از روتین ها می باشد . برای مثال روتین DirectInput می تواند با همه گونه ابزار ورودی از ماوس دو دكمه ای گرفته تا جوی استیك های پیچیده مخصوص عملیات پرواز سروكار داشته باشد و سایر بخش ها شامل DirectSound برای ابزارهای صوتی است و DirectPlay كه یك Toolkit برای بازی های چند بازیكنی Online فراهم آورده است .
http://www.karapardaz.ir/Portals/0/arrow5.gif نسخه های Directx
نسخه فعلی Directx در زمان نوشتن این مقاله Directx ۹.۰c است . این واسطه بر روی كلیه نسخ ویندوز از ویندوز ۹۸ گرفته تا ویندوز سرور ۲۰۰۳ به همراه كلیه نسخ فی مابین آن ها اجرا می گردد . لیكن این Toolkit بر روی ویندوز ۹۵ اجرا نمی شود : اگر دستگاهی دارید كه روی آن ویندوز ۹۵ نصب شده است ، ناچارید به استفاده از نسخه قدیمی تر و كم توان تر ۸.۰a می باشید . ویندوز NT۴ نیز نیازمند نسخه خاص خودش است كه در این مورد خاص Directx ۳.۰a است .
با این همه نسخ متفاوت Directx كه طی سنوات متمادی در دسترس قرار گرفته است ، ردیابی نسخه هایی كه به آن ها نیاز دارید مشكل و مشكل ترمی شود . در تمام موارد به جز موارد بسیار نادر ، كلیه نسخ Directx قابلیت سازگاری با نسخ قدیمی تر را نیز دارند . یعنی بازی هایی كه می گویند نیازمند Directx ۷ هستند ، به راحتی با نسخه های جدید تر نیز اجرا خواهند گردید ، ولی با نسخ قدیمی تر خیر . بسیاری از عناوین جدید بازی ها بطور دقیق اعلام می نمایند كه نیازمند Directx ۹ بوده و بدون نصب دقیقاً آخرین نسخه آن ، اجرا نخواهد گردید . این امر بخاطر آن است كه بازی های مزبور از ویژگی های جدیدی كه با این نسخه معرفی گردیده است ، استفاده می نمایند . البته دیده شده كه برنامه نویسان تنبل نیز گاهی آخرین نسخه Directx را بعنوان نسخه مورد نیاز بازی خود معرفی می كنند ، در حالیكه بازی مورد بحث از هیچ كدام از موارد تقویت یافته جدید استفاده نمی كند . لیكن بطور كلی ، اگر عنوان یك بازی به نسخه ای از Directx به اینصورت پیوند خورده باشد ، قبل از اینكه بتوانید بازی كنید ، لازم است Directx خود را ارتقاء دهید .
اصلاحات انجام گرفته در ریشه كد Directx بدین معناست كه ممكن است حتی در بعضی از بازی ها بهبودهایی را پس از ارتقاء به آخرین نسخه ساخته شده از Directx ، مشاهده نمایید . دان لود و نصب Directx نیز نباید چندان پیچیده باشد .
http://www.karapardaz.ir/Portals/0/arrow5.gif ارتقاء Directx
كلیه نسخ قابل دسترس ویندوز به هرماه شكلی از Directx بعنوان جزئی از هسته (core) سیستم ، كه قابل حذف نمی باشد می آیند .
لیكن بسیاری از بازی های جدید نیازمند آخرین نسخه Directx جهت اجرای كامل و یا اصولاً هر گونه اجرایی می باشند .
عموماً بهترین محل جهت نصب آخرین نسخه Directx ، بخش اختصاص یافته به آن در سایت اینترنتی مایكروسافت می باشد كه در آدرس www.microsoft.com/windows/directx (http://p30city.net/redirector.php?url=http%3A%2F%2Fwww.microsoft.com%2Fwindows% 2Fdirectx) یافت می شود . در هنگام چاپ این مقاله ، آخرین نسخه در دسترس برای دان لود عمومی نسخه Directx.۹.۰c بود . می توانید یك installer ساده را دان لود كنید كه هنگام نصب به نوبه خود آن اجرایی كه سیستم جهت ارتقاء نیاز دارد را دان لود می نماید و یا بسته نرم افزاری توزیع شده را بطور كامل جهت نصب Offline بعدی دان لود نمائید .
منبع خوب دیگر برای Directx خود بازی ها هستند . اگر بازی به نسخه خاصی از Directx نیاز داشته باشد ، نسخه مزبور روی CD نصب بازی خواهد بود و ممكن است حتی بطور خودكار توسط Installer بازی روی سیستم نصب گردد .
http://www.karapardaz.ir/Portals/0/arrow5.gif تشخیص علت مشكلات
تشخیص علت مشكلات نصب Directx می تواند مشكل ساز باشد ، بخصوص اگر ندانید كدامیك از اجزاء آن سبب از كار افتاده بازی جدیدی شده است كه به تازگی خریداری نموده اید .
خوشبختانه ، مایكروسافت یوتیلیتی مفید بنام Directx Diagnostic Tool را فراهم كرده ، هر چند كه آن را مشخص نساخته است . این ابزار را در هیچ نسخه ای از ویندوز در منوی Start نمی توانید بیابید ، و هر نسخه ویندوز نیز ابزار مزبور را در جایی متفاوت با سایر ویندوزها نصب كرده است .
راحت ترین راه استفاده از این ابزار چنین است كه كادر محاوره RUN را در منوی Start باز و در آن dxdiag را تایپ و سپس روی OK كلیك كنید . هنگامی كه این برنامه برای اولین بار بارگذاری می شود ، چند ثانیه ای طول می كشد تا نسخه نصب شده Directx را بررسی كرده و مشكل را بیابد .
ابتدا برگه Directx File اطلاعاتی راجع به هر یك از فایل هایی كه نسخه نصب شده مورد استفاده قرار می دهد را نشان می دهد .
بخش Notes در ذیل برگه مزبور نیز ارزش بررسی را دارد ، زیرا فایل های مفقودی یا معیوب در اینجا علامتگذاری می گردند .
برگه هایی كه علامت های Display ، Music ، Input و Network را دارند ، همگی با مناطق خاص همنام خود در Directx مرتبط می باشند و بجز برگه Input ابزارهایی را جهت آزمایش عملكرد صحیح برروی سخت افزار دستگاه در اختیارتان می گذارند . نهایتاً برگه Move Help روشی مفید جهت شروع Directx Troubleshooter را فراهم می آورد كه ابزار حل مشكل خط ساده مایكرو سافت برای بسیاری از موارد معمول و عمومی Directx می باشد .
نگاهی به DirectX 10
این روز ها زمزمه های زیادی از DirectX10 شنیده می شود و سوالات زیادی در این رابطه مطرح گردیده است. بخصوص سوالاتی در این رابطه که آیا DirectX10 فقط برای ویندوز ویستا طراحی شده است و تا زمانی که ما مجبور به استفاده از XP باشیم، نمی توانیم از آن استفاده کنیم و اینکه چه برتری هایی نسبت به نسخه قبلی دارد؟
شاید با مقایسه تصویر های زیر در بازی Flight Simulator X شرکت مایکروسافت، کمی به تفاوت آنها پی ببرید:
http://www.irancg.com/images/Image/articles/-dey86/0010/directx2.jpg
جهت بررسی موضوع و پاسخ به چنین سوالاتی، تا جایی که در سایت های مختلف مربوط به این موضوع، جستجو نمودیم، باید بگوییم که بله! و شاید دلیل آن این باشد که در ویندوز ویستا، معماری درایوری کاملا جدیدی عرضه شده است که توسط آن امکان استفاده از DirectX10 و فواید مربوط به آن برای طراحی بازی ها به وجود آمده است و همین دلیل اصلی ، در ساختار و اعماق سیستم عامل ویستا گنجانده شده و از این جهت، ویندوز های قدیمی تر فاقد چنین امتیازی هستند. پس بر اساس اطلاعات موجود، نتیجه می گیریم که نسخه ای از DirectX10 برای ویندوز XP وجود نخواهد داشت.
البته این امکان وجود دارد که DirectX 9.L به عنوان بخش گسترش یافته ای برای XP در نظر گرفته شده باشد. اما بطور قطع DirectX10 فقط برای ویستا طراحی شده است.
بنا به گفته ای مایکروسافت و طراحان بازی های مبتنی بر DirectX 9، این بازی ها در ویستا کمی سریعتر کار می کنند که البته Benchmark ها و نسخه های در دسترس ویستا این مسئله را هنوز تایید نمی کنند. البته این مسئله می تواند با ارئه نسخه های جدید تر ویستا تغییر بیابد. یکی از مسائل دیگر این است که ویستا از OpenGL پشتیبانی نمی کند.
حال ببینیم که این نسخه چه برتری هایی نسبت به نسخه های قبل خود دارد؟ بنا به گفته های مایکروسافت، یکی از فواید DirectX10 این است که گرافیک آن حدود 8 برابر روانتر و سریعتر نسبت به DirectX9 اجرا می شود. البته یادمان نرود که حدود 4 سال از اولین تاریخ پیدایش DirectX9 می گذرد. این مسئله با توجه به کنترل و ارتباط مستقیم کارت گرافیکی و توسط برداشتن محدودیت هایی که در DirectX9 به علت ساختار آن قابل رفع نبود، امکان پذیر شده است. علاوه بر مطلب گفته شده، DirectX10 امکان Geometric-Shader و Model Shader 4.0 را فراهم ساخته و درون خود مدیریتی برای Texture ها فراهم ساخته است. همچنین از حافظه کارت گرافیکی بهتر استفاده شده و روند های بسیاری می توانند در آن واحد به CPU دسترسی پیدا کنند. در واقع باید گفت CPU در DirectX10 فشار کمتری را تحمل می کند و در هنگام نیاز با توجه به قابلیت ها و مدیریت DirectX10 ، می تواند با توان لازم، مشغول کار اصلی خود شود، یعنی: محاسبه گرافیک.
درهمین زمینه باید گفت، تصاویر بازی هایی مانند Fligh SimulatorX و Crysis ، تحت ویندوز ویستا و تحت DirectX10 ، بسیار شفاف تر از اجرا در ویندوز XP خواهند بود. خود سازندگان بازی Crysis اعلام کرده اند که توسط امکانات توسعه یافته DirectX10 ، بازی آنها نه تنها زیبا تر جلوه می کند، بلکه درخواست های کمتری را نیز از سیستم طلب می نماید، چراکه یک پردازنده گرافیک مبتنی بر DirectX10 می تواند بیشتر کار را بر عهده بگیرد.
در این میان باید واقع بین بود و به همین دلیل هم پیش بینی می شود، بازی های مربوط به DirectX10 در سریع ترین حالت، در اواخر سال 2007 و اوایل 2008 عرضه شوند. زیرا اگرچه تصمیم در مورد استفاده از کدام تکنولووی در ساخت یک بازی به سرعت انجام می پذیرد، اما ساخت آن زمان زیادی را در بر خواهد گرفت.
در عین حال هدف اصلی مایکروسافت با DirectX10 ، علاقمندان به بازی های کامپیوتری است و این هدف توسط ویندوز ویستا عملی خواهد شد. به عبارتی علاقمندان به بازی های کامپیوتری، جزو آن گروهی قرار می گیرند که به علت سود سرشار این رشته از صنعت کامپیوتر، مایکروسافت توجه خاصی را به آنها مبذول نموده و تلاش مایکروسافت در زمینه ارائه DirectX10 برای ویستا و همچنین کنسول های بازی خود، مبین این نظر و توجه خاص می باشد. البته در این زمینه شرکت های سازنده سخت افزار و بازی ها نیز به سود کافی و سرشار خواهند رسید.
مایکروسافت معتقد است، کامپیوتر ها علاوه بر کارکرد های متعارف خود که با ویستا توسعه خواهد یافت ، قرار است با Vista تبدیل به یک پلتفرم حقیقی برای بازی ها شوند. در این چارچوب، یک لوگو با نام Game For Windows نیز وجود دارد که مدتی است بر روی جعبه های مربوط به بازی های بسیاری که در ویندوز ویستا قابل اجرا هستند، وجود دارد. از اولین نوع این بازی ها می توان به Company of Heroes و Flight Simulator X اشاره کرد.
نویسنده : بنیامین اسدی
www.irancg.com
ناگفته هاي DirectX10 از ديدگاه سخت افزاري
DirectX10 وWindows Graphic Foundation 2.0 اسامي هستند كه ميتوانند انقلاب جديدي را در گرافيك هاي سه بعدي و بازي هاي پيشرفته كامپيوتري نويد دهند. هنگام عرضه Windows Vista در ابتداي سال جاري ميلادي ما شاهد حضور API جديد شركت Microsoft يعني DirectX 10 بوديم كه استانداردهاي موجود براي پردازش سه بعدي و تجربه چند رسانه اي كاربران را به سطح جديدي ارتقأ داده است.هرچند زمان زيادي از معرفي DirectX 10 مي گذرد، اما ناگفته هاي زيادي در رابطه با اين API بنيادي وجود دارد كه در اين مقاله به بررسي آنها پرداخته شده است.
حافظه مجازي در DirectX 10
API يا واسط نرم افزاري DirectX از مجموعه اي از اينترفيس ها تشكيل شده است كه مشخص ميكنند توسعه دهندگان بازي ها و نرم افزارهاي مختلف چگونه بايد با سخت افزار به صحبت بپردازند. نوشتن يك برنامه براي يك API استاندارد بسيار ساده تر از نوشتن و بهينه سازي همان برنامه براي اجرا بر روي سخت افزارهاي خاص است. به منظور هرچه يكپارچه تر كردن سخت افزار و نرم افزار، مايكروسافت يك بازنگري كلي را بر روي DirectX اعمال كرده است. از آنجايي كه اين API در طول زمان حياط Windows Vista به عنوان پايه و اساس توسعه و اجراي هر نرم افزار و يا سخت افزار جديدي مورد استفاده قرار خواهد گرفت، Microsoft سعي كرده است با ارايه برخي از مشخصات پيشرو و كاملا جديد و علاوه بر آن ساده سازي اين API به برنامه نويسان امكان دهد تا با سرعت و سهولت بتوانند با دريافت حداكثر كارايي از سخت افزارهاي PC ،نرم افزارها و بازي هايي با كيفيت و كارايي بالا را طراحي كنند.
Direct3D قسمتي از DirectX است كه مستقيما بر اجرا و عملكردهاي نرم افزارهاي سه بعدي نظارت دارد. در حقيقت مهمترين بخش DirectX ، Direct3D است. بزرگترين تحولات صورت گرفته در DirectX10 نيز مستقيما به Direct3D مربوط مي شود. Direct3D10 با يكپارچه كردن دستورالعمل ها و استاندارد نمودن مشخصات سايه زن هاي قابل برنامه نويسي، برنامه نويسان را از شر سايه زن هايي كه هر سازنده به صورت اختصاصي طراحي و روانه بازار ميكرد رها ميسازد. بعلاوه مايكروسافت در مدل درايورهاي مربوط به كارت هاي گرافيك و نمايشگرها نيز تجديد نظر كرده است.
به اين خاطر كه در Windows Vista تمام دسك تاپ به صورت سه بعدي به نمايش در مي آيد، كارت گرافيك ديگر تنها براي بازي كردن مورد استفاده قرار نمي گيرد. هنگامي كه شما يك صفحه نمايش سه بعدي داريد و هر برنامه را در صفحه سه بعدي مربوط به خودش اجرا مي كنيد، درايورها كارت گرافيك بايد به اندازه كافي با ثبات و انعطاف پذير باشد تا بتواند نقش پردازنده گرافيكي را افزايش دهد. به همين منظور مايكروسافت تصميم گرفته است تا درايورها را به دو بخش مجزا تقسيم نمايد. يك بخش براي اجراي دسك تاپ و بخش ديگر براي اجراي نرم افزارها و بازي هاي سه بعدي. اين تقسيم بندي براي افزايش ثبات زير سيستم گرافيكي طراحي شده است و به سيستم عامل امكان ميدهد حتي در صورتي كه يك برنامه كاربردي و يا بازي سه بعدي به علت خطاهاي نرم افزاري و يا سخت افزاري متوقف ميشود، همچنان و با وجود يك دسك تاپ كاملا سه بعدي قابل استفاده و با ثبات باقي بماند. وجود چنين نوآوري هايي همچنين به اين معني است كه مايكروسافت DirectX10 را براي Windows XP ارايه نخواهد كرد، به خاطر اينكه بسياري از پيشرفت هاي صورت گرفته در Direct3D10 مستقيما به مشخصات مدل جديد درايور كارت گرافيك Windows Vista نياز خواهد داشت.
استفاده وسيع تر از توانايي هاي كارت گرافيكي براي اجراي كاربردهاي مختلف، نياز به اختصاص منابع سيستمي بيشتر از سوي سيستم عامل به آن را دارد. سيستم عامل بايد به كاربردها امكان دهد تا بتوانند سخت افزار را به نحو موثرتري به اشتراك بگذارند. بزرگترين تغيير در اين زمينه در Windows Vista تكنولوژيي است كه با نام Virtualized Memory و يا حافظه مجازي شناخته مي شود. از اين پس كارت گرافيك فضاي حافظه اختصاصي خود را در حافظه سيستم خواهد داشت. اين حافظه اختصاصي ميتواند براي ذخيره داده هايي كه داراي اندازه بزرگتر از حافظه محلي كارت گرافيك هستند مورد استفاده قرار گيرد. هم اكنون كارت هاي گرافيكي گران قيمت و سطح بالا معمولا با حافظه هايي به ميزان 256 يا 512 مگابايت عرضه ميشوند. اما بازي ها ميتوانند به سادگي تمامي حافظه موجود را براي ذخيره قطعات بسيار بزرگ داده، مانند بافت هاي با وضوح بسيار بالا، مورد استفاده قرار دهند.
http://www.irancg.com/images/Image/articles/-dey86/0031/d1.jpg
تصویری ساخته شده توسط Unreal Engine 3 برپایه DirectX 10
مدير عامل شركت Epic Games كه به تازگي موتور بسيار قدرتمند Unreal Engine 3.0 را معرفي كرده و در حال توسعه عناوين معروفي چون UT2007 و Gears Of War ميباشد، در اين باره ميگويد:
«تكنولوژي هايي مانند بافت گذاري مجازي (Virtual Texturing) ميتواند گلوگاه هاي مرتبط با اندازه بافت ها را در حافظه هاي گرافيكي بر طرف نمايد. اندازه بافت هايي را كه ما در DirectX9.0 ميتوانستيم با حفظ كارايي كامل استفاده كنيم به وسيله حجم حافظه محلي كارت گرافيكي محدود شده بود، اما در DirectX10 حجم آنها تنها توسط اندازه حافظه سيستم محدود خواهد شد. او توضيح ميدهد كه با در اختيار داشتن چنين امكاناتي، سطح استفاده از بافت ها در بازي ها و نرم افزارهاي سه بعدي بين 2 تا 4 برابر افزايش خواهد يافت كه اين براي كساني كه از موتور Unreal Engine 3.0 براي توسعه بازي هاي خود استفاده ميكنند بسيار عالي است. هرجا كه طراح بخواهد ميتواند از بافت هايي با كيفيت و وضوح بالا، براي مثال در وضوح 2048x2048 پيكسل، استفاده كند و سپس آنها را براي اجرا بر روي سيستم هاي با قدرت پايين تر به اندازه هاي كوچكتري مقياس دهي كند.»
كارت هاي گرافيكي براي تطابق با استدانداردهاي DirectX 10 و افزايش كارايي نياز به رعايت نكات دقيقي دارند. كارت هاي گرافيك بايد داراي مجموعه كاملي از مشخصات باشند تا بتوانند تاييديه هاي DirectX 10 را بدست آورند. البته اين استاندارها به طور كامل با آنچه كه در نسل فعلي كارت هاي گرافيكي شاهد ان هستيم متفاوت نخواهند بود. براي مثال كارت هايي كه از DirectX 9.0c و يا سايه زن هاي نسخه 2 پشتيباني كنند ميتوانند از بسياري از توابع موجود در DirectX 10 نيز پشتيباني كنند. اما Microsoft مشخصه هاي كاملا دقيقي را اعلام كرده است تا سازندگان مختلف پردازنده هاي گرافيكي مجبور به ساخت سخت افزارهاي سازگار با يكديگر شوند. براي مثال تفاوت هاي موجود در واحد هاي مميز شناور پردازنده هاي گرافيكي مختلف شركت هاي ATI و nVIDIA توسعه دهندگان بازي را براي سازگار كردن موتور بازي با هر دو نوع پردازنده گرافيكي تحت فشار قرار ميداد، اما مشخصه هاي تعريف شده در DirectX 10 كمك بزرگي به حذف اينگونه ناسازگاري ها در سخت افزارهاي مختلف و در نتيجه كاهش هزينه و زمان توسعه نرم افزار براي كار با آنها خواهد كرد.
ديگر ويژگي هاي DirectX10
مايكروسافت مشخصه هاي لازم براي طراحي پردازنده هاي سازگار با Direct3D 10 را سريع اعلام كرد و تا سازندگان پردازنده هاي گرافيك بتوانند هرچه زودتر كارت هاي گرافيكي مطابق با آن را ارائه دهند. با توجه به نكات گفته شده توسعه دهندگان نرم افزار ديگر مجبور نخواهند بود تا هنگام عرضه هر پردازنده گرافيكي جديدي، محصولات خود را با آن منطبق كنند. طبق گفته هاي مايكروسافت تنها هنگام ارايه DirectX 11 آنها نياز به ايجاد تغييرات در نرم افزارهاي خود را خواهند داشت و تا پيش از آن هر نرم افزاري كه براي كار با DirectX 10 طراحي شده باشد ميتواند بدون اعمال هيچگونه تغييري از تمامي مشخصه هاي آن پشتيباني نمايد. البته شايد هرگز نتوان جلوي نوشتن كدهاي بهينه شده براي يك پردازنده گرافيكي خاص را گرفت و ممكن است همچنان شاهد مشخصه هاي اضافي عرضه شده از طرف شركتهاي مخلف سازنده سخت افزار باشيم كه توسعه دهندگان مختلف ممكن است تمايل به پشتيباني از آنها را داشته باشند. اما بي شك نسل آينده نرم افزارها و سخت افزارهاي سه بعدي بيش از پيش يكپارچه خواهند شد و رقابت آنها در ارائه ويژگي ها و قابليت هاي فراتر از ملزومات DirectX10 خواهد بود.
طبق اظهارات Microsoft، DirectX10 ميتواند با مديريت هوشمندتر منابع، افزايش بازده API و انتقال بيشتر بار كاري از CPU به پردازنده گرافيك، كارايي را در بازي هاي مختلف از 6 تا 8 برابر افزايش دهد. البته اين امر اندكي اغراق آميز به نظر ميرسد اما مسلما شاهد افزايش زيادي در كارايي خواهيم بود. براي اين منظورDirectX 10 و معماري خط لوله هاي پردازشي در داخل پردازنده گرافيك براي به حداقل رساندن بار كاري بر روي CPU و زير سيستم حافظه، مجددا از ابتدا طراحي شده اند. مهمترين موضوعي كه در اين زمينه مد نظر طراحان قرار داشته است، افزيش كارهايي بوده كه پردازنده گرافيكي قادر است بدون نياز به گفتگو با CPU انجام دهد. به همين دليل هنگامي كه نياز به استفاده از CPU داشته باشيم، خواهيم توانست به شكلي بسيار سريع و موثر از آن استفاده كنيم.
در ادامه مواردي را كه سبب افزايش كارايي هنگام استفاده از DirectX 10 ميشود را ذكر ميكنيم:
• با استفاده از بافرهاي جديد براي مقادير، بازده عملياتي سايه زن ها هنگام ارسال و دريافت داده هاي مورد نياز مانند مكان نورها، مشخصات مواد و غيره، افزايش خواهد يافت. علاوه بر اين با حذف داده هاي زايد، حجم عظيمي از نقل انتقال هاي موجود بين API و درايور حذف خواهد گرديد. اين امر به ميزان قابل توجهي باعث كاهش فراخوان داده ها توسط API و از بين بردن بار اضافي بر روي پهناي باند حافظه شده و اجازه خواهد داد تا اعمالي كه قبلا نياز به گفتگو ميان API و درايور داشتند، در سطح درايور انجام شوند.
• با استفاده از آرايه هاي جديد بافت گذاري، پردازنده گرافيك خواهد توانست تا به طور شناور موارد استفاده از بافت را تغيير داده و بدون نياز به فراخواني و يا ذخيره، آن را مجددا مورد استفاده قرار دهد.
• با بررسي داده هاي مربوط به هر فريم، داده هاي نالازم بدون هيچ فعل و انفعالي با پردازنده حذف خواهد شد. تكنيك فوق از تكنيك هاي بررسي مختصات عمق به صورت سلسله مراتبي براي تشخيص و حذف اشيايي كه توسط اشيا ديگر پوشانده شده و قابل ديد نيستند استفاده مينمايد. اين تكنيك قبلا نيز در پردازنده هاي گرافيكي مختلف مورد استفاده قرار گرفته بود اما مهمترين تفاوت تكنيك فوق با تكنيك هاي قبلي، بررسي اطلاعات فريم قبلي براي يافت و حذف اين اشيا است كه نياز به محاسبات جداگانه براي هر فريم را از بين برده و سربار عمليات را تا حد زيادي كاهش ميدهد.
• Direct3D 10 داراي مشخصات منحصر به فردي است كه به كاربردها اجازه ميدهد آن را با توجه به نياز خود تنظيم و بهينه كرده و در نتيجه كارايي را در تمام شرايط در سطح بالايي نگه دارند.
• با پشتيباني از سايه زن هاي نسخه 4 (Shader Model 4.0)، پردازنده گرافيكي قادرخواهد بود تا تعداد بسيار بيشتري از دستورالعمل ها را در هر سيكل كلاك انجام دهد. علاوه بر اين با استفاده از تعداد زيادي دستور العمل جديد ميتوان كار بسيار بيشتري را از CPU به پردازنده گرافيكي منتقل كرد. در جدول زير ميتوانيد تفاوت هاي موجود ميان نسخه هاي قبلي سايه زن ها را با سايه زن هاي جديد نسخه 4 مشاهده كنيد:
http://www.irancg.com/images/Image/articles/-dey86/0031/d2.jpg
جدول مقایسه Shader Model های نسخه 1 الی 4
سايه زن هندسي در DirectX 10
Direct3D 10 يك مرحله سايه زن جديد را به خط لوله هاي گرافيكي اضافه كرده است. سايه زن هندسي (Geometric Shader) واحد جديدي است كه ميان سايه زن راس (Vertex Shader) و سايه زن پيكسل (Pixel Shader) واقع شده است. يك سايه زن راس سنتي تنها قادر به دريافت يك ورودي است و در نتيجه ميتواند تنها يك خروجي را ايجاد كند. توليد و يا حذف مثلث ها براي سايه زن راس غير ممكن است زيرا اين سايه زن هميشه مجبور به توليد خروجي در ازاي هر ورودي دريافت شده ميباشد. سايه زن هندسي به نرم افزار اجازه ميدهد تا به تمامي مختصات هندسي قبلي، خطوط، مثلث ها و نقاط در واحد هاي مجاور هم دسترسي داشته باشد. اين سايه زن قادر است تا تغييراتي را در قطعات پيشين اعمال كرده و مثلث ها و نقاط جديدي را قبل از ارسال اشياي مختلف صحنه به سايه زن پيكسل به آنها اضافه يا حذف نمايد.
علاوه بر اين سايه زن هندسي قادر است تا نتايج محاسباتي را مستقيما به حافظه ارسال نموده و به آنها اجازه دهد تا در صورت نياز بدون دخالت CPU به جريان پردازش بازگردند. اين تغييرات اجازه خواهد داد تا جلوه هايي مانند ذرات، دود و يا انفجارها كه هميشه توسط CPU شبيه سازي ميشدند توسط پردازنده گرافيكي پردازش شوند. همچنين بازي ها ميتوانند از سايه زن هندسي در تركيب با آرايه بافت ها براي شتاب دهي افكت هايي مانند Cube Mapping استفاده كنند. بازي ها از Cube Mapping براي ايجاد انعكاس محيط اطراف بر روي يك شي استفاده ميكنند. مثلا انعكاس تصوير محيط آشپزخانه بر روي يك قوري شفاف را در نظر بگيريد، شما ميتوانيد با توجه به اجزا محيطي كه قوري داخل ان قرار دارد، تصوير انعكاسي مناسب را محاسبه كرده و سپس آن را بر روي قوري پياده سازي كنيد. انجام اين عمليات با استفاده از امكانات موجود حداقل به 6 عبور (Pass) نياز خواهد داشت، اما سايه زن هندسي ميتواند با پردازش نمودار گرافيكي، يك Cube Map را تنها در يك عبور پردازش نمايد.
در تصوير زير ميتوانيد شماتيكي از خط لوله گرافيكي DirextX 10 موسوم به Windows Graphics Foundation 2.0را مشاهده كنيد كه كليه پردازنده هاي گرافيكي سازگار با آن بايد از اين ساختار تبعيت كنند.
http://www.irancg.com/images/Image/articles/-dey86/0031/d3.jpg
شماتیک Windows Graphic Fundation 2.0
نویسنده: بهزاد فرخي ([email protected])
منبع: سخت افزار
از عکس و مطالب موفیدت ممنونم {پپوله}{داش مشتی}
این صفحه را در گوگل محبوب کنید
[ارسال شده از: پی سی سیتی]
[مشاهده در: www.p30city.net]
[تعداد بازديد از اين مطلب: 748]
-
گوناگون
پربازدیدترینها