- PVSM.RU - https://www.pvsm.ru -

NVIDIA GTX970 — практика ущербности, часть 1

Недавно мы говорили о видеокартах [1], подробно изучали внутренний мир NVIDIA GTX 970 [2] и причины некоторого… возмущения публики относительно её объёмов памяти. GTX 970 действительно имеет на борту все 4 гигабайта памяти, но на полной скорости доступны 3.5 ГБ – причину этого мы уже рассматривали, а сегодня посмотрим, так ли страшен чёрт, как его малюют.

NVIDIA GTX970 — практика ущербности, часть 1 - 1


Предисловие

На всякий случай, если кто-то невнимательно читал часть до ката. Это — вторая часть материала, посвящённого производительности видеокарты NVIDIA GTX 970, которую я пытаюсь написать максимально доступным языком. Первую можно найти вот здесь [2], третья выйдет ASAP на этой неделе. Сегодня мы познакомимся с общими положениями в игроиндустрии, с тем, куда девается память и почему её нужно много. А заодно оценим, сколько именно нужно, посмотрим, что намерили зарубежные бенчмаркеры и оверклокеры, и хватит ли трёх с половиной гигабайт для комфортной игры.

О игровых движках

Движков сейчас наплодилось неприличное количество. Самые популярные — Unity, Unreal, Source, CryEngine, Gamebryo и Rage. У всех у них свои плюсы и минусы, свои особенности и своя «характерная» рисовка, которую не перебьёт никакая стилизация. Кроме этих могучих штуковин существуют всякие inhouse-велосипеды из костылей, которые применяются для конкретных игр конкретными разработчиками, написанные с нуля или выкупленные у компаний, которые разрабатывали движок когда-то давно, и дополненные-улучшенные-обновлённые самими разработчиками под нужды их игрушки.

image [3]

Все эти движки (за редким исключением, которое сегодня рассматривать не будем) оперируют привычными для видеокарт понятиями: моделями, состоящими из треугольников-полигонов, текстурами, которые на эти самые модели натягиваются и делают цветными, шейдерами, которые рассчитывают освещение и затенение объектов.

image

Всё это в сумме реализует потрясающую картинку, которую мы с вами видим на мониторах. К сожалению, большинство расчётов с целью оптимизации выполняются с приближениями, а большинство эффектов — искусные подделки, которые позволяют улучшить картинку «малой кровью»: например, не деформировать реальную поверхность, а создать иллюзию деформации при помощи освещения и хитрых наложений специальных фильтров, изменяющих картинку в зависимости от угла зрения.

NVIDIA GTX970 — практика ущербности, часть 1 - 4

Задумывались ли вы когда-нибудь, сколько расчётов требуется провести для одного кадра? Вот простой пример: вы вышли зимой на балкон в одной футболке, трусах и тапочках. На улице минус двадцать. Вам холодно. За этим понятием «холодно» стоит огромное количество эффектов на микроуровне: в частности, молекулы воздуха колебались с меньше частотой, чем молекулы вашего тела. Соударяясь, они забирали часть энергии и ускорялись, окружающие вас слои воздуха нагревались, а ваша кожа — остывала. Дальше магия химии, физики и биологии сотворила ещё несколько чудес и в вашей голове родилась мысль о том, что неплохо бы вернуться в тёплый дом. Из-за того, что на улице молекулы воздуха не так сильно трясутся.

Вот примерно такой же уровень абстракции отделяет вас, зрителя и игрока, от той кухни, которая варится внутри видеокарты. Подробно о формировании трёхмерной графики можно почитать вот здесь [4] или ознакомиться с циклом статей haqreu [5], который наглядно рассказывает обо всех этапах формирования красивой картинки.

Что влияет на производительность

Помимо настроек игры (качества текстур, моделей и спецэффектов) существует два параметра, которые кардинально изменяют результаты тестов. Первый — разрешение, то есть размер итоговой картинки, которую будет расчитывать и выводить видеочип много раз в секунду.

