DX12 دارای قابلیتهایی برای نسل آینده GPU ـها خواهد بود.[ پست اول تاپیک حتماً خوانده ]

  • Thread starter Thread starter DieDie
  • تاریخ آغاز تاریخ آغاز
پس این وعده وعید انویدیا چی میشه واسه دایرکت 12 (کارتهای سری 900 ) خودم به شخصه به دلیل دایرکت 12 رفتم سمت انویدیا :|ولی به نظرم تا یه بازی با پشتیبانی کامل از دایرکت 12 ساخته نشه و بنچمارکاش از کارتای هر دو شرکت بیرون نیاد

نمیشه قضاوت کرد
 
Ashes of the Singularity الان مقایسه درستی نیست که دارید میکنید حرف انودیا کاملا درست
ساپورت نداشتن بازی از کارت انودیا ، الان تمام دمو که با موتور UE4 انجام شده افزایش پروفنمنس انودیا میشه دید
Unreal Engine 4 Elemental DX12 در یوتیوب سرچ کنید یا فایل میتونید بگیرید که 1 گیگ حجم
 
چیزی که شما نقل قول کردید کم و بیش درسته منتهی نظر نا کامل شخصی خارج از تیم اکسید هست، دلیل دقیقتر این تفاوت رو خود سازنده بازی امروز بیان کرده که میتونید در این پست بخونید:

[Various] Ashes of the Singularity DX12 Benchmarks - Page 121

در واقع گفته که انجین اونها که تحت DX12 هست از Async Compute پشتیبانی میکنه و در حالی که درایورهای GPUهای Nvidia نشون میدن که از Async Compute پشتیبانی میکنن اما در عمل توانایی این کار رو ندارن یا احتمالاً میشه گفت برای انجام این کار از راه‌های نرم افزاری استفاده میکنن (بر خلاف GPUهای AMD با معماری GCN که ساپورتش از این قابلیت سخت افزاری هست). و حتی گفته که اونها به درخواست Nvidia این قابلیت رو برای کارتهای Nvidia خاموش کردن. این در حالی هست که گفتن با استفاده از Async Compute میشه حدود 30% به پرفورمنس بازیها اضافه کرد (البته این یک چیز ثابت نیست و میتونه کمتر هم بشه بسته به نوع بازی). در این تصویر هم میتونید ببینید که هر معماری این دو شرکت چند تا دستور گرافیکی و چند تا دستور محاسباتی رو میتونه ساپورت کنه:

confusion_reignsiduwo.png

سه تا نکته در مورد جدول بالا وجود داره:

1- برای GCN 1.0 تعداد ACE ها و Queueها برابر هستن، یعنی GCN 1.0 کلاً دو تا Queue داره.
2- برای GCN 1.1/1.2 تعداد Queueها در هر ACE هشت تا هست (یعنی باید ضرب در 8 بشه). یعنی GCN 1.1/1.2 دارای 64 Queue هستن.
3- برای معماری GCN (نسل اول تا سوم) انجام کامپیوت و گرافیک بطور همزمان امکان پذیر هست یعنی Compute Processorها و Command Processor میتونن در کنار هم کار کنن. اما برای GPU های Nvidia فقط سری Maxwell 2 دارای این قابلیت هست که اون هم احتمالاً بخاطر مناسب نبودن طراحیش در مقایسه با 290X نتونسته خوب ظاهر بشه.

در واقع دلیل اصلی این تفاوتها پشتیبانی ضعیف Nvidia از Async Compute بیان شده (که این هم حدس یا اطلاعات دسته اول سازنده انجین بازی هست). اما هنوز مقایسه‌ای انجام نشده که نشون بده چه مقدار Queue برای انجام این محاسبات کافی، چه مقدار از اونها بهینه هستن. PS4 از 64 Queue برای GPUـش استفاده کرده و XB1 هم از 16 تا Queue (که فکر میکنم مشابه 7790 باشه) در کنار دو تا Command Processor استفاده کرده.

