انویدیا با معرفی FCAT فصل تازهای را در بررسی تخصصی عملکرد کارتهای گرافیک آغاز کرد
همانطور که توضیح دادیم، میانگین سرعت اجرای بازیها و بنچمارکهای مختلف تنها عامل تعیینکننده در انتخاب بهترین کارتگرافیک نیستند. به عنوان مثال فرض کنید یک کارت گرافیک خاص، میانگین سرعت اجرای بالاتری دارد، قطعاً در برخی صحنهها ممکن است سرعت آن نسبت به مدل دیگری که میانگین سرعت پایینتری داشته، کمتر باشد.
نتیجهای که میخواهیم بگیریم این است که روش قدیمی که معمولاً مورد استفادهی بازیخورها و دوستداران دنیای سختافزار بود، یک اشکال بزرگ دارد و این اشکال نادیده گرفتن توانایی کارت گرافیک در سختترین شرایط پردازشی است.
اما موضوع را بیشتر بررسی کنیم و سراغ مثالهای واقعی برویم تا همه چیز روشن شود.
یک ثانیه از نظر کامپیوتر زمان بسیار زیادی است، از نظر ادراک انسانی هم زمان کوتاهی نیست. بنابراین اگر میانگین سرعت در بازه زمانی 1 ثانیه ملاک مقایسه باشد، قطعاً تفاوت کارایی دو سیستم مختلف به طور کامل روشن نمیشود. در ابتدا به یک مثال غیرواقعی بپردازیم.
دو سیستم مختلف را در نظر بگیرید که قرار است تصاویری را رندر کنند. در دو تصویر زیر نتیجهی کار نشان داده شده است. محور عمودی نشاندهندهی زمان لازم برای رندر شدن فریمها بر حسب میلیثانیه بوده و محور افقی شمارهی فریمها را نشان میدهد.
در سیستم دوم تمام فریمها بعد از گذشت زمان تقریبی 30 میلیثانیه رندر میشوند و کاربر تصاویر را مشاهده میکند اما در سیستم اول یکی از فریمها با 0.5 ثانیه تأخیر رندر میشود و باقی فریمها بعد از 15 میلیثانیه تکمیل میشوند. سیستم اول سرعت بهتری دارد ولی در مورد فریم شمارهی 397 وضعیت اسفبار است و کاربر به خوبی افت سرعت را تشخیص میدهد.
فکر میکنید سرعت این دو سیستم در اجرای این آزمایش چه قدر باشد؟
در سیستم دوم که زمان رندر شدن هر فریم 30 میلیثانیه است، در بازهی زمانی 1 ثانیه یا 1000 میلیثانیهای، حدود 33 فریم رندر میشود. اما در سیستم اول، 0.5 ثانیه برای یک فریم و 0.5 ثانیهی دیگر برای 33 فریم! بنابراین سرعت 34 فریم بر ثانیه رکورد سیستم اول است. نتیجهی بنچمارکهای قدیمی چیز شبیه به شکل زیر است:
علت بروز مشکل در کارت گرافیک سیستم اول ممکن است مدیریت بد حافظه توسط درایور کارت گرافیک باشد، ممکن است نوع دستورات پردازشی در یک لحظهی خاص طوری باشد که کارت گرافیک به خوبی از پس اجرای آن برنیاید. به هر حال هر علتی که داشته باشد، برتری گرافیک سیستم اول را تحتالشعاع خود قرار میدهد. قطعاً سیستم دوم به هنگام اجرای بازی یا تست، حرکات طبیعیتر و روانتری را نمایش میدهد اما نهایتاً سیستم اول است که میانگین سرعت بالاتری دارد.
اما به مثالهایی از دنیای واقعی هم بپردازیم. در بازیهای سنگینی که اخیراً عرضه شدهاند، دومین کارت گرافیک تک هستهای کمپانی AMD یعنی HD 7950 و مدل گیگاهرتزی آن که به HD 7950 GHz Edition معروف است قدرت بالای خود را نشان داده و همه ما زومیتیها نسبت به آن واقفیم. اما جالب است که در برخی تستها علیرغم رکورد 69 فریم بر ثانیهای به عنوان میانگین سرعت اجرای بازی، صحنههایی وجود دارد که سرعت به شدت افت میکند. البته کمپانی AMD هم نسبت به این موضوع کاملاً آگاه بوده و برای بهبود عملکرد کارت گرافیک تلاش میکند. سادهترین راه حل بهینه کردن درایور کارت گرافیک است که امیدواریم نتیجهی خوبی هم داشته باشد.
برای حل چنین مشکلی راه درازی پیش روی سازندگان کارت گرافیک است اما در همین حین، مشکلات دیگری هم شناسایی شده که اولین تلاشهای منتقدین برای واشکافی کامل موضوع بینتیجه مانده است. به عنوان مثال دلایل محکمی برای ضعف عملکرد سیستمهای متشکل از 2 کارت گرافیک یا بیشتر، پیدا شده و نام این مشکل خاص، مایکرو-استاتِرینگ یا لُکنت ریز انتخاب شده است. وجود این مشکل قطعی است اما برای اندازهگیری افت عملکرد، به مشکل دیگری برمیخوریم و آن نرمافزاری است که با آن به اندازهگیری سرعت میپردازیم.
نرمافزار مورد استفاده Fraps است که نمونهها را از اولین مراحل در فرآیند پردازش یک فریم انتخاب میکند. هر دو سازندهی بزرگ کارت گرافیک یعنی AMD و انویدیا میگویند نتایج فرَپس چندان مورد اعتماد نیست و همهی حقایق را بازگو نمیکند.
خوشبختانه انویدیا زودتر تصمیم گرفت که به کمک منتقدین بیاید و در پیدا کردن جواب این پرسش که «مقدار تأخیر در رندر شدن فریم چه قدر است؟» به آنها کمک کند. انویدیا ابزار جدیدی به نام FCAT را معرفی کرده که مخفف Frame Capture and Analysis Tools یا ابزارهای ضبط فریم و تحلیل آن میباشد و به منتقدین این امکان را میدهد که زمان دقیق رندر شدن یک فریم را تعیین کنند. با این ابزار حقایق جالبی در مورد تمام مراحل رندر و نمایش مکشوف میشوند و مشکل اصلی سیستمهای دارای چند کارتگرافیک روشن میگردد.
هنگام اجرای بازی چه مراحلی برای نمایش تصویر روی نمایشگر طی میشوند؟
برای بررسی عمیقتر مشکلات در ابتدا بهتر است با نحوهی ایجاد محیط بازی آشنا شویم. در بیشتر موتورهای سهبعدی که برای ساخت و اجرای بازی به کار میروند، همه چیز در یک حلقهی بزرگ تکرار میشود و حرکات ایجاد میشوند. بازی در شروع هر حلقه ورودیهای مختلف را دریافت میکند، مثلاً دکمههای صفحه کلید، ورودی موس و صدا و مانند آن و سپس وضعیت فیزیکی که شبیهسازی دنیای واقعی است ارزیابی میگردد. صداهایی که باید پخش شوند و تصاویری که میبایست در این لحظه رندر شوند، مشخص میشود و از اینجای کار به بعد واسط برنامه نویسی گرافیک سهبعدی وارد عمل شده و محاسبات موردنیاز را در اختیار درایور گرافیک و صدا قرار میدهد. DirectX و OpenGL دو واسط برنامهنویسی پرکاربرد برای بازیها هستند و روز به روز پیشرفتهتر میشوند.
به تصویر زیر توجه کنید که نمایشی بسیار ساده از یک حلقه است:
درایورها کدهای نوشته شده را به زبان ماشین تبدیل نموده و به پردازندهی گرافیکی واگذار میکنند تا پردازش لازم صورت گیرد. به عبارت دیگر درایور نقش مترجم به زبان ماشین را ایفا میکند. نتیجهی کار پردازنده یا پردازندههای گرافیکی، فریمهای رندر شده است که در بافر قرار میگیرد. معمولاً بافر شامل صفی از 2 یا 3 فریم متوالی است که باید در زمان مناسب روی نمایشگر به تصویر کشیده شوند.
بعد از این مرحله همه چیز به تنظیماتی که در کنترل پنل کارت گرافیک یا منوهای بازی انجام دادهاید، بستگی پیدا میکند.
فرآیند رندر فریمها با سرعت خاصی در هر لحظه انجام میشود و فریمها یکی پس از دیگری وارد بافر میشوند اما نمایشگر هم تنظیمات خودش را دارد و تصویر را با سرعت و روش خاصی نمایش میدهد. پنلهای LCD امروزی از این لحاظ شباهت زیادی به مانیتورهای حجیم CRT در گذشته دارند به این صورت که پیکسلهای موجود روی یک خط افقی، از چپ به راست آپدیت میشوند و خطوط نیز از بالا به پایین به روز میشوند. البته این بروز شدن معمولاً با سرعت بالایی در حد 50 یا 60 بار در ثانیه صورت میگیرد و کاربر آن را تشخیص نمیدهد.
VSync در بازیها و تنظیمات کارت گرافیک چیست و چه آثاری دارد؟
منظور از Vsync که حتماً آن را در منوی تنظیمات یا ستینگ بازیها و همچنین پنل تنظیمات کارت گرافیک دیدهاید، Vertical refresh Synchronization یا همگامسازی عمودی تصویر است. البته توجه کنید که ممکن است عنوان دیگری داشته باشد، مثل تصویر زیر از پنل تنظیمات کارت گرافیکهای AMD که عنوان Wait for Vertical Refresh به معنی انتظار برای نوسازی عمودی انتخاب شده است:
با فعال کردن Vsync، سیستم و نمایشگر طوری هماهنگ میشوند که نوسازی فریم همزمان با نمایش فریم بعدی توسط نمایشگر صورت بگیرد. به این ترتیب اثری از پدیدهی tearing یا پارگی تصویر دیده نخواهد شد.
در تصویر زیر از بازی Borderland 2 به وضوح مشاهده میکنید که فریمها همزمان با تغییر تصویر در نمایشگر تعویض نشدهاند و لذا نیمی از فریم قبلی به همراه فریم جدید نمایش داده شده و نتیجهی کار پدیدهی تیرینگ است.
اما اشکالاتی هم در صورت فعال کردن vsync بروز میکند و به همین علت میتوان آن را به اختیار نافعال کرد. اولین مشکل این است که با فعال کردن آن در عملکرد نرمافزارهایی که سرعت اجرا را اندازهگیری میکنند، و از آن جمله فرپس، اختلال ایجاد میشود. علاوه بر این اگر یک فریم هنگام نوسازی تصویر نمایشگر آماده نشده باشد، باید تا نوسازی بعدی صبر کند و سپس به نمایشگر فرستاده شود. همین وقفهی کوتاه منجر به کاهش عملکرد میشود. در واقع vsync باعث میشود که رندر شدن فریم مرحله به مرحله و در زمانهای مشخص انجام شود، نه آزادانه و با هر سرعت دلخواهی.
یکی از راههای غلبه بر این مشکل، استفاده از همگامسازی عمودی تطبیقی یا Adaptive Vsync است که انویدیا آن را معرفی کرده و روش کار آن به این صورت است که اگر سرعت اجرای بازی یا تست کم باشد، موقتاً همگامسازی نافعال میشود تا کارایی در بالاترین حالت خود قرار بگیرد. در صورتی که سرعت اجرا خوب باشد هم، وضعیت vsync فعال میشود. به طور خلاصه وضعیت vsync با سرعت اجرا اَداپته میشود.
با توجه به اثر منفی فعال کردن این قابلیت روی کارایی، بیشتر وبسایتهای تخصصی برای بررسی کارت گرافیک آن را نافعال میکنند اما در کاربردهای روزمره بهتر است آن را فعال کنیم.
Fraps نمونهها را چگونه انتخاب میکند؟
در مورد مراحل آماده شدن فریم صحبت کردیم و حالا به اشکالی که در فرپس و دیگر نرمافزارهای ارزیابی سرعت اجرا وجود دارد برمیگردیم. فرپس سرعت را بر اساس اولین مرحله که موتور بازی یک فریم کامل را به عنوان زمان حال به DirectX معرفی میکند، اندازهگیری مینماید. منظورمان خط نارنجی رنگ در شکل زیر است:
مشخص است که این مرحله جزء ابتداییترین مراحل پردازش فریم میباشد. شاید میپرسید که در یک حلقهی کاری، هر نقطهای را که در نظر بگیریم و سرعت کار را بررسی کنیم، باید یک عدد به دست بیاید. اما موضوع به این سادگی هم نیست. درست است که سرعت متوسط در این جریان پردازشی در تمام نقاط حلقه یک مقدار مشخص است اما در هر لحظه ممکن است در یکی از نقاط کار سریعتر از سایر نقاط پیش برود.
به دو نکتهی زیر توجه کنید:
اولین مسأله بافر است که به عنوان نگهدارندهی موقتی فریمهای رندر شده در انتهای حلقه قرار گرفته و اختلاف سرعت رندر شدن فریمهای مختلف را تا حدی کاهش میدهد و به نظر میرسد که همهی فریمها با یک سرعت رندر میشوند یا لااقل اختلاف سرعت کمتر از مقدار واقعی است.
دومین نکته حالت چند کارت گرافیکی است که یکی از پردازندهها مسئول پردازش فریمهای زوج است و دیگری فریمهای فرد را پردازش میکند. برای انجام یک حلقهی کاری، باید فریمهای پردازش شده توسط یکی از کارت گرافیکها به دیگر منتقل شود و دیگری پس از ارزیابی وضعیت کنونی، فریم بعدی را پردازش کرده و به کارت گرافیک اول ارسال کند. انویدیا تکنولوژی دیگری برای زمانبندی و جابجایی فریمهای رندر شده بین کارت گرافیکها معرفی کرده که موضوع را پیچیدهتر میکند. مشکلی مشابه آنچه قبلاً در مورد vsync مطرح شد، اینجا هم وجود دارد. به عبارت دیگر اینکه یک فریم چگونه و در چه زمانی به نمایشگر فرستاده شود، تحت تأثیر نحوهی انتقال فریم بین دو کارت گرافیک قرار میگیرد.
در روش جدید از انتهای حلقه استفاده میکنیم که سرعت یکنواختتر و البته واقعیتری دارد. جایی که کاربر با آن سروکار دارد و فریمها به نمایشگر میرسند.
فرپس نمونهها را در ابتدای کار انتخاب میکند، جایی که موتور گرافیکی بازی، دستورات را به DirectX میفرستد. اما در روش جدید یا FCAT، از انتهای حلقه استفاده کرده و نمونهها از جایی انتخاب میشوند که فریمها برای نمایش در اختیار نمایشگر قرار میگیرند.
تاریخچه و تجهیزات لازم برای استفاده از FCAT
حدود 1.5 سال قبل از یکی از مسئولین انویدیا به نام تام پترسن در مورد مشکل مایکرو-استاترینگ و مسائل مشابه سوال شده بود و او به سرعت پاسخهای عمیقی به سوالات داد. همین موضوع نشان میدهد که انویدیا و تیم تام پترسن روی این موضوع کار میکردند و اشکال نرمافزاری مثل فرپس برایشان کاملاً روشن بوده است. شواهد نشان میدهند که انویدیا بیش از 2 سال روی FCAT کار کرده است.
به هر حال حالا نرمافزار FCAT حاضر شده ولی برای استفاده از آن نیاز به قطعات سختافزاری خاص و یک پیسی قدرتمند داریم.
در تصویر زیر کارت کپچر ویدیوی Datapath VisionDVI-DL را میبینید که قادر است سیگنال دیجیتال و فشردهنشدهی ویدیو که از طریق اتصال دوتایی DVI منتقل میشود را با سرعت و رزولوشن بسیار بالا ضبط کند. دقیقتر بگوئیم برای ثبت ویدیویی با رزولوشن 2560 در 1440 پیکسل و سرعت 60 فریم بر ثانیه مناسب است.
جالب است بدانید که در چنین ویدیویی اطلاعات با سرعت 422 مگابایت در ثانیه جابجا میشوند که رقم بالایی است.
دومین قطعهی لازم اسپلیتر دوتایی DVI است که خروجی را هم به مانیتور و هم به کارت کپچر مورد نظر ارسال میکند. برای انجام این مأموریت مهم، محصولی از Grafen مناسب به نظر میرسد. انویدیا میگوید اگر از کارتگرافیکهای ساخت خودش استفاده شود، احتمالاً نیازی به ابزاری جهت کپی کردن جریان ویدیو نیست اما با توجه به اینکه کارت گرافیکهای AMD در حالت CrossFire (دو کارت گرافیک AMD که به موازات هم عمل میکنند) امکان کپی کردن را نمیدهند، این قطعه هم در مجموعه تجهیزات FCAT قرار داده شده است.
استفاده از هارد دیسک معمولی که سرعت پایینی دارد هم مشکل آفرین است، لذا از 4 حافظه Corsair Neutron SSD در چیدمان RAID 0 استفاده میشود که در مجموع سرعت نوشتنی در حد 1 گیگابایت در ثانیه را ارائه میکنند. نتیجهی بنچمارک کریستالدیسکمارک را در تصویر روبرو ببینید:
روش استفاده از FCAT و خروجیهای آن
با استفاده از تجهیزات معرفی شده میتوان ویدیوی فشرده نشده را به صورت آنی ذخیره کرد و بعداً به بررسی هر فریم آن پرداخت. پخش فریم به فریم، آهسته، سریع و عادی، و در مجموع همه نوع کار میتوان روی ویدیوی ضبط شده انجام داد. حتی میتوان تکتک فریمها را به آنچه فرپس ثبت کرده مربوط کرد.
اما سوال این است که چطور زمانبندی هر یک از فریمهای ارسال شده به نمایشگر را ارزیابی کنیم؟
انویدیا نرمافزاری به این منظور طراحی کرده که ستونهای رنگی در کنار هر فریم قرار میدهد. رنگبندی ستونها ترتیبی از 16 رنگ مختلف است به نوعی برچسب فریمها به حساب میآید.
حالا با موضوعی پیچیده روبرو میشویم، همانطور که قبلاً گفتیم، با فعال کردن vsync فریمهای رندر شده توسط GPU دقیقاً همان فریمهایی نیستند که روی نمایشگر نمایش داده میشوند. به عنوان مثال تصویر فوق را در نظر بگیرید که 4 فریم متوالی را نمایش میدهد. این 4 فریم معادل 6 فریم پردازش شده توسط پردازندهی گرافیکی میباشند و در واقع پردازندهی گرافیکی با سرعتی بیش از 60 فریم بر ثانیه مشغول به کار است. به همین علت است که 6 فریم را در 4 تصویر نمایشگر مشاهده میشود.
در تصویر زیر فریمی با رنگ سبز نشان داده شده که ترکیبی از دو فریم رندر شده است. نیم پایین تصویر که رنگ آبی دارد، مربوط به فریم بعدی است و البته بخش کوچکی که با رنگ قرمز رنگ شده نیز به یک فریم دیگر مربوط است. تنها بخش سبز رنگ است که فریم فعلی را نشان میدهد.
برای کپچر کردن ویدیو از نرمافزار معروف VirtualDub استفاده شده که به راحتی میتوان فریمها را به کمک آن یک به یک تماشا و بررسی کرد. وقتی تصاویر را بررسی کنید، به خوبی متوجه اتفاقاتی که هنگام رندر شدن فریمها میافتد میشوید و در کل روند نمایش فریمها برایتان جالب خواهد بود.
نرمافزار FCAT Extractor قادر است ویدیوهای که برچسب رنگی دارند را بررسی کرده و یک فایل CSV که شامل تمام اطلاعات لازم برای مراحل پسپردازش است را در اختیار کاربر قرار دهد. به کمک این اطلاعات میتوان مشخص کرد که یک فریم رندر شده در کدامیک از فریمهای نمایش داده شده وجود دارد.
و اما مشکلی که در بررسی ویدیوهای رندر شده توسط برخی کارت گرافیکهای AMD پیش آید این است که نرمافزار مذکور قادر به پردازش ویدیو نیست. به عنوان مثل کپچری که از کارت گرافیک HD 7970 ذخیره شده باشد، در این مرحله به مشکل برمیخورد. پترسن میگوید رنگهای برچسبی که روی ویدیو زده شده، به درستی نمایش داده نمیشود و لذا نرمافزار اکسترکتور را با مشکل روبرو میکند. رنگ صورتی که در ویدیوهای این کارت گرافیک نمایش داده میشود، دارای نویز است و کنتراست خوبی ندارد. به همین علت است که الگوریتمهای FCAT آن را به درستی تشخیص نداده و تفاوت فریمها را به صورت کامل درک نمیکند. همین رنگ در کپچرهای کارت گرافیک GTX 680 کاملاً یکنواخت و دقیق است.
علت بروز مشکل هر چه که باشد باید با آن دست و پنجه نرم کرد. بعد از آماده شدن فایل CSV نوبت به پردازش آن میرسد. به این منظور چند اسکریپت Perl توسط پترسن و دوستانش نوشته شده که خروجیهای مختلفی را در اختیار متخصصین قرار میدهند. به عنوان مثال زمانبندی فریمها مشابه آنچه فرپس ارائه میکرد. آپشنها و فیلترهای زیادی در اسکریپتها دیده میشود و خوشبختانه ویرایش آن هم ساده است. به صورت پیشفرض دو نمودار توسط FCAT ایجاد میشود که میتوان هر یک را دستکاری کرد و به شکلی که خوانندگان بیشتر دوست دارند، درآورد. معمولاً درک سرعت اجرا بر حسب فریم بر ثانیه یا FPS برای خوانندگان سادهتر است و از قدیم به آن عادت کردهاند. به همین علت بیشتر چنین نمودارهایی را در بررسیها میبینیم.
سختافزار به کار رفته در تست کارت گرافیکها
پردازندهی قدرتمند Core i7 3820، مادربوردی با چیپست X79 محصولی از گیگابایت، 16 گیگابایت رم کارسیر ونجینس با سرعت 1600 مگاهرتز و تأخیر 24-9-9-9، چیپست صدای ALC 898 ریلتک، SSD دینِوا محصولی از OCZ و در نهایت سیستم عامل ویندوز 7 سرویس پک 1 در این آزمایش حضور دارند.
درایور محصولات انویدیا نسخهی 314.21 بتا بوده و برای محصولات AMD از نسخهی 13.3 بتا 2 کاتالیست استفاده شده است.
نتیجهی تست در بازی Skyrim
مطابق معمول نتایج فرپس را در کنار نتایج FCAT قرار داده میشود. اسکاریم بازی سنگینی است و هنگام اجرای آن گاهاً سرعت بسیار پایین میآید و گاهی بسیار بالا میرود. به همین علت پرشهای شدیدی در نمودار میبینیم.
تنظیمات اجرای بازی به صورت زیر است:
نتیجهی کار در تصاویر زیر نمایان است:
و اما برای 2 کارت گرافیک که به صورت موازی فعالیت میکنند، نمودارهای زیر حاصل میشود:
شباهت زیادی بین نتایج فرپس و FCAT وجود دارد. به طور کلی FCAT نشان میدهد که سرعت اجرا یکنواختتر از آن چیزی است که فرپس اندازهگیری کرده و قلههای تیز موجود غیرواقعی هستند.
سرعت اجرا در نمودار زیر نشان داده شده است:
به نظر میرسد که در روش قدیمی ارزیابی سرعت، رکورد حالت موازی، دو برابر حالت تکی است. بنابراین 2 کارت گرافیک دقیقاً 2 برابر یک کارت گرافیک سرعت دارند. اما در روش جدید که بر حسب سرعت رندر شدن فریم است، نتیجه کمی متفاوت میباشد.
نمودار زیر را بررسی کنید:
در نمودار فوق زمان لازم برای رندر شدن 99 درصد فریمها نمایش داده شده است. به عنوان مثل یک کارت گرافیک GTX 680 ، حدود 99 درصد فریمها را در کمتر از 16 هزارم ثانیه رندر کرده و 2 کارت گرافیک GTX 680 نیز رکورد 8.9 هزارم ثانیهای را ثبت نمودهاند. سرعت نزدیک به 2 برابر بوده و نتیجه خوب است. اما در مورد HD 7970 GHz سرعت رکورد ثبت توسط 1 و 2 کارت گرافیک به ترتیب 15.4 و 14.7 میلیثانیه است، به هیچ وجه نتیجه 2 برابری حاصل نشده است! البته میانگین سرعت اجرا که فرپس اندازه گرفته به ترتیب 16 و 12 فریم بر ثانیه بوده که افزایش خوبی را نشان میدهد و در واقع 34 درصد افزایش یافته است ولیکن FCAT میگوید که اجرای بازی به هیچ وجه با یک سرعت یکنواخت صورت نگرفته است.
به دو نمودار زیر توجه کنید تا مسأله روشنتر شود:
در مورد GTX 680، درصد زیادی از فریمها در مدت زمان حدود 16 میلیثانیه رندر شدهاند. استفاده از دو کارت گرافیک موازی یا اصطلاحاً SLI شده، زمان لازم را تقریباً نصف کرده و تغییر عجیبی در خط نارنجی رنگ نمیبینیم.
در مورد HD 7970 GHz در حالت موازی یا اصطلاحا CrossFire، تعدادی از فریمها که حدود 40 درصد کل فریمها را شامل میشوند، با سرعت بسیار بالایی رندر شدهاند، یعنی در زمانی کمتر از 3 میلیثانیه! اما برخی از فریمها که حدود 3 درصد کل را شامل میشوند، در زمان بیش از 13 میلیثانیه رندر شدهاند. این موضوع عملکرد ضعیف محصول AMD در حالت موازی را نشان داده و علاوه بر آن تفاوت بین نتایج به دست آمده توسط فرپس و FCAT را برایمان روشن میکند. در واقع اختلاف سرعت رندر شدن فریمها زیاد است و سرعت یکنواختی لازم را ندارد.
در نمودار زیر مدت زمانی که محصول دو کمپانی رقیب، سرعت کمی داشته و بیش از 50 میلی ثانیه برای رندر یک فریم استفاده کردهاند، نشان داده شده است:
مشخص است که انویدیا در حالت تکی و دوتایی سرعت اجرای یکنواختتری دارد، نه بسیار سریع است و نه بسیار کند.
نتیجهی تست در بازی Borderland 2
همه چیز را خلاصه میکنیم و تنها نتایج فرپس و FCAT به همراه نمودار یکنواختی سرعت اجرا را برای بررسی خوانندگان قرار میدهیم.
در این بازی هم GTX 680 انویدیا یکنواختتر از HD 7970 GHz عمل میکند و البته عملکرد محصول AMD در حالت کراسفایر به مراتب بهتر از آن چیزی است که در بازی اسکایریم شاهد بودیم. به نمودار زیر توجه کنید، مدت زمانی که سرعت اجرای بسیار پایین بوده، در مورد محصول انویدیا باز هم بهتر از رقیب قدیمیاش است.
نتیجهی تست در بازی Gulid Wars 2
این بار یک کارت گرافیک HD 7970 GHz یکنواختتر از یک GTX 680 است، در حالت موازی هم عملکرد محصول AMD بهتر بوده، البته توجه کنید که میانگین سرعت اجرای گیلدوار 2 توسط هر دو کارت گرافیک حدود 71 فریم در ثانیه میباشد.
بنابراین همیشه هم انویدیا برنده نیست، در برخی بازیها وضعیت AMD و کارت گرافیک HD 7970 GHz بهتر از رقیبش است.
جمعبندی
FCAT ابزار تازهای برای دنیای بنچمارک و آزمایش سختافزار است و راه درازی در پیش دارد. هنوز سابقهی طولانیای که پشتوانهی نرمافزارهایی مثل Fraps است را در مورد FCAT سراغ نداریم اما قابلیتها و امکانات فعلی آن ستودنی و جذاب است. با FCAT میتوان فریم به فریم پیش رفت و با دقت زیاد به بررسی عملکرد کارت گرافیک پرداخت و لذا نسبت به فرپس دقیقتر و قابل درکتر است.
با توجه به جدید بودن FCAT نمیتوان نتیجهگیری کامل و قضاوت قطعی در مورد آن بیان کرد اما در آیندهی نزدیک با افزایش قابلیتها و امکانات و همچنین برطرف شدن مشکلات آن، زمان نتیجهگیری فرا خواهد رسید.
فرپس در ابتدای حلقهی پردازش فریم قرار میگیرد و FCAT در انتهای آن یعنی جایی که حاصل پردازش کارت گرافیک به نمایشگر ارسال میشود. تفاوت کلیدی دو روش در همین است و اختلاف نتایج از همین موضوع ساده سرچشمه میگیرند. در بیشتر موارد تطابق خوبی بین نتایج این دو روش وجود دارد اما همیشه اینطور نیست.
آزمایشات و بررسیهای مختلف نشان میدهد که محصولات انویدیا در مجموع بازی را با سرعت یکنواختتری اجرا میکنند. در حالت ترکیبی که 2 کارت گرافیک با هم مشغول پردازش فریمها میشوند، عملکرد محصولات انویدیا در مجموع بهتر است گرچه در برخی بازیها هم AMD پیشتاز میدان میباشد.
از نتایج جالبی که به کمک FCAT به دست آمد میتوان به عملکرد تکنولوژی Frame Metering یا زمانبندی انویدیا اشاره کرد. این تکنولوژی با اضافه کردن وقفهای در واگذاری پردازش به دو کارت گرافیک موازی، موجب یکنواختی عملکرد میشود و اثر آن به ویژه در بازی اسکایریم کاملاً مشهود است. البته اضافه شدن وقفه چیز خوبی نیست، کارایی را کاهش میدهد و اختلافی بین زمانبندی موتور گرافیکی بازی و آنچه روی نمایشگر دیده میشود، پیش خواهد آمد ولیکن این اختلاف جزئی در بیشتر موارد چندان مزاحمتی ایجاد نمیکند.
در ادامهی توسعهی FCAT امیدواریم که در تمام مقالات تخصصی بررسی کارت گرافیک مورد استفاده قرار بگیرد و معیار بهتری از عملکرد و کارایی محصولات دو کمپانی AMD و انویدیا در اختیارمان قرار دهد.