آژانس هواپیمایی
pop up

ناگفته هاي ‏DirectX10‎‏ از ديدگاه سخت افزاري

شروع موضوع توسط Morche ‏10 فوریه 2008 در انجمن بازیهای کامپیوتری

  1. Morche

    Morche کاربر تازه وارد

    تاریخ عضویت:
    ‏18 آگوست 2007
    نوشته ها:
    36
    تشکر شده:
    0
    محل سکونت:
    Armenia
    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‏ نياز خواهد داشت.‏
    [​IMG]
    استفاده وسيع تر از توانايي هاي كارت گرافيكي براي اجراي كاربردهاي مختلف، نياز به اختصاص منابع سيستمي بيشتر از ‏سوي سيستم عامل به آن را دارد. سيستم عامل بايد به كاربردها امكان دهد تا بتوانند سخت افزار را به نحو موثرتري به ‏اشتراك بگذارند. بزرگترين تغيير در اين زمينه در ‏Windows Vista‏ تكنولوژيي است كه با نام ‏Virtualized Memory‏ و يا حافظه ‏مجازي شناخته مي شود. از اين پس كارت گرافيك فضاي حافظه اختصاصي خود را در حافظه سيستم خواهد داشت. اين ‏حافظه اختصاصي ميتواند براي ذخيره داده هايي كه داراي اندازه بزرگتر از حافظه محلي كارت گرافيك هستند مورد استفاده ‏قرار گيرد. هم اكنون كارت هاي گرافيكي گران قيمت و سطح بالا معمولا با حافظه هايي به ميزان 256 يا 512 مگابايت عرضه ‏ميشوند. اما بازي ها ميتوانند به سادگي تمامي حافظه موجود را براي ذخيره قطعات بسيار بزرگ داده، مانند بافت هاي با ‏وضوح بسيار بالا، مورد استفاده قرار دهند.

    [​IMG]
    تصویری ساخته شده توسط Unreal Engine 3 برپایه DirectX 10​

    ‏«تكنولوژي هايي مانند بافت گذاري مجازي ‏‎(Virtual Texturing)‎‏ ميتواند گلوگاه هاي مرتبط با اندازه بافت ها را در حافظه هاي ‏گرافيكي بر طرف نمايد. اندازه بافت هايي را كه ما در ‏DirectX9.0‎‏ ميتوانستيم با حفظ كارايي كامل استفاده كنيم به وسيله ‏حجم حافظه محلي كارت گرافيكي محدود شده بود، اما در ‏DirectX10‎‏ حجم آنها تنها توسط اندازه حافظه سيستم محدود ‏خواهد شد. او توضيح ميدهد كه با در اختيار داشتن چنين امكاناتي، سطح استفاده از بافت ها در بازي ها و نرم افزارهاي سه ‏بعدي بين 2 تا 4 برابر افزايش خواهد يافت كه اين براي كساني كه از موتور ‏Unreal Engine 3.0‎‏ براي توسعه بازي هاي خود ‏استفاده ميكنند بسيار عالي است. هرجا كه طراح بخواهد ميتواند از بافت هايي با كيفيت و وضوح بالا، براي مثال در وضوح ‏‎2048x2048‎‏ پيكسل، استفاده كند و سپس آنها را براي اجرا بر روي سيستم هاي با قدرت پايين تر به اندازه هاي كوچكتري ‏مقياس دهي كند.»
     
  2. H_R

    H_R مدیر بازنشسته

    تاریخ عضویت:
    ‏30 مارس 2005
    نوشته ها:
    3,285
    تشکر شده:
    15
    محل سکونت:
    North Pole
    خیلی تخصصی نبود ولی جالب بود ممنون :)