واضح آرشیو وب فارسی:سایت ریسک: View Full Version : آشنایی با واسط نرم افزاری Directx 10 glc_engineer14-12-2007, 04:15 PMlشنایی با واسط نرم افزاری Directx 10 DirectX10 وWindows Graphic Foundation 2.0 اسامی هستند که میتوانند انقلاب جدیدی را در گرافیک های سه بعدی و بازی های پیشرفته کامپیوتری نوید دهند. هنگام عرضه Windows Vista در ابتدای سال جاری میلادی ما شاهد حضور API جدید شرکت Microsoft یعنی DirectX 10 بودیم که استانداردهای موجود برای پردازش سه بعدی و تجربه چند رسانه ای کاربران را به سطح جدیدی ارتقأ داده است.هرچند زمان زیادی از معرفی DirectX 10 می گذرد، اما ناگفته های زیادی در رابطه با این API بنیادی وجود دارد که در این مقاله به بررسی آنها پرداخته شده است. http://forum.p30world.com/img/articles/1111.jpg?476270b 844aa 4 http://forum.p30world.com/img/articles/1111.jpg?476270b 844aa 4 glc_engineer14-12-2007, 04:44 PMحافظه مجازی در DirectX 10API یا واسط نرم افزاری DirectX از مجموعه ای از اینترفیس ها تشکیل شده است که مشخص میکنند توسعه دهندگان بازی ها و نرم افزارهای مختلف چگونه باید با سخت افزار به صحبت بپردازند. نوشتن یک برنامه برای یک API استاندارد بسیار ساده تر از نوشتن و بهینه سازی همان برنامه برای اجرا بر روی سخت افزارهای خاص است. به منظور هرچه یکپارچه تر کردن سخت افزار و نرم افزار، مایکروسافت یک بازنگری کلی را بر روی DirectX اعمال کرده است. از آنجایی که این API در طول زمان حیاط Windows Vista به عنوان پایه و اساس توسعه و اجرای هر نرم افزار و یا سخت افزار جدیدی مورد استفاده قرار خواهد گرفت، Microsoft سعی کرده است با ارایه برخی از مشخصات پیشرو و کاملا جدید و علاوه بر آن ساده سازی این API به برنامه نویسان امکان دهد تا با سرعت و سهولت بتوانند با دریافت حداکثر کارایی از سخت افزارهای PC ،نرم افزارها و بازی هایی با کیفیت و کارایی بالا را طراحی کنند. glc_engineer14-12-2007, 04:44 PMDirect3D قسمتی از DirectX است که مستقیما بر اجرا و عملکردهای نرم افزارهای سه بعدی نظارت دارد. در حقیقت مهمترین بخش DirectX ، Direct3D است. بزرگترین تحولات صورت گرفته در DirectX10 نیز مستقیما به Direct3D مربوط می شود. Direct3D 10 با یکپارچه کردن دستورالعمل ها و استاندارد نمودن مشخصات سایه زن های قابل برنامه نویسی، برنامه نویسان را از شر سایه زن هایی که هر سازنده به صورت اختصاصی طراحی و روانه بازار میکرد رها میسازد. بعلاوه مایکروسافت در مدل درایورهای مربوط به کارت های گرافیک و نمایشگرها نیز تجدید نظر کرده است. به این خاطر که در Windows Vista تمام دسک تاپ به صورت سه بعدی به نمایش در می آید، کارت گرافیک دیگر تنها برای بازی کردن مورد استفاده قرار نمی گیرد. هنگامی که شما یک صفحه نمایش سه بعدی دارید و هر برنامه را در صفحه سه بعدی مربوط به خودش اجرا می کنید، درایورها کارت گرافیک باید به اندازه کافی با ثبات و انعطاف پذیر باشد تا بتواند نقش پردازنده گرافیکی را افزایش دهد. به همین منظور مایکروسافت تصمیم گرفته است تا درایورها را به دو بخش مجزا تقسیم نماید. یک بخش برای اجرای دسک تاپ و بخش دیگر برای اجرای نرم افزارها و بازی های سه بعدی. این تقسیم بندی برای افزایش ثبات زیر سیستم گرافیکی طراحی شده است و به سیستم عامل امکان میدهد حتی در صورتی که یک برنامه کاربردی و یا بازی سه بعدی به علت خطاهای نرم افزاری و یا سخت افزاری متوقف میشود، همچنان و با وجود یک دسک تاپ کاملا سه بعدی قابل استفاده و با ثبات باقی بماند. وجود چنین نوآوری هایی همچنین به این معنی است که مایکروسافت DirectX10 را برای Windows XP ارایه نخواهد کرد، به خاطر اینکه بسیاری از پیشرفت های صورت گرفته در Direct3D 10 مستقیما به مشخصات مدل جدید درایور کارت گرافیک Windows Vista نیاز خواهد داشت.استفاده وسیع تر از توانایی های کارت گرافیکی برای اجرای کاربردهای مختلف، نیاز به اختصاص منابع سیستمی بیشتر از سوی سیستم عامل به آن را دارد. سیستم عامل باید به کاربردها امکان دهد تا بتوانند سخت افزار را به نحو موثرتری به اشتراک بگذارند. بزرگترین تغییر در این زمینه در Windows Vista تکنولوژیی است که با نام Virtualized Memory و یا حافظه مجازی شناخته می شود. از این پس کارت گرافیک فضای حافظه اختصاصی خود را در حافظه سیستم خواهد داشت. این حافظه اختصاصی میتواند برای ذخیره داده هایی که دارای اندازه بزرگتر از حافظه محلی کارت گرافیک هستند مورد استفاده قرار گیرد. هم اکنون کارت های گرافیکی گران قیمت و سطح بالا معمولا با حافظه هایی به میزان 256 یا 512 مگابایت عرضه میشوند. اما بازی ها میتوانند به سادگی تمامی حافظه موجود را برای ذخیره قطعات بسیار بزرگ داده، مانند بافت های با وضوح بسیار بالا، مورد استفاده قرار دهند. glc_engineer14-12-2007, 04:45 PMمدیر عامل شرکت Epic Games که به تازگی موتور بسیار قدرتمند Unreal Engine 3.0 را معرفی کرده و در حال توسعه عناوین معروفی چون UT2007 و Gears OfWar میباشد، در این باره میگوید: «تکنولوژی هایی مانند بافت گذاری مجازی (Virtual Texturing) میتواند گلوگاه های مرتبط با اندازه بافت ها را در حافظه های گرافیکی بر طرف نماید. اندازه بافت هایی را که ما در DirectX9.0 میتوانستیم با حفظ کارایی کامل استفاده کنیم به وسیله حجم حافظه محلی کارت گرافیکی محدود شده بود، اما در DirectX10 حجم آنها تنها توسط اندازه حافظه سیستم محدود خواهد شد. او توضیح میدهد که با در اختیار داشتن چنین امکاناتی، سطح استفاده از بافت ها در بازی ها و نرم افزارهای سه بعدی بین 2 تا 4 برابر افزایش خواهد یافت که این برای کسانی که از موتور UnrealEngine 3.0 برای توسعه بازی های خود استفاده میکنند بسیار عالی است. هرجا که طراح بخواهد میتواند از بافت هایی با کیفیت و وضوح بالا، برای مثال در وضوح 2048x2048 پیکسل، استفاده کند و سپس آنها را برای اجرا بر روی سیستم های با قدرت پایین تر به اندازه های کوچکتری مقیاس دهی کند.»کارت های گرافیکی برای تطابق با استدانداردهای DirectX 10 و افزایش کارایی نیاز به رعایت نکات دقیقی دارند. کارت های گرافیک باید دارای مجموعه کاملی از مشخصات باشند تا بتوانند تاییدیه های DirectX 10 را بدست آورند. البته این استاندارها به طور کامل با آنچه که در نسل فعلی کارت های گرافیکی شاهد ان هستیم متفاوت نخواهند بود. برای مثال کارت هایی که از DirectX 9.0c و یا سایه زن های نسخه 2 پشتیبانی کنند میتوانند از بسیاری از توابع موجود در DirectX 10 نیز پشتیبانی کنند. اما Microsoft مشخصه های کاملا دقیقی را اعلام کرده است تا سازندگان مختلف پردازنده های گرافیکی مجبور به ساخت سخت افزارهای سازگار با یکدیگر شوند. برای مثال تفاوت های موجود در واحد های ممیز شناور پردازنده های گرافیکی مختلف شرکت های ATI و nVIDIA توسعه دهندگان بازی را برای سازگار کردن موتور بازی با هر دو نوع پردازنده گرافیکی تحت فشار قرار میداد، اما مشخصه های تعریف شده در DirectX 10 کمک بزرگی به حذف اینگونه ناسازگاری ها در سخت افزارهای مختلف و در نتیجه کاهش هزینه و زمان توسعه نرم افزار برای کار با آنها خواهد کرد. سایت ما را در گوگل محبوب کنید با کلیک روی دکمه ای که در سمت چپ این منو با عنوان +1 قرار داده شده شما به این سایت مهر تأیید میزنید و به دوستانتان در صفحه جستجوی گوگل دیدن این سایت را پیشنهاد میکنید که این امر خود باعث افزایش رتبه سایت در گوگل میشود
این صفحه را در گوگل محبوب کنید
[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 400]