Титанические усилия, часть 1
Всем привет. Жизнь мало какого ПК-гика не обходится без дурной идеи поставить две видеокарты. Я уже писал про «Троллейбус из хлеба» и две младших NVIDIA в SLI (тогда использовались GTX 950). Настало время перейти на более тяжёлые наркотики.
Сегодня у нас в гостях две 980 Ti в SLI, одна GTX 1070, много грязных ругательств, 4k2k и вопросы «как такое может быть». В общем, всё как всегда, будет интересно, заглядывайте под кат. ;)
Матчасть: Maxwell и игра на все деньги
Архитектура NVIDIA Maxwell на момент выхода приятно удивила соотношением производительности, теплоотдачи и цены. В то время казалось, что ближайшие год-два нас ждёт застой, и даже два скандала на тему GTX 970 (сначала с «нехваткой» памяти, затем — с криво указанными спеками в отношении ROP«ов) не помешали стать ей одной из самых популярных видеокарт в пользовательских сборках ПК. Отличная производительность в 1080p, позволяющая играть на максимальных настройках, хорошая — в 1440p, дающая доступ к высоким настройкам, да и 4k2k был вполне играбелен, если вы были готовы пожертвовать качеством пост-обработки вроде самозатенений и всяких дорогих штук типа волос от NVIDIA HairWorks или размытий изображения.
Переплачивать за 980-ю в отсутствие 4k2k было занятием… не самым полезным, разница в цене не покрывала разницы в производительности, а вот 256-гиговый SSD под игрушки за те же деньги можно было и прикупить. Топ-сегмент почти полностью был оккупирован 970-ми от разных вендоров.
Примерно то же самое было и с флагманскими сборками, только вместо 970-й и 980-й были 980 Ti и GTX Titan X. На стороне второго было вдвое больше памяти и чуть более производительная начинка, но утилизировать всю эту мощность в играх было проблематично: Titan как был уделом VR-энтузиастов, разработчиков игр и просто людей, у которых много лишних денег, так и оставался: за 980 Ti просили 650 баксов, а за Titan X — сразу тысячу. А разницы в реальных юзкейсах было в лучшем случае процентов 10.
И если у вас было совсем много денег, то проще уж было потратить 1300 долларов на две 980 Ti, чем брать один Titan, который ещё найти надо было. Проще-то оно проще, но… Тут уже начинаются заморочки. Если «мамка» старая, а видеокарты с «высоким» охлаждением (выше двух слотов) — SLI банально может не влезть. Блок питания соответствующий вынь да положь. Все остальные слоты расширения, скорее всего, придётся забыть… В общем, нюансов масса. Тем не менее, так получилось, что у меня была и подходящая материнская плата, и возможность достать две 980 Ti, и то самое удачное время, когда на столе стоит 4k2k монитор, а рядом — коробка с GTX 1070. Настало время устроить рок в этой дыре? : D
Матчасть 2: Pascal и смерть всему живому
С выходом первых бенчмарков видеокарт на архитектуре Pascal блогосфера, журналисты и железячные издания сначала глубоко вдохнули, а потом не поверили своим глазам. Мало того, что Maxwell прожил всего одно поколение ускорителей, а не два (стратегию «тик-так», внедрённую в своё время Intel«ом, успешно переняли многие производители), так ещё и Pascal просто наголову разбил все прошлогодние решения, а с выходом бюджеток (типа той же 1060), потопил ещё и Б/У-рынок железа. Кому нужна 970-я на гарантии и с 30–40% скидкой, когда можно месяцок подкопить и взять 1060, которая быстрее во всём, имеет больше памяти, поддерживает новые технологии и будет новенькой, с завода? Вот и пристраиваются старые видеокарты по знакомым, за бесценок, либо во вторые компы дома. Да, NVIDIA сразу заявила (и не соврала), что GTX 1070 будет быстрее, чем 980 Ti, а 1080 обойдёт и Titan X прошлого поколения, при том что сами чипы относятся к консьюмерской, а не просьюмерской линейке, и по цене являются заменой «обычным» 970 и 980 соответственно.
Само собой, журналисты от мира железа наделали бенчей, 1070 победила 980 Ti, и мир-дружба-жвачка, но… тут-то у нас две 980 Ti. И запахло жареным!
Железо и спецификации видеокарт
Итак, тестовый стенд. Железки не самые новые, но в грубой силе им до сих пор не откажешь.
CPU: Core i7–3930k @ 3.2 Ггц
SandyBridge-E — не самая новая архитектура, но у 3930 шесть ядер, разблокированный множитель, огромный кэш и 40 линий PCI-Express. Старый конь борозды не испортит;
Материнская плата: Asus Sabertooth X79
До 128 Гб оперативки, 2 полноскоростных PCI-Express«а, позволяющие поставить трёхслотовые видеокарты, очень злые цепи питания… В общем, отличная мамка с сокетом 2011;
SSD #1: 80 ГБ Intel 320
На этом старичке стоит только система, на результативность тестов он влиять не должен;
SSD #2: 480 ГБ Kingston OC400
Качественный диск, рассчитанный на установку в сервера и рабочие станции;
Видеокарты #1: Palit JetStream GTX 980 Ti x2
2 штуки NVIDIA GTX 980 Ti в SLI, режим автоматический;
Видеокарта #2: Palit GTX 1070 GameRock Edition
NVIDIA GTX 1070 с кастомной системой охлаждения и повышенными частотами.
Пару слов о мониторе
В качестве тестового стенда сегодня выступает Philips 241P6VPJKEB. Этот монитор относится к «бизнесовой» линейке, но формально я бы назвал его вариантом для рабочих станций. В дизайне — здоровый минимализм, из фишек — датчики освещения, встроенный звук, USB-хаб и поворотный механизм, а характеристики… Ну, давайте об этом чуть подробнее.
Построен данный дисплей на базе 24-дюймовой матрицы с разрешением 4k (3840×2160 точек). Матрица сама по себе восьмибитная, но контроллер позволяет отображать до 10 бит на канал, смешивая цвета из соседних кадров (FRC, он же frame rate control, если английского не боитесь — здесь ещё многое рассказано). По факту, большинство дешёвых мониторов таким занимаются для отображения 8 бит (а матрицы реально 6-битные). Присутствует заводская калибровка под SRGB (неплохая, надо признать), но калиброванные цвета несовместимы с работой датчика освещения.
По таблице базовых измерений можно было бы сказать: вон, смотри, какая ужасная Delta E. Нормальная. Во-первых, монитор не относится к линейке для профессиональной работы с графикой. Во-вторых, это заводская sRGB калибровка. В отсутствие профинтересов пользователя должно волновать три вещи: равномерность цветовой температуры в зависимости от яркости, равномерность отображаемой гаммы и фликеринг подсветки. С первым проблема вот в чём: в 90% случаев используются синие светодиоды с жёлтым люминофором. В зависимости от яркости подсветки и того, насколько закрыт ЖК-затвор, проницаемость полученного «типа белого» спектра разная. Второй аспект, страдает от того том, что характеристики самой матрицы крайне нелинейны, и чем точнее LUT монитора преобразовывает входящий сигнал — тем более линейный и правильный итог получится при измерениях.
Вот цветовая температура:
На нижние 10% (как и на верхние 10%, впрочем, тоже) можно почти не смотреть, там и измерить проблемно, и описанные выше особенности получения «белого» света вносят свои погрешности. На оставшихся же 80% охвата, основной рабочей области — температура чуть завышена от «номинальной», но стабильна.
Гамму в ярких оттенках несколько «плющит», но там из-за нелинейности величины и не очень актуального диапазона это заметно не будет.
Цветовой треугольник неплохо сочетается с теоретическим sRGB: небольшие излишки в жёлто-зелёную часть спектра и провал в синюю — заслуга подсветки. В целом — заводские настройки sRGB на 90% лучше того, что есть у обычных мониторов в данном ценовом диапазоне. А кому нужна калибровка и прочие точности, сами понимаете, либо потратят втрое больше на монитор, либо закажут калибратор и доведут эту модель до полного покрытия.
Сам по себе дисплей порадовал качеством картинки, высокая плотность точек + качественная матрица дают о себе знать, однако пока не радует продуманностью конструкции. До тех же HP или DELL с нормальным расположением портов, продуманным меню, которым можно пользоваться, не сверяясь постоянно с «легендой» пока не дотягивает. Порты подключения сигнальных кабелей в одном месте, вход для USB-кабеля — в другом, да ещё и мой Type-B кабель некисло так выпирал из-за рамки…
Примерно та же болезнь и у остальных портов: разбросаны по поверхности монитора, в итоге даже скоба для кабель-менеджмента не поможет вам навести порядок: все провода тянутся в разные стороны и создают неопрятную «бороду» под монитором.
Как по мне, внимания к деталям не хватает, совсем не Apple. С другой стороны, у Apple нет 4k2k-мониторов в такой диагонали, а если бы и были, то цена бы не порадовала никого. Расклад простой: да, юзабилити на тройку. Но монитор берут в большинстве своём не для того, чтобы настраивать, а для работы. А здесь для этого всё есть. Заводская калибровка под sRGB обеспечивает 99% охват и приемлемую точность. Если вы не занимаетесь работой с фотографией / видеомонтажом — к вашим услугам ручная подстройка, сделаете изображение чуть теплее, включите датчик освещения, глаза уставать не будут. Маттирование очень аккуратное, от кристаллического эффекта и шумов плакать не хочется. Правда, здесь свою роль играет ещё и очень высокая плотность точек: шрифты получаются точёные, с естественным сглаживанием границ, очень аккуратные и визуально приятные.
Если вы хотите 4k, и нет места под 27–32 дюймовые модели — вас не вряд ли смутят такие мелочи, как не самое удачное расположения кабелей или чудаковатое меню. Один раз настроили и забыли, а вот картинка ещё долго будет радовать глаз.
Результаты: очевидные и не очень
Итак, 980 Ti в SLI, свежий DOOM на ультра-настройках, свет потушен, звук погромче… чёрт, как же он красив. И выдаёт от 40 до 55 FPS. И это в 4k, да со сглаживанием! В статике не впечатляет, но в динамике — дух захватывает.
Новый NFS (не такой уж и новый, но всё же) на движке FrostBite 4 выдаёт потрясающую, реально потрясающую картинку в динамике. Чёрт, да он и в статике неплох, если выбрать удачный ракурс.
Конечно, кое-где декорации просто не рассчитаны на то, чтобы на них смотрели в упор, и в статике выглядят максимум «средненько», но на ходу… Нет, это реально один из самых зрелищных автосимуляторов на данный момент. Стабильные 60 кадров в секунду (упёрлись в vSync), просадки в основном возникают из-за нестабильного интернет-соединения или при пересечении двух активных гонок с 5–10 участниками. Как-никак 20 машин в кадре, да ещё и с кучей сложного света и отражений… А картинка всё же хороша!
UPD: не знаю, что там сломали EA или Nvidia, но буквально вчера система с двумя 980Ti не смогла выдавить из себя больше 50 FPS, реальные были около 35–40 + постоянные вылеты приложения. Sad, but true.
Ладно, идём дальше. Forza Motorsport 6: Apex, доступная в Windows Store…. Не поддерживает SLI вообще. Одна видеокарта просто пинает болт. Как результат — просадки до 25 FPS, к тому же модные «пользовательские» раскраски, загружаемые из интернета, имеют привычку «исчезать» в зависимости от дальности прорисовки. Низачот.
Что там есть ещё сурового? GTA V? От 40 до 50 FPS, сильно зависит от обстановки, иногда бывают микрофризы или просадки FPS до 25 буквально на доли секунд. Видимо, дело в SLI.
Witcher 3 со всеми DLC, локация Туссент. Обилие травы вызывает просадки FPS даже на серьёзных конфигах, а у нас тут всё супер-серьёзно. Если честно, создатели ведьмака просто забили на оптимизацию топовых настроек. Минимальные и средние подкрутили, чтобы играть можно было и на сравнительно старых машинах, а высокие и ультры…
В общем, что она 980 Ti, что две — смысла не особо много. FPS плавает от 25 до 60 в зависимости от происходящего на экране, работы NVIDIA HairWorks (эту фичу вообще лучше выключать) и положения звёзд на небе. Вряд ли вычислительной мощности двух почти топовых видеокарт актуального для игры поколения было мало.
Выключаем компьютер, снимаем пару видеокарт, ставим GTX 1070, обновляем драйвера, проверяем, чтобы всё работало…
Конкретно у меня был вариант GTX 1070 GameRock от Palit, 1080 и 1070 внешне отличаются чуть менее, чем никак (наклейками). Чисто теоретически, линейка GameRock рассчитана на моддеров и любителей настраиваемых подсветок: родной софт должен уметь перекрашивать светодиодную полосу на борту. Я такой фигнёй не занимался, меня больше интересовал перфоманс.
Итак, DOOM. Те же самые 45–55 FPS, но без рывков, намного плавнее и равномернее. Если FPS проседает, то только от количества противников, а не скачкообразно, при появлении спецэффектов или резких движениях / по рандому. Со включённым API Vulkan счётчик FPS замирает на 60 и не двигается. WIN.
NFS выдаёт 45–60 кадров в секунду, просадки всё также обусловлены либо другими игроками, либо проблемами с соединением: игра-то сетевая. В целом, конечно, FPS чуть меньше, чем у спарки, но игра портирована с консолей, на которых вообще стабильные 30 FPS в последних тайтлах — предел мечтаний, да и он не особо соблюдается, на PS4 я видел откровенные лаги при групповом дрифте, а графика и рядом не валялась с ПКшной.
UPD: c последними драйверами и недавними изменениями одиночная карта выдаёт более стабильный результат без вылетов, чем две 980Ti в SLI.
Forza 6: Apex, само собой, идёт лучше на 1070 просто потому, что 1070 быстрее, чем 980 Ti, а игра не умеет работать со SLI. Ниже 45 кадров в секунду ничего не было, выше 60 не давала работать VSync (120–144 Гц 4k2k пока не распространены), а наблюдать разрывы кадров не хотелось.
Минус Forza 6 даже не в том, что игра сырая, а в том, что в ней нечего делать. Короткая кампания, пара гонок «сезонного» характера и всё. Контента мало: ни трасс, ни машин, на которых хотелось бы прокатиться. Надеюсь, со временем поправят.
GTA V выдавала от 45 до 57 FPS в реальных юз-кейсах и до 60 в кат-сценах, в статике и в помещениях — нагрузка в таком случае ниже.
Witcher — ещё одна игра, где грубая сила 980 Ti в SLI таки-додавила дерзкого новичка, выше 40 FPS в таком режиме GTX 1070 выдать не могла. Впрочем, минимальный FPS также был выше, просадок и некомфортных лагов не было, а основной залог приятной игры с такой динамикой даже не столько высокий FPS, сколько равномерный. Так что тут «морально» победила одна видеокарта.
Виновники такого результата на картинке: большие объёмы растительности и очень много анимаций окружающего мира.
Почему это происходит?
В бенчмарках и на демо-стендах у журналистов 1070 показывает превосходные результаты, но обходить 980 Ti в SLI?… Впрочем, ответ на этот вопрос я уже дал. Ключевое слово — демостенд. Для испытаний используют железо, которое позволяет минимизировать влияние производительности других компонентов на тестируемый объект. Если тестируют процессоры — ставят флагманское видео и топовую память. Тестируют диски — подключают одинаковыми кабелями, идентичное железо, максимально сферические условия в вакууме. Ну, а игровые тесты и тесты видеокарт, как вы уже догадались, производят на свежих железках топового уровня, если это не статья про сборку ПК в целом. Для игрушек моего процессора хватает с головой, даже самые первые i7 ещё на сокете 1366 с архитектурой Bloomfield и древней памятью DDR3 1333 Мгц уступают в игровых тестах от 10 до 25% флагманским i7–6700k, которые обладают и более высокой производительностью ядра на такт, и более высокой тактовой частотой, и скоростной памятью. Собака зарыта в штуке, которая называется API overhead.
Процессорозависимость и API overhead
Если объяснять очень грубым языком и не вдаваться в то, как видеокарта рисует кадр «послойно», то каждый раз, как видеокарте требуется что-нибудь нарисовать: взять модель, натянуть текстурку, посчитать шейдер, кое-кому надо сказать видеокарте, что ей делать. Этот кое-кто — центральный процессор. Так как 90 (если не 99%) ПК-гейминга завязано на Windows, то в большинстве случаев для актуальных на 2015–2016 год игр используются высокоуровневые библиотеки типа DX10 / DX11 или OpenGL.
Они позволяют проще и быстрее работать с 3D с точки зрения разработки, накладывает определённые ограничения и сопутствующие расходы: вы простым языком говорите видеокарте что делать, она делает.
На консолях же разработчики могут писать код намного более низкоуровневый, добиваясь от достаточно слабого железа неплохих результатов простым снижением накладных расходов на отрисовку. Разработка становится сложнее, реализация кода привязана к одному железу, но для консолей это не особо имеет значение — ни выбирать настройки графики, ни учитывать разное железо (буквально до текущего поколения) разработчикам не надо было.
Эти самые накладные расходы растут с количеством спецэффектов, разрешением картинки, разными инструментами постобработки и так далее. Даже «незначительная» с точки зрения прямой нагрузки на вычислительную мощность настройка Ambient Occlusion может привести FPS из комфортной зоны в некомфортную, потому что видеокарта не отдаст вам кадр, пока не прорисует тени, которые объекты отбрасывают сами на себя. А эти тени рассчитываются через упрощённую трассировку лучей, которая требует достаточно много вызовов и скорость алгоритма сильно зависит от разрешения картинки.
Так вот. Во-первых, эти вызовы на отрисовку не очень хорошо параллелятся. В некоторых случаях в бенчмарках асинхронные запросы на работают даже хуже, чем синхронные и однопоточные. Во-вторых, у большинства пользователей не то что «огражданенный» старый Xeon, консьюмерский i5 стоит. Без разгона. А то и вообще восьмиядерник от AMD с тухлой производительностью на ядро.
Минутка нестареющего юмора про эффективность «камней» от AMD
То есть связка из двух 980 Ti в SLI страдает в играх на 4k разрешении банально по причине высоких накладных расходов: в некоторых игрушках они не успевают получать команды в должном количестве, загружены на 50–80%, да ещё и вынуждены регулярно синхронизовываться для совместной работы и правильного отображения картинки. Как вы понимаете, накидать задач одному исполнителю несколько проще, чем двум, которые ещё и договариваться между собой должны, кто что делает. Отсюда и микрофризы, и такие результаты производительности на реальном железе, а не на вылизанных демо-стендах, где подобный «голод» постарались сократить до минимума, используя флагманские консьюмерские i7 с бешеными частотами одного ядра. Впрочем, выход есть.
Как дальше жить
Ну, во-первых, не брать вторую 980 Ti: видеокарта не маленькая, горячая, требует дополнительных ~300 Ватт питания (да, в спеках указано 250 Вт, но почти все не-референсы обладают улучшенным радиатором и повышенными частотами не просто так). Во-вторых, грядёт эра DirectX 12 и API Vulkan, которые кардинально снижают подобные «тупняки», обеспечивая просто драматический прирост в производительности (прирост может быть пятикратным):
Из всех игр на текущий момент, если мне память не изменяет, Vulkan нормально работает только у DOOM. А тайтлов с полной поддержкой DX12… В общем, к моменту, когда это станет мэйнстримом, 980 Ti вряд ли будет ещё актуальна. А от пары видеокарт через год вам будет очень сложно избавиться — потеря в цене, да новые поколения, сами понимаете…
GTX 1070 в данном случае жрёт меньше, обладает запасом памяти и не такая горячая. Так что если вы до сих пор думаете, брать вам вторую 970 / 980 / 980 Ti в связку к первой, или просто продать свою видеокарту, доложить немного и купить текущее поколение — просто берите одну, но свежую. В текущих играх результат будет лучше (архитектура Pascal творит чудеса, к ней мы ещё вернёмся), в перспективных, за счёт более высоких частот и авторазгона, думаю, будет паритет. API Overhead, конечно, сильно влияет на производительность текущих игр, но и о улучшениях железа на низком уровне и уменьшении накладных расходов даже на уровне железа не стоит забывать. В общем, о магии Pascal«ей и перспективах игростроя — в следующий раз. Продуктивной вам недели. ;)