نکته مثبت این هست که تمامی GPUهای AMD که با معماری GCN هستن از این قابلیت پشتیبانی میکنن و کلاً برای بکارگیری چنین روشهایی انعطاف پذیری بیشتری دارن.

با این حساب اختلاف فنی و پتانسیلی که gpu ps4داره تا چند وقت دیگه باید انتظار اختلاف بازدهی بیشتری نسبت به xone هم باشیم
 
با این حساب اختلاف فنی و پتانسیلی که gpu ps4داره تا چند وقت دیگه باید انتظار اختلاف بازدهی بیشتری نسبت به xone هم باشیم

تو بازیای PS4 همین الان دارن از Async compute استفاده میکنن چون این قابلیت از روز اول فعال بوده نمونش Battlefield و ISS, احتمالا اولین بازی ایکه روی Xone از Async compute استفاده کنن TR باشه.
eSRAM خوراک Async compute هست.
 
izae_nvuntitled.jpg


اوکساید رو نمیدونم قضیش چی هست ولی تا اونجا که من دیدم سری 9 انویدیا قابلیت هندل 31 compute queues داره حتی طوری طراحی شده که تو حالت Compute mode خالص 32 تا compute queues رو هندل کنه.
 
Ashes of the Singularity الان مقایسه درستی نیست که دارید میکنید حرف انودیا کاملا درست
ساپورت نداشتن بازی از کارت انودیا ، الان تمام دمو که با موتور UE4 انجام شده افزایش پروفنمنس انودیا میشه دید
Unreal Engine 4 Elemental DX12 در یوتیوب سرچ کنید یا فایل میتونید بگیرید که 1 گیگ حجم

Ashes of the Singularity فقط در مورد DX12 و APIـه Low Level و Overhead پایین برای CPU و ... نیست. اتفاقاً روی GPUهای Nvidia بازی رو خیلی خوب برای DX11 بهینه کردن و خود نتایج هم نشون میدن (این بهینه سازیها یک ماه قبل از اینکه این بنچمارکها بیرون بیان انجام شدن). بحث اینجا سر یک قابلیت هست که حتی جزو Feature Levelهای DX12 هم معرفی نشده (همون Multiengine یا Async Compute) که در معماری GCN بسیار بهتر و کاملتر کار شده و میتونه تأثیر مستقیم روی بهره‌وری GPU و کیفیت گرافیکی بازیها داشته باشه و حتی در کنار این قابلیت، قابلیتهای دیگه‌ی DX12 هم هستن که میتونن باز به بهینه‌تر شدن کدها و ماکزیمم شدن پرفورمنس GPUها کمک کنن (و حتی چیزهای جدیدتر و بیشتری هم برای اضافه شدن به فیچرهای کلی DX12 هم وجود دارن که هنوز اضافه نشدن).

اینکه DX12 میتونه به بازیهایی مثل Ashes of the Singularity که استراتژی هستن و آبجکتهای زیادی رو همزمان برای پردازش دارن (CPU Bound هستن) کمک کنه یک بحث هست و اینکه با Async Compute میشه از واحدهای پردازشی GPU که به دلایل مختلف و در مراحل مختلف کار نمیکنن استفاده کرد و حدود 30% پرفورمنس بالاتر گرفت هم یک بحث دیگست. این دو تا رو نباید با هم قاطی کرد. مورد اول برای بازیهایی خوب هست که به این منظور طراحی شدن ولی مورد دوم میتونه برای خیلی از بازیها با انجین بروز صدق کنه.

با این حساب اختلاف فنی و پتانسیلی که gpu ps4داره تا چند وقت دیگه باید انتظار اختلاف بازدهی بیشتری نسبت به xone هم باشیم

