آنچه باید در مورد DirectX12 بدانید
در سال ۲۰۱۴ مایکروسافت از نسخه جدید API گرافیکی DirectX که با نام DirectX12 شناخته میشود رونمایی کرد و قرار شد که با عرضه ویندوز ۱۰، DirectX12 نیز رسماً عرضه شود. حال با عرضه ویندوز ۱۰، DirectX12 رسماً عرضه شده است و هرچند هنوز از آن استفاده چندانی نشده است ولی ازاینپس قدرت آن قابلاستفاده خواهد بود و بهزودی شاهد عناوینی خواهیم بود که از این API گرافیکی پشتیبانی کنند. ازاینرو در ادامه نگاهی میاندازیم به DirectX12 و این API گرافیکی و تأثیر آن بر گیمرها را بررسی خواهیم کرد…
تذکر: بخش اعظم این مقاله بر اساس سایت PC Gamer باکمی تغییرات نوشته شده است.
زمان عرضه ویندوز ۱۰، اولین زمانی است که عموم جامعه PC Gaming به نسخه جدید DirectX که یک API گرافیکی Low-Level است، دسترسی خواهند داشت (توجه کنید که Low-Level یا سطح پایین به معنی سطح پایین کیفی نیست و به معنی دسترسی به جزییات بالاتر در کار با مؤلفههای مختلف گرافیکی و سطوح پایینتر و عمیقتر کار است). حتی از زمانی که Mantel که API گرافیکی شرکت AMD است معرفی شده، صحبتهای زیادی پیرامون این موضوع وجود دارد که تا چه حد قابلتوجهی دستاوردهای API های سطح پایین واقعاً مربوط به بازیبازها میشود. نظرات گستردهای پیرامون این موضوع داده شد، ازنظراتی در مورد اینکه Mantel انقلابی در پردازشهای گرافیکی است گرفته تا نظراتی که Mantel را کمی بیشتر از یک کمپین تبلیغاتی میدانستند. این مطلب، دورنمای هوشمندانهای ازآنچه DirectX12 واقعاً به بازیبازها عرضه خواهد کرد، ارائه داده و در مورد اینکه در چه شرایطی و زمانی ما میتوانیم این تأثیرات را مشاهده کنیم، صحبت خواهد شد.
نگاهی به گذشته
برای توضیح چرایی و دلیل استفاده از DirectX12 و نهفقط چیستی آن، ما در این مقاله به موضوعاتی که منجر به تصمیمگیریهایی در مورد API های گرافیکی شدند و همچنین رشد آنها تا رسیدن به سطح کنونی صحبت خواهیم کرد؛ ازاینرو بخش زیادی از این مطلب جنبه فنی خواهد داشت. اگر شما در درجه اول میخواهید بدانید که این تغییرات چه تأثیری بر روی شما بهعنوان یک گیمر خواهد داشت و باید انتظار چه چیزی را بعد از آپگرید به ویندوز ۱۰ در زمان حال و آینده نزدیک داشته باشید، میتوانید بخشهای تخصصی این مقاله را مطالعه نکنید و صرفاً بخشهای پایانی آن که بر روی تأثیر آن بر روی گیمرها و نکات مهم صحبت میکند و خیلی تخصصی نیست را مطالعه کنید. دقت کنید که این مقاله در مورد “ویژگیهای گرافیکی جدید انگشتشماری نیست که از طریق DirectX12 در اختیار سختافزارها قرار خواهد گرفت “، نیست. هر نسخه جدیدی از یک API، پشتیبانی از یک سری از قابلیتهای سختافزاری را به لیست ویژگیهای خود اضافه میکند و این موضوع که مثلاً شما میتوانید از ویژگی گرافیکی Order-independent Transparency بر روی DirectX12 بهصورت بهینهتر استفاده کنید مستقل از صحبت در مورد API های سطح پایین و یا سطح بالا است. جدایی این موضوعات ازآنجا ناشی میشود که این ویژگیها به DirectX 11.3 نیز اضافه شدهاند تا سازندگانی که نمیخواهند از DirectX 12 استفاده کنند، از این قابلیتها بیبهره نباشند. انتظار میرود که در سالهای آینده استفاده از این ویژگیهای سختافزاری اهمیت بیشتری پیدا کند ولی این مسائل اثر حداقلی بر روی موج اول بازیهایی خواهند داشت که با استفاده از Direct3D 12 عرضه خواهند شد.
تاریخچه مختصری از DirectX و API ها
قبل از اینکه ما در مورد تغییراتی که DirectX12 ایجاد خواهد کرد صحبت کنیم، باید یک سری موارد پایهای را توضیح دهیم. اولازهمه، یک 3D API واقعاً چیست؟ هنگامیکه برای اولین بار سختافزارهای شتابدهنده سهبعدی (3D Accelerator Hardware) عرضه شدند، نیاز به ارائه یک رابط کاربری بود تا برنامهنویسان بتوانند از ظرفیتهای آن استفاده کنند. یک رابط برنامهنویسی نرمافزار (Application Programming Interface یا بهاختصار API) همان چیزی است که قرار بود امکان این کار را فراهم کند. درحالیکه Glide API توسط شرکت 3dfx Interactive عرضه شده بود، توانست برای مدتی نیازها را برطرف کند، اما واضح بود که برای ادامه یافتن رشد این بازار، ارائه یک رابط کاربری خلاصه و مستقل از سختافزار ضروری است. این رابط کاربری قرار بود که توسط DirectX و OpenGL ارائه شود.
واحدهای پردازش گرافیکی (Graphic Processing Unit یا GPU) در آن زمان نسبت به الآن وسایلی بسیار سادهتر بودند. درنهایت در آن زمان API ها فقط قرار بود که به سازنده امکان ایجاد بافت و شاید روشن کردن و نورپردازی روی مثلثها را بدهند زیرا سختافزار –هم فقط- این کار را انجام میداد. تواناییهای سختافزاری از آن موقع تابهحال سریعاً تکامل یافتهاند و API ها نیز بهتدریج با توجه به این موضوع تنظیم شدند و یکسری از ویژگیها در API ها ارائه شد و بعضی دیگر در ساختمان کلی و کار در سختافزار. این مطلب ازاینجهت گفته نشده است که بگوییم درزمینهی API ها تغییرات چشمگیری صورت نگرفته است، بهعنوان مثلاً تغییر و دور شدن از نسل Immediate Mode Geometry (هندسه آنی) برای DirectX و OpenGL یک تغییر بسیار چشمگیر بود.
بااینحال، عملکرد API های سطح بالا در PC همچنان بر اساس این اصل است که از برنامهنویس در مقابل نگرانی دربارهی جزئیات سختافزاری محافظت کند. این موضوع میتواند ویژگی راحت و مناسبی باشد ولی گاهی درک کامل از اتفاقاتی که درون سختافزار میافتد –که این موضوع قاعده کلی API های سطح پایین نیز هست- میتواند در مورد کارایی برنامه نقش حیاتی ایفا کند.
چرا از API سطح پایین استفاده کنیم؟
API های سطح پایین تغییر بزرگی درزمینهی برنامهنویسی سهبعدی بودند و معرفی آنها نیاز به تلاشهای زیادی درزمینهی طراحی و مهندسی از سمت ارائهدهندگان پلتفرمها و سختافزار و همچنین سازندگان بازیها و میانافزارها دارد. تابهحال و برای حدود دو دهه، API های سطح بالا “بهاندازه کافی خوب ” بودهاند که بتوانند باعث پیشرفت رندرینگ سهبعدی در PC در سطحی که هیچ پلتفرم دیگری به آن دست نیافته است بشوند. پس چرا این تلاشها برای API های سطح پایین انجام میشود؟ به اعتقاد بسیاری دلیل این امر ترکیب و اجتماع سازندگان مختلف با یکدیگر است که باعث میشود کفه ترازو به سمتی که باعث تلاش برای انجام این تغییرات میشود، سنگینی بکند.
دلایل سختافزاری
بخش اولیه کار مربوط به تحولات سختافزاری میشود؛ هم در GPU و شاید بیشتر از آن در CPU. شاید این موضوع خلاف شواهد به نظر برسد که تغییرات در سختافزار CPU منجر به تحول در API های گرافیکی شده است ولی ازآنجاییکه API بهعنوان یک پل میان “نرمافزاری که بر روی CPU اجرا میشود” و “توانایی رندر کردن GPU” محسوب میشود، این موضوع خیلی هم تعجبآور نیست.
همانطور که پیشتر نیز اشاره شد، API های سطح بالا در مدت زمان دو دهه از اوایل دهه ۸۰ میلادی، درزمینهی توسعه گرافیکی بهاندازه کافی خوب به نظر میرسیدند. نمودار بالا عملکرد و پرفرمنس (Performance) در CPU های دسکتاپِ فوقالعاده قوی (High-end) را در مدتِ زمانی یکسان نشان میدهد و به شما دلیل این امر را که چرا مفاهیم عملکردی CPU و موازیسازی و استفاده از سیستم موازی برای API ها در دهه ۹۰ و ۲۰۰۰ میلادی در اولویت اول افکار طراحان CPU ها نبوده است را نشان میدهد. خط آبی عملکرد موازی (Parallel) را نشان میدهد؛ درحالیکه عملکرد کاملاً پیوسته (Sequential) با رنگ نارنجی نشان دادهشده است. تا سال ۲۰۰۴ این دو به یکدیگر نزدیک بودند ولی بعدازآن افزایش عملکرد درزمینهی پیوسته کاهش داشته است؛ بنابراین، یکی از اهداف مهم تغییر چشمانداز API ها در حال حاضر بهبود موازیسازی است که قبلاً در اولویت نبوده است.
بههرحال با اینکه کند شدن سرعت رشد عملکرد پیوسته در CPU ها، مهمترین دلیل برای تغییرات API ها بوده است، دلیل دیگر نیز GPU ها هستند؛ زیرا GPU های جدید بهطور پایه با وسایلی که در دهه ۹۰ از آنها استفاده میشد تفاوت دارند. آنها محاسبات دلخواه را بر روی گستره گوناگونی از دادهها انجام میدهند و اشکال هندسی را به خواست خودشان و نهفقط با استفاده از ورودی دادهشده، ایجاد میکنند. همچنین آنها میتوانند از سیستمهای موازیسازی در سطوح مختلفی استفاده کنند. همهی این تغییرات میتوانند به API های موجود اضافه شوند ولی اگر اینطور بشود، دچار خطاهای معنایی شدید و رو به افزایشی خواهیم شد و ازاینرو API ها تغییر میکنند و مجبور به استفاده از API های دیگری هستیم.
دلایل نرمافزاری
باوجود اینکه بخش سختافزاری معادلهی تغییرات API ها، احتمالاً مهمترین و قطعاً علنیترین مورد است ولی مجموعه دلایل دیگری نیز وجود دارند تا استفاده از API های (سطح بالای) موجود را متوقف کنیم و از API های دیگر (و سطح پایینتر) استفاده کنیم و این مجموعه دلایل کاملاً مربوط به نرمافزارها هستند. هر PC Gamer ـی باید با این روند وقایع آشنا باشد: یک بازی خیلی مورد انتظار AAA منتشر میشود و تقریباً در یکزمان هر دو شرکت سازنده GPU درایورهای جدیدی که برای آن عنوان “بهینه ” شدهاند را منتشر میکنند. این درایور ممکن است باعث اجرای سریعتر آن عنوان بشود و یا حتی برای اجرای آن ضروری باشد.
دلیل این امر این نیست که سازندگان بازی یا مهندسان ساخت درایور نالایق هستند؛ این موضوع مربوط به “اندازهی API های گرافیکی سطح بالای مدرن که بعدازاین همه سال تغییرات و اضافه شدن موارد مختلف عرضه شدهاند” و “همچنین پیچیدگی سرسامآور درایورهای گرافیکی” میشود که باید بهنوعی این API های خلاصه شده را به مجموعهای از راهنماییها و سازوکارها تبدیل کنند که GPU بتواند آن را متوجه بشود و بهطور بهینهای اجرا کند. کاهش مسئولیتهای درایورها به نظر در افزایش میزان قابلاطمینان بودن آنها نقش مثبت دارد. سازندگانی که با هر دو مقوله آشنا هستند، ادعا میکنند که DirectX12 در وضعیت بسیار بهتری نسبت به DirectX11 در شرایط زمانی مشابه قرار دارد و یعنی وضعیت DirectX12 از وضعیت DirectX11 در زمان عرضه خود بسیار بهتر است و این مورد باوجود تغییرات عظیمتری که توسط API تحمیل شده، به وقوع پیوسته است.
در اختیار داشتن چنین پایگاه کدهای عظیم و هیولایی تنها برای سازندگان GPU سختی به همراه ندارد: این مورد باعث چالشبرانگیزتر کردن –و گاهی ازنظر بصری، غیرممکن کردن- فرآیند تشخیص باگها و مشکلات عملکردی به دست خود سازندگان بازیها نیز میشود. هر چیزی که در کدهای بازی قرار داشته باشد، میتواند توسط ابزارهای مرسومِ توسعه و ساخت بازی مورد بررسی قرار بگیرد ولی تنها سازندگان سختافزارها هستند که میتوانند بهطور قطعی بگویند که در پشت دیوارهای API (و در سمت درایورها و کارت گرافیک) چه اتفاقی در حال روی دادن است.
اگر درایور تصمیم بگیرد که زمان زیادی را در هر ثانیه به ساخت دوباره بعضی دادهها بپردازد و درنتیجه این موضوع، در بازی کندی و Stutter به وجود بیاید، غیرممکن خواهد بود که سازندگان از طریق مهندسی معکوس متوجه بشوند کدام بخش کدهای بازی –که تنها بخشی است که سازنده بر روی آن کنترل کامل دارد- باعث این ایراد شده است. همانطور که در تصویر بالا مشخص است، با سبک کردن و کوچک کردن API و درایور از طریق دادن مسئولیتهای بیشتر به کدهای بازی به سازندگان این اجازه را میدهد که تصویر کاملتری از وقایعی که در بخشهای مختلف بازی در حال وقوع است، داشته باشند.
اکوسیستم مدرن ساخت و توسعه بازی
البته منتقل کردن همهی این وظایف از سطح API و درایور به بازی باعث افزایش اندازه کدها و زحمات ساخت بازی میشود. درواقع، یکی از بحثهای رایج در مورد رابط کاربریهای سطح بالاتر در همهی زمینههای مربوط به کامپیوتر، در مورد محافظت از برنامهنویس درزمینهی برخورد با همهی پیچیدگیهایی است که در بخشهای مختلف سیستم قرار دارد. بههرحال روشی که بیشتر بازیهای مدرن بر اساس آن ساخته میشوند بیشتر درزمینهی کار با API های سطح پایین بدست میآید.
برخلاف دهه ۹۰ و ۲۰۰۰ میلادی، این روزها خیلی بهندرت میشود بازی را پیدا کرد که صرفاً با یک موتور بازیسازی که بر روی یکی از API های مشخص بنا شده است، ساخته شده باشد. بسیاری از ناشران، موتورهای بازیسازی مخصوص خود را داشته و تیمهایی بهطور کامل مسئول بهروز نگهداشتن تکنولوژی آنها هستند و حتی سازندگان مستقل نیز تعداد زیادی موتور باکیفیت دارند که بهطور حرفهای از آنها نگهداری میشود و میتوانند یکی از آنها را انتخاب کنند. بسیاری از پیچیدگیهای API های سطح پایین توسط سازندگان میانافزارها –که منابع و تخصص کافی برای برخورد با این چالشها را دارند- برطرف میشود و نیازی به دخالت سازندگان بازیها نیست.
در ضمن، این موضوع که برای یک API، لازم نیست که صحیح بودن “چیزی را که از او درخواست شده انجام دهد و میتواند درزمینهی عملکرد و پرفرمنس مشکلساز باشد”، چک کند، بدین معنی نیست که API اجازه انجام این کار را ندارد. همهی API های سطح پایین، لایههای اعتبارسنجی (Validation Layer) اختیاری را در دسترس سازندگان قرار میدهند تا مسئولیتهای افزایش یافته سازندگان را کاهش دهند.
بااینحال، ابزارهای پشتیبانی همیشه از تکنولوژیهای تازه معرفی شده عقب هستند و مدتی طول میکشد تا ابزارها، خود را با این تکنولوژیها در API ها هماهنگ کنند.
API های سطح پایین چگونه کار میکنند؟
بهوضوح، دلایل سختافزاری و نرمافزاری زیادی وجود دارند که ما از جنبه سطح پایین با طراحی API های گرافیکی برخورد کنیم و اکوسیستم کنونی موتورهای گرافیکی نیز این اجازه را به ما میدهد؛ اما دقیقاً “سطح پایین ” شامل چه چیزهایی است؟ DirectX12 تغییرات زیادی را در دورنمای API ها ایجاد میکند و بازدهی اصلیای که میتوانیم انتظار بدست آوردنش را داشته باشیم از سه مقولهی زیر حاصل میشود:
- سیستم ساخت کار و ارائه و تسلیم آن (Work Creation and Submission)
- مدیریت حالت خط لوله (Pipeline State Management)
- ناهمزمانی در مدیریت منابع و حافظه (Asynchronicity in Memory and Resource Management)
همهی این تغییرات بهطور گسترده به یکدیگر مرتبط هستند و برای کاهش هزینههای کلی، با یکدیگر کار میکنند ولی ما اینجا برای وضوح بیشتر، هر یک را بهطور جداگانه بررسی میکنیم.
سیستم ساخت کار و ارائه و تسلیم آن (Work Creation and Submission)
هدف اصلی یک API گرافیکی این است که برنامه با استفاده از آن، یک سری از سازوکارهایی را فراهم کند که GPU بتواند از آنها استفاده کند و آنها را پیگیری نماید که به این مورد معمولاً یک لیست فرمان (Command List) میگویند. در API های سطح بالا، پردازشهای این مورد خلاصهتر است درحالیکه API ای مانند DirectX12 این پردازشها بهصورت مستقیمتر انجام میشود. تصویر زیر مقایسهای است میان نحوه برخورد یک API سطح بالای “کلاسیک ” یعنی DirectX9، با سیستم امکانپذیر ساختن موازیسازی در DirectX11 و درنهایت پردازش مستقیم در DirectX12.
در روزهای خوب قدیمی افزایش داخلی فرکانس پردازندهها، چیزی که Direct3D9 ارائه میکرد بهاندازه کافی خوب بود. برنامه از “یک ” متن و Context برای ثبت فرمان فراخوانی دستور رسم (Draw) استفاده میکرد و API آن را چک کرده و به درایور میفرستاد که درنتیجه یک لیست فرمان برای GPU ساخته میشود تا آن را اجرا کند. همهی اینها یک پروسه پیوسته هستند. بعدازاین در عصر چیپ های چندهستهای، اقداماتی برای موازیسازی فرمانها انجام شد. این مورد در ایده متنهای معوقه (Deffered Context) که در Direct3D11 استفاده شد، نمود پیدا کرد. این قابلیت به بازیها اجازه میدهد که فرمانهای رسم را بهطور مستقل در رشتههای مختلف ثبت کنند. بااینحال، همهی آنها درنهایت باید از یک متن آنی (Immediate Context) عبور میکردند و درایور زمانی میتوانست لیست فرمان را بسازد که این عبور نهایی انجام میشد. بدین ترتیب شیوه برخورد Direct3D11 درجاتی از موازیسازی را امکانپذیر میکند ولی همچنان باعث ایجاد وزن و فشار سنگینی در رشتهای که بخش آخر پروسه را اجرا میکند، میشود و یک نابرابری ایجاد میکند.
Direct3D12 این مشکل را برطرف میکند. کدهای بازی میتوانند بهصورت موازی تعداد دلخواهی از لیستهای فرمان را ایجاد کنند. همچنین Direct3D12 زمان ثبت شدن این دستورات به GPU را هم کنترل میکند؛ دستوراتی که حالا با هزینه نهایی کمتری اجرا میشوند زیرا به فرمتی نزدیک هستند که سختافزار میتواند مستقیماً از آن استفاده کند. این موضوع باعث میشود که مسئولیت بیشتری به دوش کدهای بازی بیفتد؛ مثلاً باید اطمینان حاصل شود که همهی منابعی که در یک لیست فرمان استفاده شدهاند در کل زمان اجرا در دسترس باقی میمانند، البته این موضوع در عوض باعث میشود که درزمینهی وزن و فشار کاری بخشهای موازی، تعادل بیشتری برقرار باشد.
مدیریت حالت خط لوله (Pipeline State Management)
بخشهای مربوط به گرافیک و رندر کردن خط لوله (خط لوله یکی از اصطلاحات مربوط به کامپیوتینگ و رایانش است که توضیحات مربوط به آن نیازمند مقالهای دیگر است) از بخشهای بههمپیوستهای نظیر سایه زنی پیکسلها و شطرنجیسازی تشکیل شده است که به همراه یکدیگر فعالیت میکنند تا یک صحنه سهبعدی را رندر کنند. مدیریت حالت اجزای مختلف در خط لوله یکی از مهمترین وظایف در هر بازی است؛ زیرا این حالت بر روی چگونگی اجرای هر یک از دستورهای رسم و درنتیجه تصویر نهایی تأثیر میگذارد.
اکثر API های سطح بالا یک نمای منطقی و خلاصه از این بخش را نشان میدهند که به قسمتهای مختلفی تقسیم شده است که میتوانند بهطور مستقل تنظیم شوند. اینگونه نمایش باعث میشود که یک تصویر ذهنی راحت از پروسه رندرینگ ارائه بشود ولی لزوماً باعث نمیشود که فراخوانی فرمانهای رسم که نیاز به توان عملیاتی بالایی دارند با هزینه کمی اجرا شوند.
تصویر بالا که خیلی سادهسازی شده است، مشکل پایهای را به تصویر میکشد. ترسیمها و توصیفات حالت سطح بالای (High Level State Descriptions) زیادی میتواند وجود داشته باشد و در شروع هر فرمان رسم، هر زیرمجموعهای از آنها میتواند فعال باشد. درایور باید عملاً قبل از شروع به اجرای فرمان رسم، نمایش سختافزاری ترکیبهای این حالات را بسازد و شاید حتی اعتبار آنها را هم چک کند. شاید ذخیره کردن اطلاعات (Caching) بتواند این مشکل را کم بکند ولی این کار به معنی منتقل کردن پیچیدگی به درایور است که ریسک به وجود آمدن رفتارهای غیرمنتظره که اشکالزدایی آنها سخت است میشود که قبلاً در مورد آن و تقریباً غیرممکن بودن اشکالزدایی مشکلی که از درایور ناشی میشود صحبت شد.
در DirectX12، اطلاعات این حالتها در عوض در چیزهایی به نام اشیا حالت خط لوله (Pipeline State Objects) جمعآوری میشود. این موارد بعد از ایجاد شدن غیرقابل تغییر هستند و ازاینرو به درایور این امکان را میدهد که تنها یکبار وقتی این اشیا به وجود آمدند، آنها را چک کرده و نمایش سختافزاریشان را بسازد. استفاده کردن از آنها بعدازاین کار، تنها یک مسئله ساده نظیر کپی کردن توصیفات و اطلاعات مربوط به آنها مستقیماً به مکان درستی در حافظه سختافزار است و بعدازآن امکان رسم کردن آنها وجود دارد.
ناهمزمانی در مدیریت منابع و حافظه (Asynchronicity in Memory and Resource Management)
Direct3D12، به سازندگان این اجازه را میدهد –و درواقع آنان را مجبور میکند- که بهطور دستی همهی منابعی را که توسط بازی آنان استفاده میشود بهصورت مستقیمتر مدیریت کنند. درحالیکه API های سطح بالا معمولاً نمای راحتتری را در مورد منابعی مانند بافتها ارائه میدهند و ممکن است بعضی چیزها را مانند تصویر GPU از لیست فرمانها و بعضی از موارد ذخیره شده در مورد حالتها را بهطور کامل از سازندگان مخفی کنند، در Direct3D12 تمامی اینها میتوانند و باید توسط سازندگان مدیریت شوند.
این موضوع فقط به این معنی نیست که کنترل مستقیمی بر محل قرارگیری هر منبع در حافظه در همهی زمانها داشته باشید، بلکه این باعث میشود که برنامهنویسان بازی مسئول اطمینان حاصل کردن از این موضوع بشوند که هر دادهای، در زمانی که قرار است در دسترس قرار بگیرد، در همانجایی باشد که GPU به آن نیاز دارد. CPU و GPU همیشه بهصورت مستقل از یکدیگر به شیوهای ناهمزمان عمل کردهاند، اما در API های سطح بالا، اشکالاتی که ممکن است در اثر این ناهمزمانی به وجود بیاید (نظیر مشکلات خط لوله که پیشتر گفته شد) توسط درایور برطرف میشود.
عکس بالا برای این است که به شما نشان بدهد این امر چگونه میتواند باعث به هدر رفتن چشمگیر منابع و پرفرمنس و عملکرد بشود. این تصویر یک مثال ساده از وقوع چنین آسیبهایی را نشان میدهد. در سمت CPU: فرمان رسم X باعث میشود که از دو منبع A و B استفاده شود و سپس B ویرایش شود. بااینحال، با توجه به طبیعت ناهمزمان و ناهماهنگ CPU و GPU، واحد GPU میتواند اجرای عملی فرمان رسم را وقتی آغاز کند که کدهای بازی توسط CPU اجرا شدهاند و منبع B ویرایش شده است. در چنین شرایطی، درایورها در API های سطح بالا در بدترین شرایط ممکن است مجبور شوند که در فراخوانی اولیه رسم، کپیهای سایهای کاملی از منابع مورد استفاده ایجاد کنند. در Direct3D12، سازندگان بازی وظیفه دارند که از روی ندادن چنین حالاتی اطمینان حاصل نمایند.
جمعبندی
با جمعکردن همهی این موارد با یکدیگر، تغییرات ذکر شده میتواند باعث به وجود آمدن API ای بشود که این پتانسیل را دارد تا در اجرای بازیهایی که به شکل بهتر و مهمتر از آن، با ثبات بیشتری اجرا میشوند، کمک کند.
کنترل در سطح برنامه (Application-level) و سرهمبندی لیستهای فرمان اجازه توزیع کار موازی متعادلتری را میدهد و درنتیجه باعث بهرهبرداری بهتری از CPU های چندهستهای میشود. مدیریت حالت خط لوله به شکلی که بهتر نیازهای سختافزاری را منعکس میکند، باعث میشود که فشار کلی روی CPU کاهش یابد و باعث توان عملکردی بالاتری برای رسم موارد بیشتری بشود. مدیریت دستی منابع، باوجود پیچیدگیاش، به سازندگان بازیها اجازه میدهد که کاملاً حرکت دادهها را در بازیشان درک کنند. این دید داخلی کار آنها را برای ساخت یک تجربه باثبات و شاید درنهایت حذف کامل کندیها و Stutter های مربوط به لودینگ و Streaming آسان میکند.
این موارد چه تأثیری برای بازیبازها دارد؟
با توجه به تمامی برتریهای تکنیکی که در بخشهای گذشته گفته شد، شما ممکن است این عقیده را پیدا کرده باشید که استفاده از API های سطح بالای کنونی هدر دادن منابع است و DirectX12 و API های سطح پایین مشابه بلافاصله عملکرد و پرفرمنس بازیهای PC را به سطح جدیدی خواهند رساند. باوجود اینکه احتمال وقوع سناریوها و شرایطی وجود دارد که در آنها دقیقاً این اتفاق بیفتد ولی در خیلی از موارد عادی، چیزهایی که بدست خواهد آمد میتواند اندک و یا حتی غیرقابل تشخیص باشد.
چشمگیرترین بهبودی که از این تغییرات انتظار میرود، کاهش هزینه و بار نهایی CPU و بهبود موازیسازی است. این یعنی در مواردی که عملکرد و پرفرمنس در API های پیشین به خاطر CPU محدود نشده بود، تغییر زیادی نخواهد کرد. در خیلی از بازیها و سبکها، بهخصوص در PC هایی با CPU های سریع، قابلتوجهترین اثر، کاهش استفاده از CPU و مصرف برق خواهد بود.
این موارد برای این گفته نشدند که بگوییم چیزی برای هیجانزده شدن از دیدگاه یک بازیباز وجود ندارد. باوجود اینکه یک بازی شوتر سوم شخص سینماتیک بر روی یک CPU مناسب تقریباً بیتغییر باقی خواهد ماند، موارد استفادهی زیادی وجود دارند که میتوانند از آن بهره ببرند.
بازیهای جهان باز (Open World) پر جزییات و بسیار قابل تعامل یا عناوین استراتژی که در مقیاس بزرگ هستند و بخشهای متحرک زیادی دارند معمولاً دچار محدودیتهای CPU حداقل در بعضی از سناریوها حتی در کامپیوترهای High-end هستند و ازاینرو DirectX12 به بهبود آنها کمک بیشتری خواهد کرد.
- بازی در نرخ فریمهای بالا روزبهروز محبوبتر میشود و در بعضی موارد حتی اگر شما قدرت لازم برای GPU و مانیتوری با تکنولوژی مناسب برای اجرا در ۱۴۴ فریم بر ثانیه را داشته باشید، در بسیاری از بازیها قبل از همهی اینها دچار محدودیتهای CPU خواهید شد و در این موارد DirectX12 باعث بهبود خواهد شد.
- یکی از موارد جالب که معمولاً نادیده گرفته میشود، در مورد Emulator ها است؛ بهخصوص در پروژههایی نظیر Xenia (شبیهساز کنسول Xbox360) که به دنبال شبیهسازی سیستمهای جدیدتر هستند، باید از دسترسی سطح پایین نفع بسیاری ببرند زیرا به آنها اجازه میدهد که مستقیمتر رفتار سختافزار موردنظر را مدلسازی کنند.
- شبیه مورد قبلی، این موارد در مورد تلاشهایی که برای پورت عناوین از روی کنسول به PC انجام میگیرد نیز مؤثر خواهد بود؛ زیرا PC درزمینهی خلاصه بودن API به پلتفرم اصلی آنها نزدیکتر خواهد بود.
- درنهایت، رندر کردن برای موارد واقعیت مجازی که نیاز به تأخیر فریم بسیار دقیق و سخت و غیرقابل تغییری داشته و علاوه بر آن نیازمند پایداری و ثبات هستند، توسط یک API سطح پایین بهتر انجام خواهد شد.
علاوه بر این موارد که میتوانیم انتظار یک برتری کلی در عملکرد را داشته باشیم، تقریباً در همهی بازیها ثبات عملکرد بهبود خواهد یافت. آقای Dan Baker از استودیو Oxide Games در صحبت با نویسنده سایت PC Gamer گفته است:
“ما همچنین برتریهای بزرگی در ثبات فریم را میبینیم، [یعنی] نقطهای که ما باور داریم ممکن است در آن در Direct3D12 “هرگز گیر نکنیم ” [و این در صورتی به وقوع میپیوندد که] ما بهاندازه کافی و مناسب در کار با API مهارت پیدا کنیم.”
مخصوصاً باوجود مشکلات کندی و Stuttering که بسیاری از بازیهای بزرگ اخیر را از بین بردهاند، میتوانیم برتریهای DirectX12 و این ثبات فریم را یک چشمانداز بسیار هیجانانگیز در نظر بگیریم.
نتیجهگیری نهایی:
با DirectX12، دسترسی سطح پایین به گرافیک بهصورت مجزا از سختافزار به حقیقت مبدل گشته است و البته مدت زیادی طول نخواهد کشید که Vulkan (یک API گرافیکی دیگر متعلق به شرکت Khronos) نیز به جمع این API ها اضافه بشود، هرچند که این API مستقیماً با پلتفرمهای مایکروسافت کاری ندارد. باوجود مجموعه تغییرات چشمگیری که در نحوه تعامل برنامهها با سختافزارهای مربوط به پردازش ۳ بعدی صورت گرفته است، این API ها فرصت ساخت بازیهایی که با درجات بالای موازیسازی هماهنگ هستند و از پایداری بالاتری برخوردارند را به سازندگان میدهد. کاهش اندازه API و مسئولیتهای درایور باید باعث بشود تا دیگر شاهد عناوینی AAA ای نباشیم که در روز اول برای آنها درایوری برای هماهنگسازی آنها و افزایش پرفرمنسشان منتشر میشود. این مورد علاوه بر این باعث میشود که PC در کل به یک پلتفرم مطمئن و همه کاره برای بازی و گیمینگ تبدیل بشود. در صدر همهی این ویژگیها، بزرگترین ویژگی این است که این برتریها مستقل از قابلیتهای جدید سختافزاری هستند و امکان استفاده از آنها با بیشتر GPU هایی که از DirectX11 پشتیبانی میکنند، فراهم است.
آیا این بدین معنی است که شما باید فوراً همهی کارها را رها کنید و مشغول آپدیت به ویندوز ۱۰ شده و انتظار پیشرفتهای بزرگ را درزمینهی بازی داشته باشید؟ خیر. اولین بازیهایی که از DirectX12 پشتیبانی بکنند احتمالاً در تعطیلات میلادی عرضه خواهند شد و بهاحتمالزیاد اکثر آنها از API های سطح بالا نیز پشتیبانی خواهند کرد.
علاوه بر همهی اینها، افزایش پرفرمنس توسط API های سطح پایین به عوامل زیادی بستگی دارد؛ مثلاً عملکرد CPU، نوع حجم کاریای که بازی در اختیار دارد و همچنین نرخ فریمی که مدنظر آن عنوان است و قرار است در آن حد اجرا بشود.
بههرحال آنچه DirectX12 و دیگر API های سطح پایین ارائه میدهند بیشتر یک چشمانداز طولانیمدت از افزایش پرفرمنس و عملکرد، پشتیبانی بهتر از سختافزارهای کنونی و آینده، نرخ فریم باثباتتر و قابل پیشبینی تر و مهندسی نرمافزار بهتر درزمینهی ساخت درایور، بازی و چیزهایی نظیر این است.
پر بحثترینها
- فوری: سونی در حال مذاکره برای خرید کمپانی مادر FromSoftware است
- نقدها و نمرات بازی STALKER 2 منتشر شدند
- پلی استیشن برای ۱۰ سال متوالی نمایندهای برای بهترین بازی سال داشته است
- از صنعت بازی های ویدیویی در سال ۲۰۲۵ چه انتظاراتی داریم؟
- شایعه: کمپانی مادر FromSoftware احتمالا برای جلوگیری از تصاحب خصمانه از سوی یک شرکت کرهای به سونی مراجعه کرده است
- نامزدهای بهترین بازیهای سال مراسم The Game Awards 2024 مشخص شدند
- رسمی: شرکت مادر FromSoftware پیشنهاد خرید از سوی سونی را تایید کرد
- گزارش: GTA 6 وضوح فوقالعادهای روی پلی استیشن ۵ پرو خواهد داشت
- سازنده STALKER 2 به دنبال بررسی بازخوردها و رفع سریع مشکلات بازی است
- بازی STALKER 2 در عرض دو روز بیش از ۱ میلیون نسخه فروخت
نظرات
کامل ترین مقاله ای که تا الان تو این سایت دیدم
وقعا خسته نباشید اقای نامجو به شخصه چیزای زیادی یاد گرفتم
از اسمت معلومه فن سونی هستی باید بهت بگم حرفی که زدی مثل این میمونه که وقتی سرما خوردی بگی چرا قرص سرماخوردگی باید بخورم؟
دایرکس هم مثل همین میمونه قرار نیست اتفاق زیادی بیوفته فقط یکم سیستم (Xbox one ) رو تقویت میکنه تا بهتر بتونه کار کنه.
خودتون دارید حرف خودتون باطل میکنید
گوشی های شرکت اپل از لحاظ سخت افزاری خیلی از گوشی روز دنیا عقبن ولی این نرم افزار و api اختصاصی سیستم عامل ios که از همه لحاظ برترش میکنه
از همین الانم داریم کمکم تاثیر این dx12 و win10 روی وآن میبینیم که تمامی بازیهای انحصاری با کیفیت 1080p اجرا میشن و بازیهای مولتی پلت فرم دارن به این. سمت میزن
فنید درک ندارید
فن سونی هست چه انتظاری داری؟
خب from masoud of iran اگه قراره به اسم و اواتار شخص فن ش رو حدس بزنی شما که خودت داد میزنی فن مایکرویی
نه من ایشون رو از قبل میشناختم و برای همین میگم
بله من دوست دارم فن مایکرو باشم ولی خودت که توی اهواز هستی بهتر از من میدونی
مسعود خوب میشناسمت مهم نیس شوخی کردم باید طرف حق باشی
دقیقا اقا مسعود من داشتم مس..خره میکردم نفهمیدین؟؟ به هر هال عزر میخام
نه بابا نفهمیدم چون از اپل بدم میاد
در ضمن اسم و اواتار به این خوبی 😀 😀 😀
اره خوبه 😀
منظورم این بود که این مدل گرافیک ارزش خریدن رو داره؟یعنی چیز خوبیه یا نهنه :chic:
آقا خجالت بکش دیگه سونی مال پدرته؟! که اینجوری چشم بسته صحبت میکنی؟! من نمیخوام بگم که خیلی حرفه ای هستم ولی اونقدری میدونم که سیستم عامل و API و غیره بسیار بیشتر از قدرت سخت افزاری مهمه بذار یه مثال برات بزنم بلک بری با پردازنده ۲ هسته ای و رم ۵۱۲ آسفالت رو اجرا میکنه چیزی که اندروید با رم ۱ گیگ در اون لگ میزنه یا یه مثال دیگه ios که اپل با این سخت افزار کم تونسته هم رده اندرویدی های فلگ شیب ظاهر بشه؟! آیا هنوز هم سیستم عامل مهم نیست؟! در بازی سازی هم API ها و DK ها خیلی مهم هست زبان پی اس ۴ open gl هست که در لینوکس استفاده میشه و تاثیر به سزایی در کمک نرم افزاری نداره و ps4 تقریبا فقط از قدرت سخت افزاری استفاده میکنه اما DX خیلی قوی تر از open gl هست اگر کمی باهاش کد بنویسی میفهمی! پس هنوز هم اینها مهم نیست؟! در ضمن در قانون تجارت هم یک قانونی داریم به نام عدالت در تجارت به این معنی که سونی یا ماکروسافت نمیتونن کنسول های خودشون رو خیلی بالا تر(سخت افزاری) از هم دیگه عرضه کنند و باید هم سطح باشند! و ضعف سخت افزاری با فاصله زیاد باور غلطه! این فاصله ای که الان میبینی به دلیل پیچیدگی هست نه ضعف سخت افزاری وگرنه انقدر تفاوت ندارن و ضعف سخت افزاری اکس باکس انقدر کم هست که بتونند هم سطح باشند!! امیدوارم تعصب رو کنار بذاری من که دیگه از جواب دادن به فن ها خسته شدم
بوی دماغ سوخته میاد :shy:
اتفاقا اپل داره از سخت افزار هایی به مراتب ضعیف تر از شرکت هایی مثل Samsung استفاده میکنه شما که اطلاعات ندارید هر جایی دهنتونو باز نکنید
نظر شما چه ربطی به نظر اون آقا داشته که پاسخ رو زدید؟؟
گیمفا خواهشا این نظرها رو تایید نکن، این اسمش آزادی نیست، یه اسپم خالصه!
اما از اونجایی که گفتی کنسول! عزیز کنسول Xbox One همین حالا هم از Api های سطح پایین بهره می بره… خواهشا رجوع شود به کنفرانس مایکروسافت در زمینه DirectX 12 …
برتری هایی که برای کنسول داره، افزایش قدرت پردازنده تا میزان ۵۰% ( نه به میزان!! ممکنه یه بازی کلا CPU خیلی براش مهم نباشه… ) و افزایش قدرت گرافیک تا میزان ۲۰% هست…
اینم کنفرانس مایکروسافت در زمینه DirectX 12 که Intel,Qualcomm,Nvidia,Amd هم صحبت خاص خودشون رو براش دارن :
www*youtube*com/watch?v=tok2n7R9_AQ
از لج شخص جنابعالی دیگه میرم اواتارمو عوض میکنم با همین اسم میام اینقدر مثل خودت آسمون ریسمون میبافم که تا حالا نظیر نداشته . یعنی رسما میخوام تو هر پستی که ببینمت بگم سونی مزخرفه . تلو چرته . ps4 بدردرنخوره ….
در پاسخ به postman عزیز.
فن بوی اصولا موجودیه که وظیفه ای جز رفتن روی اعصاب طرف مقابل نداره. نه فقط طرفداران کنسول رقیب بلکه طرفدار کنسولی که خودش دوست داره هم از دستش عاصیَن!
اما دوست عزیز شما نمی خواد بواسطه تراوشات یه ذهن نارس و آکبند مقابله به مثل کنی.
در اینصورت چه فرقی با اینچنین کاربرها و شما وجود داره؟
بعضی وقتا فقط باید کامنت طرف رو خوند و به یه لبخند بسنده کرد
همین!
میخواستم دیگه کلا بزنم تو این فاز ولی به خاطر شما نمیزنم . الان که فکر میکنم میبینم بیخودی جوش آوردم.
این جور افراد به نظرم بهتره نه منفی بخورن نه مثبت . این چیز بد تری هست براشون چون نشون میده کمتر کسی به نظرشون اهمیت میده .
postman عزیز (میشه اسمتون رو بدونم؟)
بهتره هیچ وقت با یه فن بوی بی منطق خودتو درگیر نکنی…بهترین راه مقابله با این گونه ی خاص از موجودات دو پا و بی مغز اهمیت ندادن به نظراتشونه…و در کنار اون کلیک بر روی گزینه ی “گزارش تخلف” 😉
اگر قرار باشه هر کس به خاطر ۴ تا نظر نسنجیده که حاصل تراوشات یک ذهن بی آلایش ( 😀 ) هستش بخواد مقابله به مثل کنه سنگ رو سنگ بند نمیشه…اینجور مواقع فقط آروم باش و نظر خودت رو در نهایت منطق و احترام بده (چون میشناسمت و میدونم با منطقی اینو میگم)
خوشبختانه مدیریت سایت، آقا حامد زاهدی رو این مسئله خیلی حساسه و خودشون و تیمشون با سرعت بالایی به اینجور موارد خاص رسیدگی میکنن
موفق باشی :-))
اسمم رضاست . اسم شما هم خوشحال میشم بدونم . حق با شما و smaug هست . باید به این جور نظرات بی تفاوت باشم . ولی واقعا تحمل کردنش سخته . البته من یکم آدم زود جوشی هستم .
شهروزم رضا جان 🙂
آقا معلم سایت 😀
“این گونه ی خاص از موجودات دو پا و بی مغز”
مردم از خنده :rotfl: :rotfl: :rotfl: :rotfl:
:rotfl: :rotfl: یک ذهن بی آلایش :rotfl: :rotfl:
Dr. Freeman :yes: :yes:
مایکروسافت با معرفی و عرضه DX12 یک بار دیگه قدرت و مهارت خودش رو در زمینه نرم افزاری به رخ کشیده و مطمئنا با انتشار این نسخه جدید از دیرکت اکس بر روی XONE به همراه ارتقا سیستم عامل به ویندوز ۱۰ عملکرد نرم افزاری و سخت افزاری کنسول مایکروسافت هم میتونه افزایش خوبی رو تجربه کنه و این خبر خوبیه هم برای طرفداران XONE و هم برای pc گیمرها که میتونن انتظار عناوینی با پایداری بیشتر و عملکرد کلی بهتر نسبت به گذشته رو داشته باشن…چیزی که مسلمه اینه که با ورود چیپ های گرافیکی مبتنی بر DX12 از سوی انویدیا و ای ام دی (که همین الان هم در بازار هستن) و افت قیمت هاشون میتونیم به آینده روشن تر pc گیمینگ امیدوار باشیم مخصوصا در بحث انحصاری هایی مثل Lawbreakers…خصوصا اینکه سال ۲۰۱۶ احتمالا انویدیا چیپ های جدید مبتنی بر معماری پاسکال رو معرفی میکنه که در کنار DX12 و عملکرد ده برابر کارت Titan X(طبق ادعای انویدیا) اوضاع کاملا بر وفق مراد خواهد بود 😉
ممنون آقای نامجو، مقاله بسیار مفید و آموزنده ای بود 🙂 :yes:
تا اونجایی که میدونم مایکروسافت در تهیه dx12 به مشکلات نسبتا زیادی برخورد که از طریق همکاری با انویدیا ، ناتوانیش رو جبران کرد.
شخصا از این حرفتون اطلاعی ندارم
لطفا یه منبع قابل اعتماد معرفی کنید
حدود نه ماه پیش در قسمت نظرات در سایت ژواستیک، چندین کاربر در این مورد بحث تخصصی می کردن که خیلی ار موارد برای من نا آشنا بود.
البته منابعی هم در این باره معرفی می کردن که متاسفانه سیوشون نکردم ولی اکثرا در این در مورد مایکرو موافق بودن.
سعی می کنم تاپیک رو پیدا کنم و منبع رو برای شما ذکر کنم.
انگار سایت برداشته شده!!!
من لپتاپ asus دارم دوتا گرافیک داره و میدونم دایرکت ایکس ۱۲ ساپورت نمیکنه اما میخواستم بدونم تاثیر زیادی میزاره یا کم
گرافیک:amd readon hd 8670
Cpu:amd a 10 هشت مگ کش ۴ هسته ای ۲.۵ الی ۳.۵ گیگاهرتز
Ram:8 gb ddr3
ویندوز ۱۰
گرافیکم زده 8600m+8650series
ممنون میشم اگه پاسخ بدید
گرافیکم زده Amd Radeon Hd 8650G+Amd Radeon Hd 8600M Series Duau Graphics
دوست من کارت گرافیک شما سری HD 8000 ه و از دیرکت اکس ۱۲ پشتیبانی میکنه…برای استفاده از این قابلیت قبل از هر چیزی جدیدترین درایور مخصوص ویندوز ۱۰ کارتتون رو از وبسایت ای ام دی یا منابع دیگه دانلود و نصب کنید تا پشتیبانی کارتتون از DX12 فعال شه.
الان تاثیری در اجرای بازی نداره.زمانی تاثیر داره که بازی موردنظر از DX12 استفاده کنه.اونوقت هم تاثیرش آنچنان بارز نیست اما خوب تاثیر خودش رو در ثبات بالاتر فریم ریت و استفاده بهینه تر از منابع سیستم داره.
یعنی با اینکه لپتاپه اما بازم ساپورت میکنه؟
بله همینطوره
ممنون بابت جواب
خسته نباشید مرسی :yes:
امیدوارم از ۶۷۷۰ amd هم پشتیبانی کنه :yes:
پشتیبانی نمیکنه متاسفانه تا جایی ک من میدونم
سری ۷۰۰۰ و بالاتر
درسته، فقط از سری HD 7000 و HD 8000 به علاوه سری R7 ،R5 و R9 پشتیبانی میکنه
وجدانا ی سوال من زیاد از ای چیا سر در نمیارم ولی..Geforce 740M میخوره دیگ؟خداوکیلی ی کی جوابوم بده:D
تمام گرافیکهای amd .r7 r9 از DirectX12 پشتیبانی میکنند
اما nvidia متاسفانه فقط گرافیکهای گرون قیمت از سری ۹۰۰ به بالا از DirectX12 پشتیبانی میکنند
آقای ربیعی کارت های انویدیا سری ۶۰۰ و ۷۰۰ و ۹۰۰ از دیرکت اکس ۱۲ پشتیبانی میکنن
کارت های ای ام دی هم سری HD 7000 و HD 8000 به علاوه سری R7 ،R5 و R9 از این امکان پشتیبانی میکنن
دوست عزیز انویدیا معماری fermi و کپلر و maxwell کلا پشتیبانی میکنه(سری ۴۰۰ به بعد)در ضمن سری ۹۰۰ از dx 12.1 هم پشتیبانی میکنه(هیچکدام از کارت های amd این سطح رو پشتیبانی نمیکنن!!)
برای سری ۴۰۰ و ۵۰۰ دراینده اپدیتش منتشر میشه
مقاله عالی بود
فقط کاش اول هاشو یه نمه زیر دیپلم مینوشتین :sweat:
بخشید کسی یه سایت مورد اطمینان برای خرید بازی های xbox 360 سراغ نداره اگه دارید بگید ممنون میشم
ببخشید برا اسپم
کامل و عالی ممنون.
مثل این که دایرکتس داره پیشرفت جدی میکنه.
بچه ها کارت گرافیک من GeForce 840m هستش.وقتی توی سیستم اینفورمیشن انویدیا و یا dxdiag به نسخه دایرکس نگاه میکنم نوشته ۱۲ اما هیچ تأثیری روی فریم ریت بازی ها نگزاشته،البته اینم بگم که من فقط روی gta v امتحان کردم، به نظر شما مشکل چیه؟
کارت های سری ۸۰۰ انویدیا (که مخصوص لپ تاپ هستن) از دیرکت اکس ۱۲ پشتیبانی نمیکنن و دلیل اینکه شما DX12 رو در DxDiag می بینید اینه که احتمالا ویندوز ۱۰ نصب کردید و این به نسخه دیرکت اکس ویندوزتون اشاره داره، نه به نسخه روی کارت گرافیک
خیلی ممنون، واقعا حیف شد :-((
دوست عزیز پشتیبانی میکنه منبع هم سایت nvidia
@bad assassin:قرار نیست الان تفاوتی ببینید بازی باید بر اساس dx12 باشه وگرنه فرقی نداره
درسته احسان جان، نمیدونم تو منبعی که چک کردم با اینکه معتبر بود چرا ننوشته بود این نکته رو
البته پشتیبانی از کارت های Fermi تا اواخر امسال یا اوایل سال بعد همزمان با انتشار اولین موج بازی هایی که از DX12 استفاده میکنن عقب افتاده
احسان جان خیلی ممنون، دادا به خدا یه دنیا فدایی داری :laugh: 😉
منم کارت 840m دارم منم تو چند تا سایت دیدم نوشته بود پشتیبانی میکنه
امیدوارم تاثیر خوبی روی XONEداشته باشه بابت مقاله ممنون
منم امیدوارم توان گرافیکیش ارتقا بده. هر چند فن سونی ام ولی در مورد تکنولوژی و صنعت گیم آرزوی پیشرفت بهترین هارو دارم.
:yes:
یا اما هنگیدم 😮
ببخشید بچه ها این ویندوز ۱۰ هایی که تو بازار هست DX12 رو هم داره؟
آقای نامجو ممنون بابت مقاله بسیار مفیدتون
شما بابد ویندوز ۱۰ رو نصب کنید و سپس اپدیت گرافیکی (انویدیا) مخصوص ویندوز ۱۰ رو دانلود و نصب کنید سپس دایرکس ۱۲ نصب میشود
بعد من که AMD دارم چی (r7 260x)
داداش کارت بصورت کامل پشتیبانی میکنه فقط هنوز بازی بهینه با DX12 ساخته نشده!
DirectX 12 و ویندوز ۱۰ با هم دیگه هستن…
درایور برای بهنیه سازیه، نه نصب DirectX :|||||||||||
ویندوز ۱۰ رو دارم اپدیت گرافیک هخ دارم ولی حال ندارم اپدیت رو نصب کنم.
مقاله خیلی خوبی بود ولی من یک سومشم نفهمیدم 😀
یه زمانی که الان همین طوره تا اسم دایرک جدید میومد دلهره میگرفتم با خودم میگفتم زمان ساپورت کارت گرافیکم تمومه دیگه باید سیستم مورد نیازبازی ام ببینم که یه وقت پولم هدر نره باید فکر جدیدش باشم اما کو پولش؟!!!!!! چه بازی هایی مثل کریسیس ۳ که به خاطر دایرکتش نتونستم تجربشون کنم
حرف دل منم زدی :sweat:
به خدا من که هیچی نفهمیدم :hypnotized: :hypnotized: :hypnotized: :hypnotized: :hypnotized: :hypnotized: :hypnotized: :ZZZ: :ZZZ: :yawn: :yawn: :sick: :sick: :sick:
ممنون از مقاله خیلی جالب و آموزنده بود!
فقط یه سوال:آیا با عرضه شدن این API به نحوی پلتفرم های مایکروسافت از تکنولوژی جدیدی بهره می برند که PS4 از آن محروم است؟؟
از اونجایی که دو کنسول نسل هشتی XONE و PS4 از سیستم عامل های مختلفی استفاده میکنن (سیستم عامل XONE ویندوز مایکروسافته {در حال حاضر ویرایشی از ویندوز ۸ اما به زودی به ویندوز ۱۰ کوچ میکنه} و سیستم عامل PS4 یک سیستم مبتنی بر یونیکسه به اسم Orbis)، در نتیجه DX12 فقط بر روی کنسول مایکروسافت سوار میشه و PS4 از این امکان بی بهره ست…اما اینکه این قابلیت تا چه حد میتونه باعث افزایش توان کنسول در اجرای بازی خصوصا عناوین مالتی پلتفرم بشه مسئله مجزاییه که زمان مشخصش میکنه
سلام کامنتم ربطی به این پست نداره ، ولی هرکی اگه میدونه بگه که چکار کنم ، من خیلی وقته که تو مرحله هشت battlefield hardline همون مرحله زندان گیر کردم. خیلی باگ بدی هست یارو نگبانه عین روح از در رد میشه و همینجور به رگبار میبندتت ، چجوری اون مرحله رو رد کنم ؟؟؟؟؟؟؟؟؟ ?:-) ?:-) ?:-)
شرمنده بابت اسپم:
دوست عزیز این فایل رو، پوشه Setting اش رو بریز تو My documents/BFH
uploadboy*com/2z7geo10w7k6*html
(به جای * تو لینک نقطه بزار)
این جور سوالات رو در انجمن مطرح کنید بنده خودم رسیدگی می کنم!!
مرسی مشکل حل شد. :-*
کاشکی کلا قسمت نظرات رو می بستین
directx 12 قطعا کارایی خوبی خواهد داشت اما خطاب به اون دوستان ماکروسافت باز که فک میکنن ضعف سخت افزاری به این صورت حل میشه … تو xbox one سخت افزار ضعیفتر از ps4 این در حالیه که ماکروسافت داره سعی میکنه این ضعفه به صورت نرم افزاری درست کنهچون قطعا نمیتونه سخت افزار one عوض کنه … در کل قدرت سخت افزاری قابل جبران نیست ولی قدرت نرم افزاری قابل جبرانه که یعنی بازم سونی یه قدم جلوتر ماکروسافته … ( تابلو بود فن سونیم ؟؟D: )
از اقای نامجو تشکر میکنم
directx 12 برای ایکس باکس قرار نیست معجزه کنه بازی هارو 4k و ۶۰ فریم اجرا کنه قرار کاری کنه که بازی سازها راحت ۱۰۸۰ و ۳۰ فریم اجرا کنه
یک روز بی خبر دیگر در گیمفا :sick: .بابا حوصلم سر رفت از صبح تا حالا سه تا خبر بشتر نبود :pain:
از دوستانی که اطلاعات تخصصی دارن یه سوال دارم
الان این پیشرفت های نرم افزاری روی ایکس باکس فقط باعث میشه سختی کار برای بازی ساز ها کمتر بشه؟
یعنی فقط باعث میشه اون پیچیدگی هایی که ساخت بازی نسخه XB1 داشت و صحبتش میشد برطرف بشه؟ یا اینکه به طرق دیگه هم میتونه باز باعث بالا رفتن کیفیت اجرای بازی ها بشه؟
مثلا با فرض اینکه یه شرکت بازی خودش رو در حد مناسب رو هر دو کنسول بهینه کنه، کیفیت بازی رو XB1 ممکنه بالاتر از PS4 بشه به خاطر این پیشرفت نرم افزاری؟
چون تا جایی که من فهمیدم نهایت کاری که نرم افزار میتونه بکنه اینه که امکان استفاده حداکثری از سخت افزار رو فراهم کنه
من که متوجه نمیشم اصلا چرا یک انسان باید “فن” چیز هایی مثل xbox یا ps یا pc باشه .. اصلا چه سودی داره آدم فن چیزی باشه .؟ .. دوستان چیزی رو که دوست دارید بازی کنید دیگه .. بقیه هم چیزی رو که دوست دارن بازی کنن .. همه چی حله دیگه .. هر کی هر چی داشت دوستش داشته باشه و بدونه که نیازی نیست حتما نظر بقیه رو در سلیقه خودش دخالت بده . یا اینکه نیازی نیست نظر خودش رو حتما در سلیقه دیگران دخالت بده!(اصلا این فن و اینا از کجا دراومده>؟ ..)البته مشکلی نیست که خوبی های یه کنسول یا بازی رو به دیگران هم گفت .. ولی دیگه …
درضمن تست های DX12 رو یه نگاه بکنید .. میفهمید که طراحی ها بر اساس DX12 چه قدر کیفیت رو بالا میبره .. فریم ریت واقعا بالاتر و ثابت تری وجود خواهد داشت ..
ان های که منفی دادن ینی به نطرتون مگه میشه ادم اینقدر فن باشه که همه چی رو به نفع خودش و برعکس به تازه من دوتا شکلک 😛 😛 گزاشتم انقد فن بی م.نطق دیدین که دیگه فرق م.سخ.ره کردن و بی منط.قی رو هم تشخیص نمیدین البته حق هم دارین ……. :-* :-*
اقا\خانم های که منفی دادن ینی به نطرتون مگه میشه ادم اینقدر فن باشه که همه چی رو به نفع خودش و برعکس به تازه من دوتا شکلک 😛 😛 گزاشتم انقد فن بی م.نطق دیدین که دیگه فرق م.سخ.ره کردن و بی منط.قی رو هم تشخیص نمیدین البته حق هم دارین ……. :-* :-*
دوستان خسته نباشید مقاله جامع و کاملی بود :yes:
سلام دوستان عزیز.من می خوام اگه بشه یه چند مدت دیگه یه کارت گرافیک بگیرم مدل asus gt750 هست DX12 هم ساپورت میکنه به نظر شما چیز خوبیه بخرم؟منتظر جوابما باتشکر
خسته نباشید،بسیار کامل