Предисловие
На всякий случай, если кто-то невнимательно читал часть до ката. Это — вторая часть материала, посвящённого производительности видеокарты NVIDIA GTX 970, которую я пытаюсь написать максимально доступным языком. Первую можно найти вот здесь, третья выйдет ASAP на этой неделе. Сегодня мы познакомимся с общими положениями в игроиндустрии, с тем, куда девается память и почему её нужно много. А заодно оценим, сколько именно нужно, посмотрим, что намерили зарубежные бенчмаркеры и оверклокеры, и хватит ли трёх с половиной гигабайт для комфортной игры.
О игровых движках
Движков сейчас наплодилось неприличное количество. Самые популярные — Unity, Unreal, Source, CryEngine, Gamebryo и Rage. У всех у них свои плюсы и минусы, свои особенности и своя «характерная» рисовка, которую не перебьёт никакая стилизация. Кроме этих могучих штуковин существуют всякие inhouse-велосипеды из костылей, которые применяются для конкретных игр конкретными разработчиками, написанные с нуля или выкупленные у компаний, которые разрабатывали движок когда-то давно, и дополненные-улучшенные-обновлённые самими разработчиками под нужды их игрушки.
Все эти движки (за редким исключением, которое сегодня рассматривать не будем) оперируют привычными для видеокарт понятиями: моделями, состоящими из треугольников-полигонов, текстурами, которые на эти самые модели натягиваются и делают цветными, шейдерами, которые рассчитывают освещение и затенение объектов.
Всё это в сумме реализует потрясающую картинку, которую мы с вами видим на мониторах. К сожалению, большинство расчётов с целью оптимизации выполняются с приближениями, а большинство эффектов — искусные подделки, которые позволяют улучшить картинку «малой кровью»: например, не деформировать реальную поверхность, а создать иллюзию деформации при помощи освещения и хитрых наложений специальных фильтров, изменяющих картинку в зависимости от угла зрения.
Задумывались ли вы когда-нибудь, сколько расчётов требуется провести для одного кадра? Вот простой пример: вы вышли зимой на балкон в одной футболке, трусах и тапочках. На улице минус двадцать. Вам холодно. За этим понятием «холодно» стоит огромное количество эффектов на микроуровне: в частности, молекулы воздуха колебались с меньше частотой, чем молекулы вашего тела. Соударяясь, они забирали часть энергии и ускорялись, окружающие вас слои воздуха нагревались, а ваша кожа — остывала. Дальше магия химии, физики и биологии сотворила ещё несколько чудес и в вашей голове родилась мысль о том, что неплохо бы вернуться в тёплый дом. Из-за того, что на улице молекулы воздуха не так сильно трясутся.
Вот примерно такой же уровень абстракции отделяет вас, зрителя и игрока, от той кухни, которая варится внутри видеокарты. Подробно о формировании трёхмерной графики можно почитать вот здесь или ознакомиться с циклом статей haqreu, который наглядно рассказывает обо всех этапах формирования красивой картинки.
Статья 2: растеризация треугольника + отсечение задних граней
Статья 3: Удаление невидимых поверхностей: z-буфер
Статья 4: Необходимая геометрия: фестиваль матриц
4а: Построение перспективного искажения
4б: двигаем камеру и что из этого следует
4в: новый растеризатор и коррекция перспективных искажений
Статья 5: Пишем шейдеры под нашу библиотеку
Статья 6: Чуть больше, чем просто шейдер: просчёт теней
Что влияет на производительность
Помимо настроек игры (качества текстур, моделей и спецэффектов) существует два параметра, которые кардинально изменяют результаты тестов. Первый — разрешение, то есть размер итоговой картинки, которую будет расчитывать и выводить видеочип много раз в секунду.
Допустим, у вас допотопный монитор с разрешением 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 операций — сложений, умножений, делений и так далее…
Понятно, почему для высоких разрешений сильно падает производительность?
Второй важный аспект, задевающий производительность — вертикальная синхронизация: так как частота выпуска готовых кадров на заводе-видеокарте может зависеть от многих факторов, а потребителю-монитору подавай ровно 50/60/100 кадров в секунду (в зависимости от модели и выставленных настроек) — для выравнивания темпов производства применяют специальные буфферы и технологии синхронизации, которые позволяют как избегать «перепроизводства» кадров, так и избегать ощутимой «просадки» FPS в некоторых случая и увеличить общую плавность картинки. Для тестирования производительности её обычно выключают, так как она негативно сказывается на максимальных результатах. В реальном же сценарии использования V-sync обычно, наоборот, включают, чтобы избежать «лесенки» и неприятных эффектов от несовпадения частоты обновления кадров монитора и трёхмерных приложений:
Оптимизация
Как узнать самое популярное «среднее» игровое железо? Посмотреть статистику одного из крупнейших дистрбьютеров ПК-игр: компании 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’а. Все они используют ресурсы современных ПК на максимум, выдавая наиболее убедительную и красивую картинку.
Чтобы не быть субъективным, не привязываться к конкретному вендору, не зависеть от производительности какого-то определённого железа давайте возьмём несколько обзоров GTX 970 (1, 2, 3, 4) и сравним результаты. Пусть их методики и тестовое железо незначительно отличаются, но порядок значений (и кто кого превосходит в реальных тестах) будет всегда примерно одинаковым. Для того чтобы в этом убедиться, посмотрим результаты бенчмарка BF4:
Как видите, результаты показывают примерно одинаковую картинку: на разрешении 1920х1080 GXT 970 показывает отличные результаты, зачастую превосходя результаты как флагманов прошлого поколения, так и топовой одночиповой видеокарты AMD R9 290X. С повышением же разрешения картина несколько меняется: без разгона GTX 970 начинает уступать красно-белому конкуренту, причём чем выше разрешение — тем больше проигрыш. Однако, GTX 970 имеет пару козырей в рукаве.
Для краткости не будем рассматривать все тесты, а ознакомимся с выводами каждого из обзоров. Вот что насчитали в Tom’s Hardware на тему средней производительности в играх для GTX 970 относительно других моделей видеокарт:
Быть может, GeForce GTX 970 и не ставит новых рекордов производительности, но её цена однозначно делает хай-энд видеокарты более доступными. За $330 она показывает результаты, сравнимые с Radeon R9 290X, видеокартой, которая сейчас стоит на $170 больше. Мы не ожидали увидеть настолько мощный продукт за цену меньшую, чем $400, которые просят за Radeon R9 290, что автоматом делает последнюю не такой привлекательной покупкой.
К сожалению, курс доллара и всякие прочие экономические процессы вводят свои корректировки, и цена на хороший вариант 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 — не всегда. Впрочем, всегда можно немного спустить настройки игры — разницы между «ультра-супер-премиум» качеством и просто «высоким / максимальным» на глаз в пылу сражения вы просто не увидите — не до того будет. А в кат-сценах обнаружить, что текстурки стали не идеально чёткими, а почти идеально… В общем, фигня всё это. :)
На этом мы сегодня прервёмся, а через пару дней ждите завершающую, третью часть статьи: в ней мы самостоятельно измерим производительность и потребление памяти, поговорим о «старых» играх, высоком разрешении, особенностях архитектуры 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
Комментарии (21)
Lertmind
08.04.2015 01:41К GTX970 и GTX980 ещё были претензии со свистом дросселей, обычно при нагрузке.
Shirixae Автор
08.04.2015 09:51Свист дросселей — проблема конкретных вендоров, а не видеокарт. Случилась плозая поставка комплектующих на всякие заводы, вот и свистят. Ну и обычно этим страдают всякие производители, которые демпингуют: типа PowerColor'а и HIS'а. :(
veam
08.04.2015 10:09У всех без исключения вендоров 970 и 980 есть большой шанс нарваться на свист.
Лично так нарвался с msi 970.
www.youtube.com/results?search_query=gtx+970+coil+whineShirixae Автор
08.04.2015 10:12Я не спорю, что шанс есть. Я говорю о том, что центральный чип карты (GM204) к нему не имеет отношения, с тем же успехом на свист можно нарваться и в Titan'е, и в AMD-карточках, и на материнской плате. Были бы дроссели на девайсе, а уже свист найти не сложно. :)
PsyHaSTe
08.04.2015 10:36Почти сразу на ютубе появилась куча таких роликов:
 https://youtu.be/ZQE6p5r1tYE
смысл в 60 фпс с такими артефактами? Попонтоваться перед одноклассниками?..Shirixae Автор
08.04.2015 10:59ХМ. Дважды гонял тесты как раз на FC4, такого не было. Проверю ещё раз, на всякий случай, но, сдаётся мне, это просто раздувание скандала. Получить такие артефакты проще простого, задрав частоту / снизив напряжение на ядре. В данном случае могло наложиться на сырые дрова для GTX 970.
Fesik
Прожорливый Batman? Ну-ну…
Прошёл три части на Pentium D 3.0 Ghz, 2gb DDR2, GTS 450. Всё это стояло на кошерной материнке Gigabyte GA-8I915PL-G.
Средние настройки, хорошая производительность.
А вот GTA IV и NFS Hot Pursuit (новый) выдавали 3-7 fps на минималке, к примеру.
Shirixae Автор
Очевидно, речь идёт о максимальных настройках, с полным PhysX и всякими тесселяциями. GTA 4 очень жадная до процессора, ей бы хотя б Core2 Extreme или Core2 Quad и 8+ рамки, да и GTS 450… кхм… Малость не та видеокарточка для игры с открытым миром.
grozaman
У меня Batman Arkham Origins идет на почти максимальной графике (сглаживаение пришлось немного убавить и экран у меня 1280x1024) на GTX550Ti. Правда остальное железо достаточно приличное: FX-8350, мать c 990FX, 8 гигов ОЗУ и SSD.
Если сравнивать с BF4, то Batman это цветочки.
Shirixae Автор
Давайте, во-первых, будем сравнивать результаты бенчмарков (приложите скриншот, например, а лучше отчёт какой-нить софтины: gaming.msi.com/features/afterburner скрины с графиками FPS и GPU Load вполне подойдут. А то на словах много кто говорит «у меня идёт на максимальной графике», а на деле у человека FPS проседает до 10-15 и вылеты раз в 20 минут от перегрева. :) А так — не поспоришь, идёт. Даже обучение пройти кое-как можно.
Во-вторых, нагрузка от разрешения зависит хоть и не линейно, но пропорционально — точно. Особенно на дохлых видеокарточках. 1280х1024 достаточно далеко ушло от 1920х1080 и уж тем более 2560х1440. Ради интереса, запустите игру в оконном режиме 1920х1080 и посмотрите, насколько сильно просядет производительность? :)
grozaman
Да, не спорю, если запускать в FullHD, то играть невозможно. В данном случае я играл спокойно и прошел игру. Никакого дискофорта не испытывал, хотя играю исключительно на 30-50 (и более) FPS. Проседания возможно и были, но критичными не были. Перегрева не было, хотя компьютер ревет во многих игрушках.
Должен заметить, что до установки SSD ставил средние, после выставил высокие. Видимо игра активно взаимодействует с файлами и это значительно повысило общую производительность.
И опять же я играл во все игры из списка: BF4, Last Light (Redux) и Crysis 3. Все они идут более менее только на средних. До установки SSD BF4 вообще была неиграбельная с проседаниями до 5 FPS. О Batman я такого сказать не могу.
Shirixae Автор
Ну да, SSD достаточно сильно влияет на производительность, если остальные компоненты так себе. Особенно влияют на всякие многопользовательские игры, которые любят выполнять подгрузки между локациями или на старте боя: спаунишься одним из первых и имеешь некоторое преимущество.
В целом же, на мой взгляд, куда важнее иметь сбалансированный конфиг: owerpovered видеокарта на дохлом (а ещё хуже — старом) камне, (Core2 Quad Q6600 + GTX980) как и, наоборот, старая мощная видеокарта на новых процессорах (Core i5 + 9800 GX2 или 3870x2 (двухголовые старые флагманы) не принесут никакого перфоманса. В первом случае видеокарта будет просто недополучать draw call'ы и простаивать, во втором — скорее всего, всё упрётся в малое количество памяти и какие-нибудь дохлые шейдерные процессоры, которые тупо не смогут выдавать адекватную производительность.
В обоих случаях конкурентная по деньгам система на Core i3 и, скажем, R9 280X будет производительней и эффективней во многих задачах.
grozaman
А что посоветуете взять к моему конфигу? Хочется что-то достаточно быстрое годика на 2-3. Особо не игроман, но на высоких иногда поиграть хочется. Всякие 4К покупать не планирую :) Моя уже реально устарела, но денег на флагман нету, да и конфиг не настолько крут для флагмана.
xaoc80
Присоединяюсь к просьбе касаемо совета по видеокарте ) У меня сейчас AMD Phenom II X6 (6 core) 8 Гб ОЗУ, более-менее нормальная MB. Сейчас установлена GeForce 7900 GT, хочу заменить, так как, подозреваю, что она уже устарела, да и стали иногда цветные полоски на мониторе при загрузке появляться )
Shirixae Автор
О, у вас как раз случай номер два — старый (древний) флагман на более-менее свежем железе.
В обоих случаях как самый интересный вариант по производительности-на-рубль я бы посоветовал R9 280X рассматривать (280, 270Х если кошелёк напрягать не очень хочется), так как NVIDIA 960 хоть и хороша, но перспектив на апгрейд у неё маловато: только если вторую потом докупать. AMD — не самое новое с точки зрения архитектуры решение, но с большим запасом по железу и отлично тянет 1440р-картинку: спасибо нормальной шине памяти.
А ниже 960-й свежие NVIDIA мне вообще не понравились. :(
xaoc80
Спасибо! R9 280X неплоха по описанию и тестам. Смотрел бюджетные варианты — GF 750, например. Но что-то сомнения гложут…
Fesik
Не очевидно.
В статье речь шла о прожорливости игр. Я привёл пример, что Batman не прожорливый на самом деле, а вот GTA 4, которая не была упомянута, очень прожорлива. И это учитывая дату выхода последней…