پنجشنبه, ۲۰ دی, ۱۴۰۳ / 9 January, 2025
ناگفته های DirectX ۱۰ از دیدگاه سخت افزاری
DirectX ۱۰ و windows Graphic Foundation ۲.۰ اسامی هستند که می توانند انقلاب جدیدی را در گرافیک های سه بعدی و بازی های پیشرفته کامپیوتری نوید دهند. هنگام عرضه windows Vista در ابتدای سال جاری میلادی ما شاهد حضور API جدید شرکت Microsoft یعنی DirectX ۱۰ بودیم که استانداردهای موجود برای پردازش سه بعدی و تجربه چند رسانه ای کاربران را به سطح جدیدی ارتقا داده است. هرچند زمان زیادی از معرفی DirectX ۱۰ می گذرد، اما ناگفته های زیادی در رابطه با این API بنیادی وجود دارد که در این مقاله به بررسی آنها پرداخته شده است.
● حافظه مجازی در DirectX ۱۰
API یا واسط نرم افزاری DirectX از مجموعه ای از اینترفیس ها تشکیل شده است که مشخص می کنند توسعه دهندگان بازی ها و نرم افزارهای مختلف چگونه باید با سخت افزار به صحبت بپردازند. نوشتن یک برنامه برای یک API استاندارد بسیار ساده تر از نوشتن و بهینه سازی همان برنامه برای اجرا بر روی سخت افزارهای خاص است. به منظور هرچه یکپارچه تر کردن سخت افزار و نرم افزار، مایکروسافت یک بازنگری کلی را بر روی DirectX اعمال کرده است. از آنجایی که این API در طول زمان حیاط windows Vista به عنوان پایه و اساس توسعه و اجرای هر نرم افزار و یا سخت افزار جدیدی مورد استفاده قرار خواهد گرفت، Microsoft سعی کرده است با ارایه برخی از مشخصات پیشرو و کاملا جدید و علاوه بر آن ساده سازی این API به برنامه نویسان امکان دهد تا با سرعت و سهولت بتوانند با دریافت حداکثر کارایی از سخت افزارهای PC ، نرم افزارها و بازی هایی با کیفیت و کارایی بالا را طراحی کنند.
Direct۳D قسمتی از DirectX است که مستقیما بر اجرا و عملکردهای نرم افزارهای سه بعدی نظارت دارد. در حقیقت مهمترین بخش DirectX ، Direct۳D است. بزرگترین تحولات صورت گرفته در DirectX ۱۰ نیز مستقیما به Direct۳D مربوط می شود. Direct۳D ۱۰ با یکپارچه کردن دستورالعمل ها و استاندارد نمودن مشخصات سایه زن های قابل برنامه نویسی، برنامه نویسان را از شر سایه زن هایی که هر سازنده به صورت اختصاصی طراحی و روانه بازار می کرد رها می سازد. بعلاوه مایکروسافت در مدل درایورهای مربوط به کارت های گرافیک و نمایشگرها نیز تجدید نظر کرده است.
به این خاطر که در windows Vista تمام دسکتاپ به صورت سه بعدی به نمایش در می آید، کارت گرافیک دیگر تنها برای بازی کردن مورد استفاده قرار نمی گیرد. هنگامی که شما یک صفحه نمایش سه بعدی دارید و هر برنامه را در صفحه سه بعدی مربوط به خودش اجرا می کنید، درایورهای کارت گرافیک باید به اندازه کافی با ثبات و انعطاف پذیر باشد تا بتواند نقش پردازنده گرافیکی را افزایش دهد. به همین منظور مایکروسافت تصمیم گرفته است تا درایورها را به دو بخش مجزا تقسیم نماید. یک بخش برای اجرای دسک تاپ و بخش دیگر برای اجرای نرم افزارها و بازی های سه بعدی. این تقسیم بندی برای افزایش ثبات زیر سیستم گرافیکی طراحی شده است و به سیستم عامل امکان می دهد حتی در صورتی که یک برنامه کاربردی و یا بازی سه بعدی به علت خطاهای نرم افزاری و یا سخت افزاری متوقف می شود، همچنان و با وجود یک دسکتاپ کاملا سه بعدی قابل استفاده و با ثبات باقی بماند. وجود چنین نوآوری هایی همچنین به این معنی است که مایکروسافت DirectX ۱۰ را برای windows XP ارایه نخواهد کرد، به خاطر اینکه بسیاری از پیشرفت های صورت گرفته در Direct۳D ۱۰ مستقیما به مشخصات مدل جدید درایور کارت گرافیک windows Vista نیاز خواهد داشت.
استفاده وسیع تر از توانایی های کارت گرافیکی برای اجرای کاربردهای مختلف، نیاز به اختصاص منابع سیستمی بیشتر از سوی سیستم عامل به آن را دارد. سیستم عامل باید به کاربرها امکان دهد تا بتوانند سخت افزار را به نحو موثرتری به اشتراک بگذارند. بزرگترین تغییر در این زمینه در windows Vista تکنولوژی است که با نام Virtualized Memory و یا حافظه مجازی شناخته می شود. از این پس کارت گرافیک فضای حافظه اختصاصی خود را در حافظه سیستم خواهد داشت. این حافظه اختصاصی می تواند برای ذخیره داده هایی که دارای اندازه بزرگتر از حافظه محلی کارت گرافیک هستند مورد استفاده قرار گیرد. هم اکنون کارت های گرافیکی گران قیمت و سطح بالا معمولا با حافظه هایی به میزان ۲۵۶ یا ۵۱۲ مگابایت عرضه می شوند. اما بازی ها میتوانند به سادگی تمامی حافظه موجود را برای ذخیره قطعات بسیار بزرگ داده، مانند بافت های با وضوح بسیار بالا، مورد استفاده قرار دهند.
مدیر عامل شرکت Epic Games که به تازگی موتور بسیار قدرتمند Unreal Engine ۳.۰ را معرفی کرده و در حال توسعه عناوین معروفی چون UT۲۰۰۷ و Gears of War می باشد، در این باره می گوید: « تکنولوژی هایی مانند بافت گذاری مجازی ( Virtual Texturing ) می تواند گلوگاه های مرتبط با اندازه بافت ها را در حافظه های گرافیکی بر طرف نماید. اندازه بافت هایی را که ما در DirectX ۹.۰ می توانستیم با حفظ کارایی کامل استفاده کنیم به وسیله حجم حافظه محلی کارت گرافیکی محدود شده بود، اما در DirectX ۱۰ حجم آنها تنها توسط اندازه حافظه سیستم محدود خواهد شد. او توضیح می دهد که با در اختیار داشتن چنین امکاناتی، سطح استفاده از بافت ها در بازی ها و نرم افزارهای سه بعدی بین ۲ تا ۴ برابر افزایش خواهد یافت که این برای کسانی که از موتور Unreal Engine ۳.۰ برای توسعه بازی های خود استفاده می کنند بسیار عالی است. هرجا که طراح بخواهد می تواند از بافت هایی با کیفیت و وضوح بالا، برای مثال در وضوح ۲۰۴۸ x ۲۰۴۸ پیکسل، استفاده کند و سپس آنها را برای اجرا بر روی سیستم های با قدرت پایین تر به اندازه های کوچکتری مقیاس دهی کند. »
کارت های گرافیکی برای تطابق با استاندارد های DirectX ۱۰ و افزایش کارایی نیاز به رعایت نکات دقیقی دارند. کارت های گرافیک باید دارای مجموعه کاملی از مشخصات باشند تا بتوانند تاییدیه های DirectX ۱۰ را بدست آورند. البته این استاندارها به طور کامل با آنچه که در نسل فعلی کارت های گرافیکی شاهد آن هستیم متفاوت نخواهند بود. برای مثال کارت هایی که از DirectX ۹.۰c و یا سایه زن های نسخه ۲ پشتیبانی کنند می توانند از بسیاری از توابع موجود در DirectX ۱۰ نیز پشتیبانی کنند. اما Microsoft مشخصه های کاملا دقیقی را اعلام کرده است تا سازندگان مختلف پردازنده های گرافیکی مجبور به ساخت سخت افزارهای سازگار با یکدیگر شوند. برای مثال تفاوت های موجود در واحد های ممیز شناور پردازنده های گرافیکی مختلف شرکت های ATI و nVIDIA توسعه دهندگان بازی را برای سازگار کردن موتور بازی با هر دو نوع پردازنده گرافیکی تحت فشار قرار میداد، اما مشخصه های تعریف شده در DirectX ۱۰ کمک بزرگی به حذف اینگونه ناسازگاری ها در سخت افزارهای مختلف و در نتیجه کاهش هزینه و زمان توسعه نرم افزار برای کار با آنها خواهد کرد.
● دیگر ویژگی های DirectX ۱۰
مایکروسافت مشخصه های لازم برای طراحی پردازنده های سازگار با Direct۳D ۱۰ را سریع اعلام کرد تا سازندگان پردازنده های گرافیک بتوانند هرچه زودتر کارت های گرافیکی مطابق با آن را ارائه دهند. با توجه به نکات گفته شده توسعه دهندگان نرم افزار دیگر مجبور نخواهند بود تا هنگام عرضه هر پردازنده گرافیکی جدیدی، محصولات خود را با آن منطبق کنند. طبق گفته های مایکروسافت تنها هنگام ارایه DirectX ۱۱ آنها نیاز به ایجاد تغییرات در نرم افزارهای خود را خواهند داشت و تا پیش از آن هر نرم افزاری که برای کار با DirectX ۱۰ طراحی شده باشد می تواند بدون اعمال هیچگونه تغییری از تمامی مشخصه های آن پشتیبانی نماید. البته شاید هرگز نتوان جلوی نوشتن کدهای بهینه شده برای یک پردازنده گرافیکی خاص را گرفت و ممکن است همچنان شاهد مشخصه های اضافی عرضه شده از طرف شرکتهای مخلف سازنده سخت افزار باشیم که توسعه دهندگان مختلف ممکن است تمایل به پشتیبانی از آنها را داشته باشند. اما بی شک نسل آینده نرم افزارها و سخت افزارهای سه بعدی بیش از پیش یکپارچه خواهند شد و رقابت آنها در ارائه ویژگی ها و قابلیت های فراتر از ملزومات DirectX ۱۰ خواهد بود.
طبق اظهارات Microsoft ، DirectX ۱۰ می تواند با مدیریت هوشمندتر منابع، افزایش بازده API و انتقال بیشتر بار کاری از CPU به پردازنده گرافیک، کارایی را در بازی های مختلف از ۶ تا ۸ برابر افزایش دهد. البته این امر اندکی اغراق آمیز به نظر می رسد اما مسلما شاهد افزایش زیادی در کارایی خواهیم بود. برای این منظور DirectX ۱۰ و معماری خط لوله های پردازشی در داخل پردازنده گرافیک برای به حداقل رساندن بار کاری بر روی CPU و زیر سیستم حافظه، مجددا از ابتدا طراحی شده اند. مهمترین موضوعی که در این زمینه مد نظر طراحان قرار داشته است، افزیش کارهایی بوده که پردازنده گرافیکی قادر است بدون نیاز به گفتگو با CPU انجام دهد. به همین دلیل هنگامی که نیاز به استفاده از CPU داشته باشیم، خواهیم توانست به شکلی بسیار سریع و موثر از آن استفاده کنیم.
در ادامه مواردی را که سبب افزایش کارایی هنگام استفاده از DirectX ۱۰ میشود را ذکر میکنیم:
▪ با استفاده از بافرهای جدید برای مقادیر، بازده عملیاتی سایه زن ها هنگام ارسال و دریافت داده های مورد نیاز مانند مکان نورها، مشخصات مواد و غیره، افزایش خواهد یافت. علاوه بر این با حذف داده های زاید، حجم عظیمی از نقل و انتقال های موجود بین API و درایور حذف خواهد گردید. این امر به میزان قابل توجهی باعث کاهش فراخوان داده ها توسط API و از بین بردن بار اضافی بر روی پهنای باند حافظه شده و اجازه خواهد داد تا اعمالی که قبلا نیاز به گفتگو میان API و درایور داشتند، در سطح درایور انجام شوند.
▪ با استفاده از آرایه های جدید بافت گذاری، پردازنده گرافیک خواهد توانست تا به طور شناور موارد استفاده از بافت را تغییر داده و بدون نیاز به فراخوانی و یا ذخیره، آن را مجددا مورد استفاده قرار دهد.
▪ با بررسی داده های مربوط به هر فریم، داده های نا لازم بدون هیچ فعل و انفعالی با پردازنده حذف خواهد شد. تکنیک فوق از تکنیک های بررسی مختصات عمق به صورت سلسله مراتبی برای تشخیص و حذف اشیایی که توسط اشیا دیگر پوشانده شده و قابل دید نیستند استفاده می نماید. این تکنیک قبلا نیز در پردازنده های گرافیکی مختلف مورد استفاده قرار گرفته بود اما مهمترین تفاوت تکنیک فوق با تکنیک های قبلی، بررسی اطلاعات فریم قبلی برای یافت و حذف این اشیا است که نیاز به محاسبات جداگانه برای هر فریم را از بین برده و سربار عملیات را تا حد زیادی کاهش میدهد.
▪Direct۳D ۱۰ دارای مشخصات منحصر به فردی است که به کاربرها اجازه میدهد آن را با توجه به نیاز خود تنظیم و بهینه کرده و در نتیجه کارایی را در تمام شرایط در سطح بالایی نگه دارند.
▪ با پشتیبانی از سایه زن های نسخه ۴ ( Shader Model ۴.۰ ) ، پردازنده گرافیکی قادر خواهد بود تا تعداد بسیار بیشتری از دستورالعمل ها را در هر سیکل کلاک انجام دهد. علاوه بر این با استفاده از تعداد زیادی دستور العمل جدید می توان کار بسیار بیشتری را از CPU به پردازنده گرافیکی منتقل کرد.
http://qomelecom.parsiblog.com/
ایران مسعود پزشکیان دولت چهاردهم پزشکیان مجلس شورای اسلامی محمدرضا عارف دولت مجلس کابینه دولت چهاردهم اسماعیل هنیه کابینه پزشکیان محمدجواد ظریف
پیاده روی اربعین تهران عراق پلیس تصادف هواشناسی شهرداری تهران سرقت بازنشستگان قتل آموزش و پرورش دستگیری
ایران خودرو خودرو وام قیمت طلا قیمت دلار قیمت خودرو بانک مرکزی برق بازار خودرو بورس بازار سرمایه قیمت سکه
میراث فرهنگی میدان آزادی سینما رهبر انقلاب بیتا فرهی وزارت فرهنگ و ارشاد اسلامی سینمای ایران تلویزیون کتاب تئاتر موسیقی
وزارت علوم تحقیقات و فناوری آزمون
رژیم صهیونیستی غزه روسیه حماس آمریکا فلسطین جنگ غزه اوکراین حزب الله لبنان دونالد ترامپ طوفان الاقصی ترکیه
پرسپولیس فوتبال ذوب آهن لیگ برتر استقلال لیگ برتر ایران المپیک المپیک 2024 پاریس رئال مادرید لیگ برتر فوتبال ایران مهدی تاج باشگاه پرسپولیس
هوش مصنوعی فناوری سامسونگ ایلان ماسک گوگل تلگرام گوشی ستار هاشمی مریخ روزنامه
فشار خون آلزایمر رژیم غذایی مغز دیابت چاقی افسردگی سلامت پوست