Frame Capture Analysis Tool (FCAT) – новий метод оцінки продуктивності

Сторінки матеріалу
  • Вступ, програмні методи, нагальні проблеми, FCAT: як це працює, апаратна частина, програмна частина, оцінка результатів
  • GTX 1660 дешевший 1060">GTX 1660 дешевший 1060
  • 1660 дешевше 1060 - Gigabyte WF
  • Конкурс "AeroCool". Призи за репост!">Конкурс AeroCool. Призи за репост!

Зміст

Вступ

analysis

Відеокарті в принципі не має значення, який тип відображення до неї підключений, будь то проектор або високошвидкісна матриця. Вона видаватиме максимальну кількість кадрів залежно від навантаження. Але в даному випадку переважна кількість моніторів буде не в змозі відобразити кадри, які виходять за межі фізичних можливостей матриці (всі ті, що перевищують 60 FPS). Пристрій виведення завжди працює на фіксованій частоті, малюючи кожен кадр за 16 мс (60 кадрів в секунду), звідси виникають проблеми із синхронізацією двох різних частот.

tool

Процес виведення та розрахунку картинки зароджується в ігровому двигуні.

capture

Настав час познайомитися з питаннями вимірювання продуктивності графічної складової ПК ближче.

Програмні методи

Нагальні проблеми

Правильність виміру продуктивності. Як ви вже зрозуміли, існує кілька точок, з яких можна вилучити потрібні дані, але не всі вони будуть вірними. Те, як робить це програма FRAPS – найпростіший і найпопулярніший, але не зовсім правильний метод. Вона, до речі, може дати конкретні дані про час побудови кадру.

Нерівномірність виведення кадрів особливо помітна таких конфігураціях. Адже не секрет, що багато користувачів попри гарні результати скаржаться на некомфортне сприйняття ігрового процесу.Мультиграфічні зв'язки найчастіше видають більше 60 кадрів в секунду, але при їх нерівномірному відмальовуванні, якщо один кадр малюватиметься 8 мс, а наступний - 45 мс, відчуття ривків сильно загострюється.

Навіть правильне використання FRAPS неможливе без визначення меж вимірювання частоти кадрів за секунду. Незважаючи на миттєву реакцію, ви не зможете не помилитись на момент, коли потрібно включити збір даних.

FCAT – як це працює

capture

FCAT – це апаратно-програмний комплекс, суть якого зводиться до вимірювання продуктивності, видимої нашими очима на моніторі.

Компанія NVIDIA вже кілька років використовує FCAT у своїх лабораторіях для аналізу, поліпшення продуктивності та виявлення проблемних місць, особливо у випадку SLI-систем з двох і більше графічних процесорів. Утиліта FCAT позиціонується як виключно точний інструмент, здатний повністю замінити програмні методи вимірювання 3D-продуктивності.

FCAT – апаратна частина

tool

capture

Але високі дозволи на кшталт 2560-1600 і 5760-1600 вимагають дуже велику пропускну здатність, масу вільного місця на накопичувачах і високу швидкість лінійного запису, що робить витівку тестування практично нереалізованою. На жаль, навіть окремий SSD, встановлений у сусідній PCI-e слот, коректно не заробив.

До системи захоплення є кілька особливих вимог:

  • Вільний PCI-Express x16 слот;
  • Масив дисків, здатних на льоту записувати велику кількість інформації.

Відеопотік, що генерується грою у Full HD роздільній здатності, сягає 250-300 Мбайт/с. Якщо ви намагаєтеся записати інформацію в роздільній здатності 2560-1440, то доведеться задуматися про три і більше SSD ємністю не менше 256Гбайт в Raid 0. Причому поки що йдеться лише про 60 Гц, коли кожну секунду передається не більше 60 к/с. Якщо ми візьмемо для прикладу сучасні монітори 120 Гц, цифри треба помножити на два. У такому випадку для захоплюючої системи знадобиться окремий контролер та зв'язування SSD.

FCAT – програмна частина

analysis

Вони й відзначають межі повністю, або частково відмальованих кадрів. Інша програма аналізує ці кадри та визначає час, а відповідно і частоту кадрів, а також не повністю виведені (або взагалі не відмальовані) кадри. Надалі вся інформація перетворюється або на графічний вигляд, або в таблиці.

analysis

В ідеальному вигляді для плавної зміни зображень у грі вони повинні показуватись з однією частотою (наприклад, цю проблему частково вирішує включення VSync), але насправді при відключеній технології VSync таке практично неможливо, і кадри з'являються на екрані монітора за різний час. Як наслідок, виникають так звані відкинуті кадри та неповноцінні кадри (кадри із замалою тривалістю).

capture

Поява відкинутих кадрів на екрані найчастіше проявляється у системах з кількома GPU, коли кадр просто не був виведений на екран. Такі моменти добре знайомі користувачам, але не завжди видно неозброєним оком. Та й при правильному настроюванні ігрових опцій, коли середня кількість відмальованих кадрів не опускається нижче 30-40 к/с, вони практично непомітні. Але як тільки справа доходить до важких режимів, відкинуті кадри розривають послідовний ряд зображень і сильно дратують.

frame

analysis

Це означає, що кадр відображався на екрані занадто малий час і практично не помітний на око.

Причин на те досить багато, але знайвагомішою я вас познайомлю. У процесі створення кадру двигуном гри відбувається різка зміна сцени, а дані вже обробляються грою, у разі кадр легко відсівається внутрішнім алгоритмом. Та частина даних, що вже оброблена, надходить на порт DVI і виводиться на надмалу кількість часу. Насправді, неповноцінні кадри видно як значні розриви зображення, що легко видно неозброєним поглядом при паузі, але майже непомітні при русі, оскільки тривалість такого кадру занадто коротка, щоб людське око і мозок встигли його сприйняти.

Подібні явища неможливо відстежити програмним методом, тому FRAPS ніколи не впізнає та не покаже їх вам. У його всесвіті всі кадри, оброблені двигуном гри та API, є відмальованими і підлягають підрахунку. Загалом FRAPS дає нам дані із підвищеною продуктивністю і не вміє аналізувати важливу складову ігрового процесу – якість картинки.

Пакет FCAT, навпаки, дуже суворий та уважний. З його допомогою можна оцінити кількість неповноцінних та розірваних кадрів.

Оцінка результатів

Після виконання всіх етапів тестування у розпорядження дослідника потрапляє масив оброблених даних. Найцікавішими будуть графіки з наочною демонстрацією того, що відбувалося на моніторі, доки ви грали.

analysis

Чорною смугою показується кількість кадрів, на думку сторонніх утиліт, що беруть дані з неправильного проміжку рендерингу картинки. Синя смуга показує справжню продуктивність з урахуванням відкинутих кадрів. Руді області забарвлення говорять про обсяг недомальованих кадрів, а червоні області – пропущені кадри.

Висловлюємо подяку:

  • Компанії NVIDIA за допомогу у підготовці матеріалу.