09-07-2015, 07:30 PM
مدتی پیش خبری منتشر شد مبنی بر این که معماری Maxwell انویدیا یک نقطه ی ضعف بزرگ دارد. این نقطه ضعف به AMD کمک خواهد کرد تا بهتر برای Direct X 12 حاضر شود. با وجود این که درایور های انویدیا خلاف این مطلب را نشان می دهند، مکسول انویدیا از قابلیت Async که یکی از سه قابلیت کلیدی Direct X 12 می باشد پشتیبانی نمی کند. تیم سخت افزار گیمفا منتظر واکنش احتمالی انویدیا در این مورد بود تا این مسئله و پاسخ انویدیا رو به طور کامل پوشش دهد اما بر خلاف ماجرای حافظه ی GTX 970 ، مدتی طول کشید تا یک پاسخ از سوی انویدیا بشنویم.
این مسئله زمانی آشکار شد که شرکت Oxide Games که یکی از توسعه دهنده ی بازی های رایانه ای می باشد اعلام کرد که این شرکت توسط بخش تجاری شرکت انویدیا تحت فشار است تا چند ویژگی خاص را از بنچمارک دیرکت ایکس 12 این استودیو با نام "Ashes of the Singularity" حذف کند.
Async یکی از قابلیت هایی است که توسط مایکروسافت به Direct3D اضافه شده که به یک برنامه ی کاربردی اجازه میدهد تا فرایند متراکم کردن برنامه براى جاى دادن تعداد زياد دستورالعملها در فضايى کوچک را از طریق تکه تکه کردن پردازش های رندرینگ انجام دهد. از آنجایی که درایورها نشان می دهند که این قابلیت در معماری مکسول انویدیا فعال است، Oxide Games بنچمارک دیرکت ایکس 12 خود را به همراه این قابلیت طراحی کرد. اما وقتی نوبت به تست این قابلیت با پردازنده های گرافیکی مکسول رسید، نتیجه چیزی نبود جز یک افتضاح کامل. در طول همکاری با انویدیا برای حل کردن این مشکل، مشخص شد که مکسول به صورت پیشفرض از این قابلیت پشتیبانی نمی کند و ادعای درایورها در مورد پشتیبانی از این قابلیت در واقع دروغ است. به گفته ی Oxide Games اینجا بود که انویدیا فشارهای خود را برای حذف کلیه ی کدهایی که در این بنچمارک وجود دارند و از Async استفاده می کنند شروع کرد.
یکی از اعضای این استودیو در کنفرانسی در این مورد گفت:
با استناد به سهم عظیم شرکت انویدیا از بازار سخت افزار می توان حدس زد که این شرکت به تلاش های خود برای بازداشتن سازنده ها از به کاربردن این قابلیت ادامه خواهد داد. قابلیت هایی که شرکت رقیب یعنی AMD از آنها پشتیبانی میکند. درایورهای این شرکت اعلام می کنند از که DirectX 12 و سطح ویژگی های 1_12 پشتیبانی میکنند اما این سوال برای ما به وجود آمده که تا چه اندازه از این قابلیت ها مانند پشتیبانی دروغین از Async ، ساختگی هستند. قبل از این موضوع نیز این شرکت به خاطر استفاده از تکنولوژی های مربوط به GameWorks که فقط صاحبان کارت های این شرکت میتوانند از آنها استفاده کنند تحت فشار بود. آن هم در شرایطی که چه صاحبان کارت های گرافیک AMD ، چه صاحبان کارت های انویدیا به یک میزان برای بازی ها پول می پردازند.
اما پس از تقریبا یک هفته سکوت و سخن هایی که از اعضای استودیوی Oxide Games شنیدیم، به تازگی یکی از اعضای این استودیو به نام Kollock اعلام کرد (یا به گفته ی منبع خبر مجبور شد اعلام کند) که انویدیا در درایورهای خود به طور واضح اشاره نکرده که مکسول از Async پشتیبانی میکند و آنها به سختی در حال تلاش برای رفع این مشکل با کمک انویدیا هستند.
این طور که به نظر می رسد انویدیا (حداقل برای مدتی) بر روی راه حل های سخت افزاری/نرم افزاری کار خواهد کرد تا این مشکل را موقتا برطرف کند.
اگر به طور ساده بخواهیم تفاوت قابلیت Asynchronous را در کارت های شرکت رقیب توضیح دهیم میتوانیم بگوییم که در کارت های شرکت AMD تمامی پردازش های مربوطه به صورت سخت افزاری صورت میگیرد اما در کارت های انویدیا، بخشی از این امور به صورت نرم افزاری صورت می گیرد.
منبع
منبع
این مسئله زمانی آشکار شد که شرکت Oxide Games که یکی از توسعه دهنده ی بازی های رایانه ای می باشد اعلام کرد که این شرکت توسط بخش تجاری شرکت انویدیا تحت فشار است تا چند ویژگی خاص را از بنچمارک دیرکت ایکس 12 این استودیو با نام "Ashes of the Singularity" حذف کند.
Async یکی از قابلیت هایی است که توسط مایکروسافت به Direct3D اضافه شده که به یک برنامه ی کاربردی اجازه میدهد تا فرایند متراکم کردن برنامه براى جاى دادن تعداد زياد دستورالعملها در فضايى کوچک را از طریق تکه تکه کردن پردازش های رندرینگ انجام دهد. از آنجایی که درایورها نشان می دهند که این قابلیت در معماری مکسول انویدیا فعال است، Oxide Games بنچمارک دیرکت ایکس 12 خود را به همراه این قابلیت طراحی کرد. اما وقتی نوبت به تست این قابلیت با پردازنده های گرافیکی مکسول رسید، نتیجه چیزی نبود جز یک افتضاح کامل. در طول همکاری با انویدیا برای حل کردن این مشکل، مشخص شد که مکسول به صورت پیشفرض از این قابلیت پشتیبانی نمی کند و ادعای درایورها در مورد پشتیبانی از این قابلیت در واقع دروغ است. به گفته ی Oxide Games اینجا بود که انویدیا فشارهای خود را برای حذف کلیه ی کدهایی که در این بنچمارک وجود دارند و از Async استفاده می کنند شروع کرد.
یکی از اعضای این استودیو در کنفرانسی در این مورد گفت:
نقلقول: شخصا معتقد هستم که هر شخصی می تواند دریابد که ما مقصر این ماجرا نیستیم و همگی به انویدیا به عنوان ارائه دهنده ی کدها و قابلیت های پشتیبانی شده اعتماد کردیم. منظور از اعتماد این است که درایورهای این شرکت نشان می دادند که معماری مکسول از این قابلیت پشتیبانی می کند. اما زمانی که به آزمایش بنچمارک پرداختیم، یک افتضاح به تمام معنا در زمینه ی کارایی به بار آمد و ما مجبور شدیم این قابلیت را برای سخت افزار های انویدیا غیر فعال کنیم. تا جایی که من اطلاع دارم مکسول انویدیا اصلا از Async پشتیبانی نمی کند با این حال نمی دانم چرا درایورهای این شرکت خلاف این مطلب را نشان می دهند. تفاوت دیگر بین این دو شرکت این است که انویدیا در نسل دوم سخت افزار مربوط به این تکنولوژی قرار دارد در حالی که AMD در نسل سوم می باشد. نتیجه ی آن هم فشار بیشتر بر روی CPU هنگام استفاده از D3D12 است. هر چند این تفاوت خیلی چشم گیری نیست. به هر حال این مشکلات به کدنویسی و بنچمارک مربوط نمی شود و همه چیز مربوط به قابلیت هایی است که درایور خبر از پشتیبانی آنها می دهد.
با استناد به سهم عظیم شرکت انویدیا از بازار سخت افزار می توان حدس زد که این شرکت به تلاش های خود برای بازداشتن سازنده ها از به کاربردن این قابلیت ادامه خواهد داد. قابلیت هایی که شرکت رقیب یعنی AMD از آنها پشتیبانی میکند. درایورهای این شرکت اعلام می کنند از که DirectX 12 و سطح ویژگی های 1_12 پشتیبانی میکنند اما این سوال برای ما به وجود آمده که تا چه اندازه از این قابلیت ها مانند پشتیبانی دروغین از Async ، ساختگی هستند. قبل از این موضوع نیز این شرکت به خاطر استفاده از تکنولوژی های مربوط به GameWorks که فقط صاحبان کارت های این شرکت میتوانند از آنها استفاده کنند تحت فشار بود. آن هم در شرایطی که چه صاحبان کارت های گرافیک AMD ، چه صاحبان کارت های انویدیا به یک میزان برای بازی ها پول می پردازند.
اما پس از تقریبا یک هفته سکوت و سخن هایی که از اعضای استودیوی Oxide Games شنیدیم، به تازگی یکی از اعضای این استودیو به نام Kollock اعلام کرد (یا به گفته ی منبع خبر مجبور شد اعلام کند) که انویدیا در درایورهای خود به طور واضح اشاره نکرده که مکسول از Async پشتیبانی میکند و آنها به سختی در حال تلاش برای رفع این مشکل با کمک انویدیا هستند.
نقلقول: در حقیقت همین چند لحظه پیش در حال گفت و گو با انویدیا بودیم و بله باید این مطلب را تائید کنم که درایورهای این شرکت به طور واضح اشاره نکرده بودند که از Async پشتیبانی میکنند اما این طور به نظر می رسید که پشتیبانی میکند. ما در حال همکاری با انویدیا برای پیاده کردن این قابلیت هستیم و به محض این که اطلاعات بیشتری به دست آوریم همه را با خبر خواهیم کرد.
این طور که به نظر می رسد انویدیا (حداقل برای مدتی) بر روی راه حل های سخت افزاری/نرم افزاری کار خواهد کرد تا این مشکل را موقتا برطرف کند.
اگر به طور ساده بخواهیم تفاوت قابلیت Asynchronous را در کارت های شرکت رقیب توضیح دهیم میتوانیم بگوییم که در کارت های شرکت AMD تمامی پردازش های مربوطه به صورت سخت افزاری صورت میگیرد اما در کارت های انویدیا، بخشی از این امور به صورت نرم افزاری صورت می گیرد.
منبع
منبع