Допустим, у вас допотопный монитор с разрешением 640х480 точек, каждая из которых может отображать 65 535 цветов (16-и битный режим). Таким образом, каждый готовый кадр (без какого либо сжатия) будет минимум занимать 640х480х16 бит (2 байта) — то есть около 600 КБ. За секунду неплохо бы показывать зрителю хотя бы 24 кадра — уже 14.4 МБ информации.

Недопотопный монитор — 1920х1080 и 32-х битный режим — уже почти 2 миллиона точек по 4 байта, итого почти 8 мегабайт несжатой информации и 190 мегабайт для 24 кадров.

4k2k монитор обладает вдвое большим разрешением по каждой из осей — 3840x2160 точек, то есть вчетверо больше площадь каждого кадра, почти 32 мегабайта каждая картинка, и 780 МБ только на хранение буфера из 24 кадров. Помимо этого требуется где-то хранить модели, текстуры (причём для одной модели текстур может быть и 5, и 10 и 15 штук — с разными видами повреждений, материалов, спецэффектов), параметры освещения, а если игра умеет работать с NVIDIA PhysX — ещё и физические расчёты.

Разумеется, всё это дело можно сжать, но на это потребуются лишние миллисекунды, к тому же монитору потом эту картинку назад «разжимать»… В общем, разрешение само по себе влияет ощутимо. А теперь представьте, что каждую точку картинки надо посчитать, скажем, проведя 20 операций — сложений, умножений, делений и так далее…

image

Понятно, почему для высоких разрешений сильно падает производительность?

Второй важный аспект, задевающий производительность — вертикальная синхронизация [14]: так как частота выпуска готовых кадров на заводе-видеокарте может зависеть от многих факторов, а потребителю-монитору подавай ровно 50/60/100 кадров в секунду (в зависимости от модели и выставленных настроек) — для выравнивания темпов производства применяют специальные буфферы и технологии синхронизации, которые позволяют как избегать «перепроизводства» кадров, так и избегать ощутимой «просадки» FPS в некоторых случая и увеличить общую плавность картинки. Для тестирования производительности её обычно выключают, так как она негативно сказывается на максимальных результатах. В реальном же сценарии использования V-sync обычно, наоборот, включают, чтобы избежать «лесенки» и неприятных эффектов от несовпадения частоты обновления кадров монитора и трёхмерных приложений:

image

Оптимизация

Помимо, собственно, разрешения дисплея, на качество user experience
Как узнать самое популярное «среднее» игровое железо? Посмотреть статистику одного из крупнейших дистрбьютеров ПК-игр: компании Valve и её сервиса Steam. Так как клиент Steam имеет доступ к железякам пользователей и регулярно просит отправить статистику, а игроки в целом любят померяться длиной… собственного эго, то у Valve собралась самая свежая и актуальная информация о железе, на котором люди играют.

Переходим по ссылке http://store.steampowered.com/hwsurvey/ [15], открываем раздел Primary Display Resolution, смотрим, где там самые большие проценты:

Почти 34% у FullHD (1920х1080), за ним идёт 1376х768 (привет от ноутбуков) с 26.5%, почти 12.5% суммарно у разрешений 1600х900 и 1680х1050.

Дисплеи с разрешением 2560х1440, 2560х1600 и 3840х2160 имеют суммарно(!) меньше 2% на рынке. Таким образом любители хай-реза как минимум в меньшинстве, и «затачивать» игровые движки под высокие разрешения пару лет назад было как минимум не модно, как максимум — просто нерационально. Поэтому некоторые игры не только потребляют закономерно больше ресурсов на разрешении 2560х1440 и выше, но ещё и откровенно сливают в производительности FullHD из-за кривой оптимизации. К счастью, современное железо обладает приличным запасом производительности и позволяет преодолевать даже такие преграды.

Производительность GTX970

Синтетические бенчмарки — один из способов узнать, насколько мощна видеокарта, как она распоряжается своими ресурсами, где её сильные и слабые стороны. Минусом синтетических тестов является сам сценарий тестирования: они выявляют максимальную производительность видеокарты, не стремясь ни к реальной оптимизации в условиях игрового процесса, ни к реальным сценариям использования. Последнее время используются в основном 3DMark и Unigine. Вот что показала GTX 970 в «синтетике» у ребят из 3Dnews.ru:

