Как стать автором
Обновить

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

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


Предисловие


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

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


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

image

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

image

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



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

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


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


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

Допустим, у вас допотопный монитор с разрешением 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 кадров. Само собой, все эти кадры «на секунду вперёд» никто не насчитает, но как минимум 780 мегабайт придётся «пропустить» за секунду только фреймбуфферу.

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



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

image

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

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

image

Оптимизация


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

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

Почти 34% у FullHD (1920х1080), за ним идёт 1366х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:



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



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

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

image

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

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







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







Как видите, результаты показывают примерно одинаковую картинку: на разрешении 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 сопоставима с GTX 970 на сегодняшний день, но факт остаётся фактом: куда более прожорливая в плане питания видеокарта с «честными» 4 ГБ памяти не всегда выигрывает у менее мощной GTX 970 с «убогими» 4 ГБ.

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

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


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

В интернете этим вопросом уже задавлись специалисты 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.

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

Цикл PC Buyer’s Guide:
» PC Buyer's guide: выбор видеокарты
» PC Buyer's Guide: выбор блока питания
» PC Buyer's Guide: охлаждение
» PC Buyer's Guide 2015: Материнские платы, чипсеты и сокеты
» Кручу-верчу, запутать хочу. Разбираемся в линейках HDD
Теги:
Хабы:
+23
Комментарии 21
Комментарии Комментарии 21

Публикации

Информация

Сайт
www.ulmart.ru
Дата регистрации
Дата основания
Численность
1 001–5 000 человек
Местоположение
Россия

Истории