ورود
ثبت نام
صفحه اصلی
اخبار بازی
بررسی بازی
حقایق بازیها
داستان بازی
بررسی سخت افزار
برنامههای ویدیویی
انجمنها
نوشتههای جدید
پرمخاطبها
جستجوی انجمنها
جدیدترینها
ارسالهای جدید
آخرین فعالیتها
کاربران
کاربران آنلاین
جستجو
جستجو فقط عنوان ها
توسط:
جستجو فقط عنوان ها
توسط:
ورود
ثبت نام
جستجو
جستجو فقط عنوان ها
توسط:
جستجو فقط عنوان ها
توسط:
Menu
Install the app
Install
فراخوان عضویت در تحریریه بازیسنتر | برای ثبت درخواست کلیک کنید
صفحه اصلی
انجمنها
تکنولوژی و سخت افزار
کارت گرافیک
DX12 دارای قابلیتهایی برای نسل آینده GPU ـها خواهد بود.[ پست اول تاپیک حتماً خوانده ]
ارسال پاسخ
JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.
You are using an out of date browser. It may not display this or other websites correctly.
You should upgrade or use an
alternative browser
.
متن گفتگو
<blockquote data-quote="LiviNG D3AD" data-source="post: 3852738" data-attributes="member: 30435"><p>Ashes of the Singularity فقط در مورد DX12 و APIـه Low Level و Overhead پایین برای CPU و ... نیست. اتفاقاً روی GPUهای Nvidia بازی رو خیلی خوب برای DX11 بهینه کردن و خود نتایج هم نشون میدن (این بهینه سازیها یک ماه قبل از اینکه این بنچمارکها بیرون بیان انجام شدن). بحث اینجا سر یک قابلیت هست که حتی جزو Feature Levelهای DX12 هم معرفی نشده (همون Multiengine یا Async Compute) که در معماری GCN بسیار بهتر و کاملتر کار شده و میتونه تأثیر مستقیم روی بهرهوری GPU و کیفیت گرافیکی بازیها داشته باشه و حتی در کنار این قابلیت، قابلیتهای دیگهی DX12 هم هستن که میتونن باز به بهینهتر شدن کدها و ماکزیمم شدن پرفورمنس GPUها کمک کنن (و حتی چیزهای جدیدتر و بیشتری هم برای اضافه شدن به فیچرهای کلی DX12 هم وجود دارن که هنوز اضافه نشدن).</p><p></p><p>اینکه DX12 میتونه به بازیهایی مثل Ashes of the Singularity که استراتژی هستن و آبجکتهای زیادی رو همزمان برای پردازش دارن (CPU Bound هستن) کمک کنه یک بحث هست و اینکه با Async Compute میشه از واحدهای پردازشی GPU که به دلایل مختلف و در مراحل مختلف کار نمیکنن استفاده کرد و حدود 30% پرفورمنس بالاتر گرفت هم یک بحث دیگست. این دو تا رو نباید با هم قاطی کرد. مورد اول برای بازیهایی خوب هست که به این منظور طراحی شدن ولی مورد دوم میتونه برای خیلی از بازیها با انجین بروز صدق کنه.</p><p></p><p></p><p></p><p>برای XB1 فکر میکنم تازه اوایل 2015 قابلیت Async Compute رو روی ورژن بهینه تر و Low Level شده DX11 پیاده سازی کردن و هنوز این قابلیت تحت DX12 احرا نشده که اگر بشه احتمالاً نتایج بسیار بهتری هم میتونن بگیرن. از طرفی برای استفاده از Async Compute هم لازم نیست که حتماً تعداد زیادی ACE یا Queue داشته باشید. یعنی بودن Queueهای بیشتر به خودی خود بد نیست و شاید بتونه در یسری موارد کمک هم بکنه ولی تعداد بیش از حد و استفاده بیش از حد از اونها هم میتونه بخاطر Overheadـی که ایجاد میکنه از پرفورمنس سیستم کم کنه. اولیه ترین معماری GCN یا Gen1/GCN 1.0 از 2 تا Queue برای پردازشهای موازی غیر همزمان استفاده میکنه که با همون 2 تا هم میشه به نتایج خوبی رسید.</p><p></p><p>بحث PS4 بیشتر در مورد Fine Grain Async Compute بود با ایده کلی در خصوص خرد کردن پردازشها و حداکثر استفاده از واحدهای پردازشی بلا استفاده. در واقع یه چیزی شبیه HyperThreading در CPU ها که چندتا پردازش رو بطور همزمان به یک هسته CPU میدادن و با اینکار راندمان کلی رو بالاتر میبردن اما در مورد CPUها الزاماً با بیشتر کردن کارها از 2 مورد نتایج بهتری بدست نمیاد و خیلی وقتها هم باعث افت راندمان میشه. حالا ایده کلی AMD برای این تعداد ACE و Queue هم همین هست. منتهی باید توجه داشت که چندتا واحد پردازشی مستقل در هر GPU هست و زیاد کردن Jobها برای هر کدوم از این واحدهای پردازشی چه تبعاتی داره (چون قاعدتاً هر Job برای بکارگیری منابع موجود مثل ALUها و کشها و پهنای باند و ... با بقیه Jobها رقابت میکنه و ممکنه با زیاد بودنشون در کار همدیگه اختلال ایجاد کنن که معمولاً هم این کار رو میکنن).</p><p></p><p>لپ کلام اینکه زیادتر بودن ACE و Queue الزاماً به پرفورمنس سیستم اضافه نمیکنه (نسبت به GPUهایی که ACE و Queueهای کمتری دارن) و خود بازیسازها هم نمیتونن بازی رو برای تک تک سیستمها طراحی و مدیریت کنن و این کار رو خود API باید به عهده بگیره. و حتی اگر هم با بهترین نوع برنامه نویسی و ... بتونن چنین کاری رو هم با ACE و Queueهای بیشتر انجام بدن باز هم فکر نمیکنم بتونن به درصدهای خیلی بالاتری برسن. در هر صورت با توجه به این نکته که یک GPU از نظر انعطاف پذیری و مدیریت منابع خیلی ضعیفتر و دست و پا بسته تر از CPU ها هستش و اینکه پرفورمنس CPUها هم با زیادتر شدن Jobها بطور خطی بیشتر نمیشه میشه گفت که همین مسأله در مورد GPUها هم صدق میکنه. PS4 دارای 64 تا Queue و XB1 دارای 16 تا Queue برای این نوع پردازشها هستن (از نظر طراحان XB1 این مقدار برای GPUـه XB1 کافی بوده) و همین مقدار (برای XB1) هم از خیلی از GPUهای موجود در بازار بیشتر هست.</p><p></p><p>در مورد خود XB1 و معماریش هم بعد از گذشت این همه وقت واقعاً حرف زدن و نظر دادن (اونم نظرات رادیکال و ...) جرأت و جسارت میخواد. ولی الان و بعد از مشخص شدن یسری نکات و خصوصیات و Bottleneckهای کلی ناشی از بکاربردن DX12 شاید بشه یسری نظراتی داد که هم به واقعیت نزدیک باشن و هم توضیح بهتری در مورد یسری انتخابها و طراحیها در ساخت XB1 اشاره کنن. کلیت ماجرا این هست که بنظر میاد XB1 با اعمال یسری تغییرات ریز و درشت در معماریش سعی داشته یسری از این Bottleneckهای ناشی از DX12 رو رفع کنه (بنظر من اینجور میاد) اما در عین حال فکر میکنم که چنین بحثها و پیشبینیهای ارزش وقت گذاشتن و ... رو ندارن، بهتره اگر چیزی هست خود سازندگان XB1 بهش اشاره کنن نه من و امثال من (که فعلاً در بهترین حالت میشه گفت همشون 2-3 سالی رفتن گل بچینن و در بدترین حالت هم میشه گفت ما توهم زدیم).</p><p></p><p></p><p></p><p>مسأله دقیقاً همین هست که 980 ti که آخرین معماری و بیشترین پرفورمنس GPUهای Nvidia رو داره روی DX12 نتایج مشابه 290X ارائه میده و به درخواست Nvidia قابلیت Async Compute رو برای این GPU غیر فعال کردن (این یعنی تعداد 32 تا Compute Queue صرفاً مهم نیست و نوع طراحی و انعطاف پذیریش هم مهمه) و حتی سازنده موتور بازی هم برگشته گفته GPUهای Nvidia از Async Compute ساپورت نمیکنن و نمیدونن چرا درایورهای Nvidia طوری نشون میدن که انگار از Async Compute ساپورت میکنه. حالا این وسط کی اشتباه میگه و کی درست رو باید صبر کرد و دید.</p></blockquote><p></p>
[QUOTE="LiviNG D3AD, post: 3852738, member: 30435"] 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% پرفورمنس بالاتر گرفت هم یک بحث دیگست. این دو تا رو نباید با هم قاطی کرد. مورد اول برای بازیهایی خوب هست که به این منظور طراحی شدن ولی مورد دوم میتونه برای خیلی از بازیها با انجین بروز صدق کنه. برای 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 سالی رفتن گل بچینن و در بدترین حالت هم میشه گفت ما توهم زدیم). مسأله دقیقاً همین هست که 980 ti که آخرین معماری و بیشترین پرفورمنس GPUهای Nvidia رو داره روی DX12 نتایج مشابه 290X ارائه میده و به درخواست Nvidia قابلیت Async Compute رو برای این GPU غیر فعال کردن (این یعنی تعداد 32 تا Compute Queue صرفاً مهم نیست و نوع طراحی و انعطاف پذیریش هم مهمه) و حتی سازنده موتور بازی هم برگشته گفته GPUهای Nvidia از Async Compute ساپورت نمیکنن و نمیدونن چرا درایورهای Nvidia طوری نشون میدن که انگار از Async Compute ساپورت میکنه. حالا این وسط کی اشتباه میگه و کی درست رو باید صبر کرد و دید. [/QUOTE]
Insert quotes…
Verification
پایتخت ایران
ارسال نوشته
صفحه اصلی
انجمنها
تکنولوژی و سخت افزار
کارت گرافیک
DX12 دارای قابلیتهایی برای نسل آینده GPU ـها خواهد بود.[ پست اول تاپیک حتماً خوانده ]
Top
نام کاربری یا ایمیل
رمز عبور
نمایش
رمز عبور خود را فراموش کرده اید؟
مرا به خاطر بسپار
ورود
اگر میخواهی عضوی از بازی سنتر باشی
همین حالا ثبت نام کن
or ثبتنام سریع از طریق سرویسهای زیر
Twitter
Google
Microsoft