NVIDIA GTX970 — практика ущербности, часть 1 - 7

Как видите, в чисто синтетическом «вычислительном» тесте GTX 970 показывает отличные результаты: не сильно отстает от GTX 980 (которая в полтора раза дороже), кое-где превосходит Radeon R9 290X, которая в прошлом обеспечивала сравнимую с GTX 780Ti производительность. Бонусы архитектуры Maxwell хорошо заметны в тесте Unigine Valley: на разрешении 1920х1080 GTX 970 уверено обходит красно-белого конкурента, однако…

NVIDIA GTX970 — практика ущербности, часть 1 - 8

Однако на разрешении 2560х1440 начинает выигрывать R9 290X. Об этом поговорим чуть позже.

Более «честными» методами измерения являются тесты производительности, встроенные в игровые движки: они используют и реальную графику, с которой вы столкнётесь в той или иной игрушке, и, зачастую, нагружают не только видеокарту, но и центральный процессор: расчётами физики, поведения ИИ, работой внутриигровых скриптов и прочими прелестями. Результаты таких тестов могут быть существенно ниже синтетических, если игровой движок написан из рук вон плохо и разработчики просто не озаботились вопросами оптимизации: производительность может «упираться» не в возможности видеокарты, а, например, в работу процессора или скорость чтения информации с диска. Одними из самых прожорливых и сравнительно неплохо оптимизированных игрушек являются Battlefield 4, Crysis 3, Metro: Last Light, серия игрушек про Batman’а. Все они используют ресурсы современных ПК на максимум, выдавая наиболее убедительную и красивую картинку.

image

Чтобы не быть субъективным, не привязываться к конкретному вендору, не зависеть от производительности какого-то определённого железа давайте возьмём несколько обзоров GTX 970 (1 [16], 2 [17], 3 [18], 4 [19]) и сравним результаты. Пусть их методики и тестовое железо незначительно отличаются, но порядок значений (и кто кого превосходит в реальных тестах) будет всегда примерно одинаковым. Для того чтобы в этом убедиться, посмотрим результаты бенчмарка BF4:

Battlefield 4, Ultra на разрешении 1920х1080

image

NVIDIA GTX970 — практика ущербности, часть 1 - 11

NVIDIA GTX970 — практика ущербности, часть 1 - 12

NVIDIA GTX970 — практика ущербности, часть 1 - 13

А вот что творится на более высоких разрешениях — 2560х1440(1600) и 3840х2160:

image

NVIDIA GTX970 — практика ущербности, часть 1 - 15

NVIDIA GTX970 — практика ущербности, часть 1 - 16

NVIDIA GTX970 — практика ущербности, часть 1 - 17

Как видите, результаты показывают примерно одинаковую картинку: на разрешении 1920х1080 GXT 970 показывает отличные результаты, зачастую превосходя результаты как флагманов прошлого поколения, так и топовой одночиповой видеокарты AMD R9 290X. С повышением же разрешения картина несколько меняется: без разгона GTX 970 начинает уступать красно-белому конкуренту, причём чем выше разрешение — тем больше проигрыш. Однако, GTX 970 имеет пару козырей в рукаве.

Для краткости не будем рассматривать все тесты, а ознакомимся с выводами каждого из обзоров. Вот что насчитали в Tom’s Hardware на тему средней производительности в играх для GTX 970 относительно других моделей видеокарт:

image

image

Быть может, GeForce GTX 970 и не ставит новых рекордов производительности, но её цена однозначно делает хай-энд видеокарты более доступными. За $330 она показывает результаты, сравнимые с Radeon R9 290X, видеокартой, которая сейчас стоит на $170 больше. Мы не ожидали увидеть настолько мощный продукт за цену меньшую, чем $400, которые просят за Radeon R9 290, что автоматом делает последнюю не такой привлекательной покупкой.

Оригинал:

As for the GeForce GTX 970, it may not bring performance to a new level, but its price definitely makes high-end performance more accessible. At $330 it delivers frame rates comparable to the Radeon R9 290X, a card that currently sells for an average price of about $170 more. We did not expect to see a product this potent at a price tier significantly below the $400 Radeon R9 290, which has suddenly become less appealing.