برای XB1 فکر میکنم تازه اوایل 2015 قابلیت Async Compute رو روی ورژن بهینه تر و Low Level شده DX11 پیاده سازی کردن و هنوز این قابلیت تحت DX12 احرا نشده که اگر بشه احتمالاً نتایج بسیار بهتری هم میتونن بگیرن. از طرفی برای استفاده از Async Compute هم لازم نیست که حتماً تعداد زیادی ACE یا Queue داشته باشید. یعنی بودن Queueهای بیشتر به خودی خود بد نیست و شاید بتونه در یسری موارد کمک هم بکنه ولی تعداد بیش از حد و استفاده بیش از حد از اونها هم میتونه بخاطر Overheadـی که ایجاد میکنه از پرفورمنس سیستم کم کنه. اولیه ترین معماری GCN یا Gen1/GCN 1.0 از 2 تا Queue برای پردازشهای موازی غیر همزمان استفاده میکنه که با همون 2 تا هم میشه به نتایج خوبی رسید.

بحث PS4 بیشتر در مورد Fine Grain Async Compute بود با ایده کلی در خصوص خرد کردن پردازشها و حداکثر استفاده از واحدهای پردازشی بلا استفاده. در واقع یه چیزی شبیه HyperThreading در CPU ها که چندتا پردازش رو بطور همزمان به یک هسته CPU میدادن و با اینکار راندمان کلی رو بالاتر میبردن اما در مورد CPUها الزاماً با بیشتر کردن کارها از 2 مورد نتایج بهتری بدست نمیاد و خیلی وقتها هم باعث افت راندمان میشه. حالا ایده کلی AMD برای این تعداد ACE و Queue هم همین هست. منتهی باید توجه داشت که چندتا واحد پردازشی مستقل در هر GPU هست و زیاد کردن Jobها برای هر کدوم از این واحدهای پردازشی چه تبعاتی داره (چون قاعدتاً هر Job برای بکارگیری منابع موجود مثل ALUها و کشها و پهنای باند و ... با بقیه Jobها رقابت میکنه و ممکنه با زیاد بودنشون در کار همدیگه اختلال ایجاد کنن که معمولاً هم این کار رو میکنن).

لپ کلام اینکه زیادتر بودن ACE و Queue الزاماً به پرفورمنس سیستم اضافه نمیکنه (نسبت به GPUهایی که ACE و Queueهای کمتری دارن) و خود بازیسازها هم نمیتونن بازی رو برای تک تک سیستمها طراحی و مدیریت کنن و این کار رو خود API باید به عهده بگیره. و حتی اگر هم با بهترین نوع برنامه نویسی و ... بتونن چنین کاری رو هم با ACE و Queueهای بیشتر انجام بدن باز هم فکر نمیکنم بتونن به درصدهای خیلی بالاتری برسن. در هر صورت با توجه به این نکته که یک GPU از نظر انعطاف پذیری و مدیریت منابع خیلی ضعیفتر و دست و پا بسته تر از CPU ها هستش و اینکه پرفورمنس CPUها هم با زیادتر شدن Jobها بطور خطی بیشتر نمیشه میشه گفت که همین مسأله در مورد GPUها هم صدق میکنه. PS4 دارای 64 تا Queue و XB1 دارای 16 تا Queue برای این نوع پردازشها هستن (از نظر طراحان XB1 این مقدار برای GPUـه XB1 کافی بوده) و همین مقدار (برای XB1) هم از خیلی از GPUهای موجود در بازار بیشتر هست.

در مورد خود XB1 و معماریش هم بعد از گذشت این همه وقت واقعاً حرف زدن و نظر دادن (اونم نظرات رادیکال و ...) جرأت و جسارت میخواد. ولی الان و بعد از مشخص شدن یسری نکات و خصوصیات و Bottleneckهای کلی ناشی از بکاربردن DX12 شاید بشه یسری نظراتی داد که هم به واقعیت نزدیک باشن و هم توضیح بهتری در مورد یسری انتخابها و طراحیها در ساخت XB1 اشاره کنن. کلیت ماجرا این هست که بنظر میاد XB1 با اعمال یسری تغییرات ریز و درشت در معماریش سعی داشته یسری از این Bottleneckهای ناشی از DX12 رو رفع کنه (بنظر من اینجور میاد) اما در عین حال فکر میکنم که چنین بحثها و پیشبینی‌های ارزش وقت گذاشتن و ... رو ندارن، بهتره اگر چیزی هست خود سازندگان XB1 بهش اشاره کنن نه من و امثال من (که فعلاً در بهترین حالت میشه گفت همشون 2-3 سالی رفتن گل بچینن و در بدترین حالت هم میشه گفت ما توهم زدیم).