К сожалению, курс доллара и всякие прочие экономические процессы вводят свои корректировки, и цена на хороший вариант R9 290X [20] сопоставима с GTX 970 [21] на сегодняшний день, но факт остаётся фактом: куда более прожорливая в плане питания видеокарта с «честными» 4 ГБ памяти не всегда выигрывает у менее мощной GTX 970 с «убогими» 4 ГБ.

Что пишут остальные обзорщики? Да примерно то же самое, с поправкой на то, что цены выросли в полтора-два раза на многое железо. Почти везде GTX 970 называют самым удачным и перспективным приобретением и не затрагивают вопрос 3.5 ГБ памяти. Что ж, раз в обзорах самих видеокарт вопрос не затрагивается, необходимо погуглить «разборы полётов».

Сколько необходимо памяти

Для игр в FullHD-разрешении (1920х1080 точек) мы уже определили, что GTX 970 явно не упирается в объёмы высокоскоростной памяти: все тесты показывали убедительное превосходство даже над технически более мощной R9 290X. Но что происходит с разрешениями 2560x1440, 2560х1600 и 3840х2160 точек?

В интернете этим вопросом уже задавлись [22] специалисты Overclockers.ru, и вот их вывод:

Суматоха вокруг GeForce GTX 970 кому-то явно была на руку. Технические характеристики видеокарты подобраны таким способом, чтобы в 99.9% случаев удовлетворять запросам современных игр. А в тех случаях, когда объем памяти недостаточен, начинает сказываться нехватка производительности GM204. Иными словами, если бы теоретически не было «проблемы 3.5 Гбайт», пользователи вряд ли бы заметили какие-то изменения.

Вот ещё один видео-пруф от зарубежного ресурса:


Если timestamp не работает — смотреть с ~ 3:22.

В двух словах — основные игровые проекты с выдающейся графикой на разрешениях 2560х1440 и выше потребляют примерно 3.5 ГБ памяти — иногда чуть больше, иногда чуть меньше, но в целом высокоскоростная память GTX 970 справляется с нагрузкой отлично, а если игра и выходит из 3.5 ГБ лимитов, то на производительности реальных игр это практически не сказывается, чего не скажешь о синтетических тестах.

Получается, памяти достаточно, а вот производительности самого GМ204 — не всегда. Впрочем, всегда можно немного спустить настройки игры — разницы между «ультра-супер-премиум» качеством и просто «высоким / максимальным» на глаз в пылу сражения вы просто не увидите — не до того будет. А в кат-сценах обнаружить, что текстурки стали не идеально чёткими, а почти идеально… В общем, фигня всё это. :)

image

На этом мы сегодня прервёмся, а через пару дней ждите завершающую, третью часть статьи: в ней мы самостоятельно измерим производительность и потребление памяти, поговорим о «старых» играх, высоком разрешении, особенностях архитектуры Maxwell и о том, как в некоторых тестах слить старушке 7970, а в некоторых — взорвать результаты R9 290X.

Наши обзоры:
» Подключаем оригинальные геймпады к ПК [23]
» Razer Abyssus: самый доступный Razer [24]
» Nikon 1 S2: однокнопочная беззеркалка [25]
» Обзор Lenovo Miix 3-1030 [26]
» Разбираемся в арт-хаосе компании Wacom [27]
» ASUS ZenFone 5, LG L90, HTC Desire 601 — двухсимочная война за потребителя, часть 1 [28]
» ASUS Transformer Pad [29]
» Гарнитуры Razer Kraken [30]

Цикл PC Buyer’s Guide:
» PC Buyer's guide: выбор видеокарты [1]
» PC Buyer's Guide: выбор блока питания [31]
» PC Buyer's Guide: охлаждение [32]
» PC Buyer's Guide 2015: Материнские платы, чипсеты и сокеты [33]
» Кручу-верчу, запутать хочу. Разбираемся в линейках HDD [34]

Автор: Shirixae

Источник [35]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/sravnenie/88232

Ссылки в тексте:

[1] видеокартах: http://geektimes.ru/company/ulmart/blog/247776/

[2] NVIDIA GTX 970: http://geektimes.ru/company/ulmart/blog/248354/

[3] Image: http://habrastorage.org/getpro/geektimes/post_images/cc4/544/e9f/cc4544e9f323891a5c416dfa42e5d188.jpg

[4] вот здесь: http://geektimes.ru/post/247680/

[5] haqreu: http://geektimes.ru/users/haqreu/

[6] Статья 1: алгоритм Брезенхэма: http://habrahabr.ru/post/248153/

[7] Статья 2: растеризация треугольника + отсечение задних граней: http://habrahabr.ru/post/248159/

[8] Статья 3: Удаление невидимых поверхностей: z-буфер: http://habrahabr.ru/post/248179/

[9] 4а: Построение перспективного искажения: http://habrahabr.ru/post/248611/

[10] 4б: двигаем камеру и что из этого следует: http://habrahabr.ru/post/248723/

[11] 4в: новый растеризатор и коррекция перспективных искажений: http://habrahabr.ru/post/249467/

[12] Статья 5: Пишем шейдеры под нашу библиотеку: http://habrahabr.ru/post/248963/

[13] Статья 6: Чуть больше, чем просто шейдер: просчёт теней: http://habrahabr.ru/post/249139/

[14] вертикальная синхронизация: https://ru.wikipedia.org/wiki/%D0%92%D0%B5%D1%80%D1%82%D0%B8%D0%BA%D0%B0%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F_%D1%81%D0%B8%D0%BD%D1%85%D1%80%D0%BE%D0%BD%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F

[15] http://store.steampowered.com/hwsurvey/: http://store.steampowered.com/hwsurvey/

[16] 1: http://www.overclockers.ru/lab/63992/Obzor_i_testirovanie_videokarty_NVIDIA_GeForce_GTX_970.html

[17] 2: http://www.hardwareluxx.ru/index.php/artikel/hardware/grafikkarten/32127-geforce-gtx-970-test.html

[18] 3: http://www.3dnews.ru/905374

[19] 4: http://www.tomshardware.com/reviews/nvidia-geforce-gtx-980-970-maxwell,3941-7.html

[20] R9 290X: http://www.ulmart.ru/goods/668481

[21] GTX 970: http://www.ulmart.ru/goods/954552

[22] задавлись: http://www.overclockers.ru/lab/67498/issleduem-problemu-s-pamyatju-videokarty-nvidia-geforce-gtx-970.html

[23] Подключаем оригинальные геймпады к ПК: http://geektimes.ru/company/ulmart/blog/248110/

[24] Razer Abyssus: самый доступный Razer: http://geektimes.ru/company/ulmart/blog/247942/

[25] Nikon 1 S2: однокнопочная беззеркалка: http://geektimes.ru/company/ulmart/blog/247626/

[26] Обзор Lenovo Miix 3-1030: http://geektimes.ru/company/ulmart/blog/246340/

[27] Разбираемся в арт-хаосе компании Wacom: http://geektimes.ru/company/ulmart/blog/245854/

[28] ASUS ZenFone 5, LG L90, HTC Desire 601 — двухсимочная война за потребителя, часть 1: http://geektimes.ru/company/ulmart/blog/245646/

[29] ASUS Transformer Pad: http://geektimes.ru/company/ulmart/blog/245210/

[30] Гарнитуры Razer Kraken: http://geektimes.ru/company/ulmart/blog/245040/

[31] PC Buyer's Guide: выбор блока питания: http://geektimes.ru/company/ulmart/blog/247326/

[32] PC Buyer's Guide: охлаждение: http://geektimes.ru/company/ulmart/blog/246480/

[33] PC Buyer's Guide 2015: Материнские платы, чипсеты и сокеты: http://geektimes.ru/company/ulmart/blog/245952/

[34] Кручу-верчу, запутать хочу. Разбираемся в линейках HDD: http://geektimes.ru/company/ulmart/blog/245404/

[35] Источник: http://geektimes.ru/post/248662/