izae_nvuntitled.jpg


اوکساید رو نمیدونم قضیش چی هست ولی تا اونجا که من دیدم سری 9 انویدیا قابلیت هندل 31 compute queues داره حتی طوری طراحی شده که تو حالت Compute mode خالص 32 تا compute queues رو هندل کنه.

مسأله دقیقاً همین هست که 980 ti که آخرین معماری و بیشترین پرفورمنس GPUهای Nvidia رو داره روی DX12 نتایج مشابه 290X ارائه میده و به درخواست Nvidia قابلیت Async Compute رو برای این GPU غیر فعال کردن (این یعنی تعداد 32 تا Compute Queue صرفاً مهم نیست و نوع طراحی و انعطاف پذیریش هم مهمه) و حتی سازنده موتور بازی هم برگشته گفته GPUهای Nvidia از Async Compute ساپورت نمیکنن و نمیدونن چرا درایورهای Nvidia طوری نشون میدن که انگار از Async Compute ساپورت میکنه. حالا این وسط کی اشتباه میگه و کی درست رو باید صبر کرد و دید.
 
مسأله دقیقاً همین هست که 980 ti که آخرین معماری و بیشترین پرفورمنس GPUهای Nvidia رو داره روی DX12 نتایج مشابه 290X ارائه میده و به درخواست Nvidia قابلیت Async Compute رو برای این GPU غیر فعال کردن (این یعنی تعداد 32 تا Compute Queue صرفاً مهم نیست و نوع طراحی و انعطاف پذیریش هم مهمه) و حتی سازنده موتور بازی هم برگشته گفته GPUهای Nvidia از Async Compute ساپورت نمیکنن و نمیدونن چرا درایورهای Nvidia طوری نشون میدن که انگار از Async Compute ساپورت میکنه. حالا این وسط کی اشتباه میگه و کی درست رو باید صبر کرد و دید.

منم اتفاقا همین تیکه پست طرف رو خوندم تعجب کردم توی بنچمارک Async compute کلا روی کارت انویدیا شات دان شده در حالیکه یه سایتی مثل Anandtech نوشته این قابلیت رو داره:

AMD Dives Deep On Asynchronous Shading

خیلی عجیبه که این فیچر رو نداشته باشه ولی جزو فیچرهاش لیست کرده باشن!!!!

- - -ویرایش - - -

تو بازیای PS4 همین الان دارن از Async compute استفاده میکنن چون این قابلیت از روز اول فعال بوده نمونش Battlefield و ISS, احتمالا اولین بازی ایکه روی Xone از Async compute استفاده کنن TR باشه.
eSRAM خوراک Async compute هست.
یه دوستی خصوصی گفت که اگه برای این حرفا منبع داری بزار:

g744_async_games_small.png


منبع اول اسلایدهای AMD هست.
لینک

منبع دوم هم اسلایدهای مایکروسافت هست

pml4_inside-xbox-one-by-martin-fuller-8-1024.jpg



منبع سوم هم گفته های سازنده بازی هست که توی تاپیک بازی تو قسمت xo لینکشو گذاشتم.
 
منم اتفاقا همین تیکه پست طرف رو خوندم تعجب کردم توی بنچمارک Async compute کلا روی کارت انویدیا شات دان شده در حالیکه یه سایتی مثل Anandtech نوشته این قابلیت رو داره:

AMD Dives Deep On Asynchronous Shading

خیلی عجیبه که این فیچر رو نداشته باشه ولی جزو فیچرهاش لیست کرده باشن!!!!

- - -ویرایش - - -


یه دوستی خصوصی گفت که اگه برای این حرفا منبع داری بزار:

g744_async_games_small.png


منبع اول اسلایدهای AMD هست.
لینک

منبع دوم هم اسلایدهای مایکروسافت هست

pml4_inside-xbox-one-by-martin-fuller-8-1024.jpg



منبع سوم هم گفته های سازنده بازی هست که توی تاپیک بازی تو قسمت xo لینکشو گذاشتم.

موضوع این نیست که حالا تو یکی دو بازی استفاده شده باشه. مسئله اینجاست که یواش یواش همونطور که سرنی پیش بینی کرده از سال سوم به بعد این موضوع تو بازی ها عمومی میشه و بازی های مولتی هم استفاده میکنن که خوب به طبعش تاثیراتش هم مشخص میشه.
 
Ryan Cooper یه مصاحبه با Gamingbolt داشته گفته ما در مورد DX12 خیلی هیجان زده هستیم و من فکر میکنم پتانسیل خیلی زیادی در اون وجود داره ولی ما هیچ برنامه ای برای استفاده از DX12 برای Forza 6 نداریم.

Ryan Cooper: We’re really excited about DX12 and I think there is going to be a ton of potential with that. However, We’re don’t have any plans for using DX12 in Forza Motorsport 6.

Forza Motorsport 6 Interview: Setting A New Bar for Racing Games GamingBolt.com: Video Game News, Reviews, Previews and Blog
 
Ashes of the Singularity فقط در مورد DX12 و APIـه Low Level و Overhead پایین برای CPU و ... نیست. اتفاقاً روی GPUهای Nvidia بازی رو خیلی خوب برای DX11 بهینه کردن و خود نتایج هم نشون میدن (این بهینه سازیها یک ماه قبل از اینکه این بنچمارکها بیرون بیان انجام شدن). بحث اینجا سر یک قابلیت هست که حتی جزو Feature Levelهای DX12 هم معرفی نشده (همون Multiengine یا Async Compute) که در معماری GCN بسیار بهتر و کاملتر کار شده و میتونه تأثیر مستقیم روی بهره‌وری GPU و کیفیت گرافیکی بازیها داشته باشه و حتی در کنار این قابلیت، قابلیتهای دیگه‌ی DX12 هم هستن که میتونن باز به بهینه‌تر شدن کدها و ماکزیمم شدن پرفورمنس GPUها کمک کنن (و حتی چیزهای جدیدتر و بیشتری هم برای اضافه شدن به فیچرهای کلی DX12 هم وجود دارن که هنوز اضافه نشدن).

اینکه DX12 میتونه به بازیهایی مثل Ashes of the Singularity که استراتژی هستن و آبجکتهای زیادی رو همزمان برای پردازش دارن (CPU Bound هستن) کمک کنه یک بحث هست و اینکه با Async Compute میشه از واحدهای پردازشی GPU که به دلایل مختلف و در مراحل مختلف کار نمیکنن استفاده کرد و حدود 30% پرفورمنس بالاتر گرفت هم یک بحث دیگست. این دو تا رو نباید با هم قاطی کرد. مورد اول برای بازیهایی خوب هست که به این منظور طراحی شدن ولی مورد دوم میتونه برای خیلی از بازیها با انجین بروز صدق کنه.

سلام ممنون عزیز من الان این مطلب گفتید جریان گرفتم چون خبر نداشتم در یوتیوب الان دیدم عملکرد چطوری
الان در پارات اپلود کردم همه ببین خیلی ساده باچند مقایسه کوچیک رو ریل قطار عملکرد نشون میده در این ویدئو حتما ببینید.
[video=aparat;slr4G]http://www.aparat.com/v/slr4G[/video]

این هم بنچمارک مربوطه هست
www.aparat.com/v/RVse2


پ.ن : .لی بلاخره من نگرفتم انودیا تکلیف چی شد هیچ خبر فعلا از سمت انودیا نیست ایا کارت این قابلیت DX12 لحاظ کرده یا نه خاموش ؟!
 
آخرین ویرایش:
gvwk_percentile.001-1.png.001-980x720.png



=========================


axci_percentile.002-980x720.png



می تونه برای دوستان جالب باشه R9 290X نسل قبل با GTX 980 TI نسل حاضر تفاوت ها در حدو 2 الی 3 فریم در وضوح تصویر متفاوت
 



=========================





می تونه برای دوستان جالب باشه R9 290X نسل قبل با GTX 980 TI نسل حاضر تفاوت ها در حدو 2 الی 3 فریم در وضوح تصویر متفاوت
این بنچمارک از نسخه بتا این بازی ـست و خیلی وقت هم هست منتشر شده و بازخورد های بسیاری داشته ، مسئله مربوط به عدم توانایی پردازش ناهمگام پردازشگر انویدیا هست که به احتمال بسیار زاد نرم افزاری ـست و مشکل قابل رفع ـست و مشکلی وجود نداره . اگه دقت کنید میبینید که در DX12 کاهش پرفورمنس رو مشاهده میکنید در انیویا.
 
این بنچمارک از نسخه بتا این بازی ـست و خیلی وقت هم هست منتشر شده و بازخورد های بسیاری داشته ، مسئله مربوط به عدم توانایی پردازش ناهمگام پردازشگر انویدیا هست که به احتمال بسیار زاد نرم افزاری ـست و مشکل قابل رفع ـست و مشکلی وجود نداره . اگه دقت کنید میبینید که در DX12 کاهش پرفورمنس رو مشاهده میکنید در انیویا.

الان بحث Async Compute در فرومها و سایتهای بازی خیلی زیاد شده. حتی تستهایی رو هم بر مبنای DX12 برای تست پرفورمنس پردازشهای گرافیکی، Compute و Async Compute انجام دادن و چیزی که تا الان مشاهده کردن این هست که روی GPUهای انویدیا (حتی Maxwell 2) روند انجام محاسبات و Taskها سریالی هست و قابلیت انجام این عملیات بطور موازی رو ندارن. در واقع GCN از این نظر خیلی جلوتر از Maxwell 2 هست.

اینکه بنچمارک روی DX12 کمتر میشه هم شاید دلیلش این باشه که اولاً حتی همین ورژن از بازی رو یک ماه قبل از عرضه‌اش بخوبی برای DX11 بهینه کردن (پردازشهای سریالی) و روی DX12 هم باز بخاطر طراحی سخت افزاری (GPUهای Nvidia) محاسبات رو سریالی انجام میده با این تفاوت که دیگه بهینه سازیها در سطح درایور خود انویدیا نیستن (روی DX12 اهمیت درایورها خیلی کمتر از DX11 هست و اصل کار بهینه سازی رو باید روی انجینها و کد نویسی خود بازیها انجام بدن) و انجین بازی باید برای کارتهای انویدیا بهینه شده باشه. پس طبیعی هست که بهینه سازیهای خود Nvidia روی درایورهای DX11 کمی بهتر از بهینه سازیهای بازیساز روی انجینهای تحت DX12 باشه. البته این احتمال هم هست که باز بتونن انجین بازی رو برای GPUهای Nvidia بهتر هم بکنن.
 
دوستان پس چرا amd بهتر عمل میکنه رویdx12؟خب اگه انویدیا بهینه نیست amd هم بهینه نیست.
میتونیم تو این زمینه amd رو بهتر دونست؟
به آخرش کاری ندارم فعلا همینی که هست رو اگه مورد بررسی قرار بدیم نتیجه چی میشه؟
------
ظاهرا خیلی مونده تا جا بیفته اینdx12.
یعنی باید منتظر بهینه کردن سازنده باdx12،dx12 باخود کارت گرافیک و در آخر آپدیت های درایور های مختلف که معلوم نیست کی میان.در حالی که روی amd نتیجه بهتر هست.
 

کاربرانی که این گفتگو را مشاهده می‌کنند

Top
رمز عبور خود را فراموش کرده اید؟
اگر میخواهی عضوی از بازی سنتر باشی همین حالا ثبت نام کن
or