Споры по поводу неправильного и нелогичного поведения GeForce GTX 970 начались несколько месяцев тому назад. Некоторые пользователи недоумевали, почему видеокарта не использует более 3.5 Гбайт памяти, другие находили режимы, где она резко проваливалась в скорости.
И лишь спустя время в компании Nvidia нашли силы признать неточность в описании и почти публично извиниться. Причем некоторые магазины даже объявили о возможности сдачи новинок обратно со стопроцентной компенсацией. Но дальнейшая реакция пользователей была вызвана не самой неточностью в описании, а фактом обмана покупателей.
Позднее с помощью СМИ Nvidia рассказала о фактическом строении графического ускорителя, правда, тайну приоткрыли лишь частично, а все нюансы архитектуры так и остались под грифом «Секретно». Из раскрытой информации выяснилось, что последние 0.5 Гбайт памяти используются редко и обладают существенно меньшей пропускной способностью (28 Гбит против 192 Гбит). Это происходит потому, что последний сегмент делит ресурсы с контроллерами памяти и одинарным сегментом L2 кэша. Возможно, вам уже встречалась схема, объясняющая топологию GeForce GTX 970.
В дальнейшем многие заявили о наличии у GeForce GTX 970 лишь 56 ROP, но немногие попробовали хотя бы посчитать и проанализировать полученные данные. В младшей модели поколения Maxwell количество мультипроцессоров меньше, нежели у GeForce GTX 980, и даже если бы она содержала 64 ROP вместо 56, производительность закраски и смешивания была бы ограничена количеством экспортируемых мультипроцессорами пикселей (52 пикселя за такт). Таким образом, что с 64 ROP, что с 56 ROP скорости закраски и смешивания будут одинаковыми. Но даже в последнем случае возникают подозрения в том, что часть из них остается незадействованной.
А вот пиковая пропускная способность памяти указана как раз правильно. Ведь никого не удивляет тот факт, что на жестких дисках пишут объем в гипотетических гигабайтах, а для твердотельных накопителей указывают максимальную теоретическую скорость. По заявлениям инженеров компании Nvidia, GeForce GTX 970 изначально получила правильное соотношение CUDA Cores/ROP/TMU для раскрытия всего потенциала графического процессора в конкретной спецификации продукта.
Программное обеспечение:
В части игр, где это возможно, использовались встроенные отрезки теста, при необходимости тестирование дополнялось результатами утилиты Fraps v3.5.99.
Список тестовых приложений:
VSync при проведении тестов был отключен.
Настройки:
Проще всего начинать тестирование с распространенного разрешения – 1920 х 1080. Для большей нагрузки на память зададим наиболее сложные и качественные настройки в игре.
График загрузки локальной памяти.
3.5 Гбайт для Metro Last Light достаточно, и даже с избытком. В противовес видеокарте Nvidia GeForce GTX 970, AMD Radeon R9 290X подозрительно аккуратно обращается с памятью. Напомню, что она основана фактически на Hawaii с ее полноценным не усеченным доступом.
Переходим на один уровень выше и посмотрим, что происходит в разрешении 2К (2560 х 1440).
Чуть больше 1.6 Гбайт, это даже меньше половины объема доступной памяти. Поэтому никаких проблем нет, разве что с производительностью. На максимальных настройках GeForce GTX 970 едва волочит ноги, а среднее число кадров доходит всего до 30 к/с. Можно еще раз увеличить разрешение, но играть будет уже невозможно из-за низкой производительности.
Зато Radeon R9 290X даже не увеличила количество памяти, и это подозрительно. Возможно, где-то используются махинации с качеством текстур? Но на вид никаких отличий нет. Показатель скорости слегка превосходит таковой у оппонента и составляет 35 к/с.
А разная продолжительность теста обусловлена попыткой проверить, насколько увеличивается (и увеличивается ли) объем задействованной памяти в процессе с первого по шестой запуск теста. Как показала практика, делать все шесть замеров необязательно, количество используемой памяти показатель стабильный и не зависит от попыток.
Попробуем узнать, достаточно ли для стопроцентной загрузки более 3.5 Гбайт памяти разрешения 5120 х 1440, или нет?
Нет, этого явно недостаточно. Можно сказать, что для владельцев GeForce GTX 970 игра Metro Last Light быстрее упрется в физическую скорость GPU, чем в проблемный участок памяти. Кстати, Radeon R9 290X ненамного быстрее: 16 к/с против 12 к/с. В итоге для обеих видеокарт разрешение 4К не по зубам независимо от объема памяти на борту.
Настройки:
Попробуем номинальное разрешение 1920 х 1080.
И здесь никаких проблем, средняя скорость 72 к/с, чего с избытком хватает для этого типа игры. Загрузка памяти менее половины доступной. Модель AMD использует больший объем памяти, и ее производительность чуть ниже, всего 69 к/с.
Перейдем в следующее разрешение, а именно в 2560 х 1440 с аналогичными настройками качества.
Объем почти 2 Гбайта, результат обнадеживающий, но пока все воспроизводится на экране без каких-либо визуальных проблем. Средняя производительность у конкурентов одинаковая – 42 к/с.
Может быть, вдвое более высокое разрешение наконец-то выведет нас за пределы 3.5 Гбайт?
До желаемого рубежа не хватило чуть-чуть, а пока ограничимся 3.2 Гбайт. Допустим, что игра съела более 3.5 Гбайт, в таком случае началось бы существенное падение производительности. А теперь о реально происходящем: даже при использовании 3.2 Гбайт памяти и разрешении 5120 х 1440 средняя скорость всего 20 к/с!
Иными словами, мы быстрее упремся в практический потолок производительности графического процессора, чем в нехватку памяти. У видеокарты AMD схожие показатели: средние 21 к/с и чуть больший объем используемой памяти. Но в целом проблема явно не в ее нехватке.
Настройки:
Начальной точкой отсчета будет разрешение 1920 х 1080. Оценим объем задействованной памяти и общую производительность. Поехали…
Сходу изъяли у видеокарты 2.25 Гбайт памяти. Скорость при этом достаточная – 50 к/с. Как можно видеть на примере первых двух игр, нельзя голословно говорить о выходе за пределы 3.5 Гбайт при последующем увеличении разрешения. Но лучший ответ – это факты.
Для Radeon R9 290X больший объем используемой памяти это свершившийся факт, впрочем, со скоростью у видеокарты тоже все отлично – 51 к/с. Оценим 2К…
2.8 Гбайт использованной памяти со средней скоростью 30 к/с. Для игры данного типа это минимальное пороговое значение. Следующее увеличение разрешения если и задействует более 3.5 Гбайт, то уровень производительности будет сильно ниже комфортного.
Но у нас задача оценить видеокарту при использовании более 3.5 Гбайт, поэтому мы пойдем дальше и перейдем к 5120 х 1440. Для модели AMD ситуация несколько лучше, поскольку производительность превысила психологический рубеж в 30 к/с и поднялась до 33 к/с. А что до большего объема используемой памяти, так у нее же больше, значит тратить можно
Ровно 3.5 Гбайт используемой памяти, точнее 3 488 Мбайт. И каков ответ с учетом средней скорости в 15 к/с? GM204 физически не справляется с нагрузкой, и память здесь не при чем. Возможно, найдутся иные объяснения или другая игра, где мощности GeForce GTX 970 будет достаточно, а объем задействованной памяти превысит 3.5 Гбайт?
Видеокарта AMD справилась с высоким разрешением лучше, продемонстрировав 16 к/с и задействуя практически весь объем доступной памяти.
Настройки:
Сходу заняли 2.5 Гбайта, начало хорошее, и скорость в 52 к/с достаточная. Оценим следующий шаг. Видеокарта Radeon R9 290X по-прежнему использует на 200-400 Мбайт больше памяти, сказывается отсутствие прогрессивных методов сжатия. Со скоростью у нее все в порядке – 53 к/с.
3 Гбайта задействовано, еще 1 Гбайт остается в запасе. Средняя скорость – 40.5 к/с. Пока все идет по плану. Играть с такими показателями можно вполне комфортно. Модель AMD немного спасовала в 2К разрешении, продемонстрировав лишь 32 к/с.
Для окончательной оценки переходим в супертяжелый режим с увеличенным вдвое разрешением.
Производительность скатилась до 16 к/с. Что это значит? А то, что играть в Sniper Elite III в разрешении 5120 х 1440 невозможно. И снова причина кроется не в искусственном ограничении объема памяти, а в недостаточной производительности GPU. Со стороны AMD итог аналогичен: всего 17 к/с.
Поразил тот факт, что, использовав весь «быстрый» буфер памяти до 3.5 Гбайт, Nvidia GeForce GTX 970 так и не попыталась кэшировать данные в системной памяти.
Настройки:
Как всегда, начинаем с Full HD разрешения на максимальных настройках.
78 к/с и 2.4 Гбайт использованной памяти. Производительность достаточная, а объем памяти даже избыточен. Вывод прост – смело играйте в Thief в Full HD на максимальных настройках.
Radeon R9 290X показала 76 к/с. Судя по всему, лишь при использовании высокого разрешения видеокарты AMD демонстрируют преимущество.
52 к/с – этого достаточно для нормальной игры в Thief. Задействовано чуть меньше, чем 2.9 Гбайт памяти. Очевидно, даже переход на следующую ступень по разрешению не превысит порог в 3.5 Гбайт, но давайте посмотрим. Представитель AMD обеспечивает приблизительно аналогичную модели Nvidia скорость – 51.5 к/с.
И снова не более 3.5 Гбайт. Интересно, таким образом с помощью драйвера инженеры Nvidia обходят пресловутое ограничение в 3.5 Гбайт, или же задействуется остаток в 0.5 Гбайта, или же графический ускоритель черпает недостающий объем из системной памяти?
Из данных по анализу загрузки интерфейса PCI-e замечено, что видеокарта не обращается в системную память, что исключает использование остаточных 0.5 Гбайт. При этом производительность в разрешении 5120 х 144 снизилась до 16 к/с. Это и есть объяснение того, что эффективно задействуется только 3.5 Гбайт; здесь сказывается ограничение драйверов, поэтому производительность резко снижается. Теоретически падение не должно было составлять более половины от скорости в 2К разрешении. Но, как показывает практика, GeForce GTX 970 в игре Thief и разрешении 5120 х 1440 оказалась полностью недееспособна.
Чего нельзя сказать о Radeon R9 290X: приличная скорость в 33 к/с, хоть и с большим объемом используемой памяти. В действительности игра Thief полностью забирает весь объем памяти модели AMD, но ничего фатального не происходит.
Настройки:
Оценим объем используемой памяти на максимальных настройках и в разрешении Full HD.
Tomb Raider – игра совсем не требовательная к локальному объему памяти на видеокарте. В данном тесте задействовано всего 1.6 Гбайт, средняя скорость обновления экрана составила 51 к/с. Такими темпами даже разрешение 5120 х 1440 вряд ли использует хотя бы половину из 4 Гбайт.
Radeon R9 290X выступает чуть хуже – 48 к/с, но это объясняется нереференсной версией GeForce GTX 970 с завышенными частотами и склонностью продукции AMD демонстрировать большую производительность с ростом нагрузки.
Так и есть, едва добрались до половины от максимального объема. Производительность, правда, уже близка к пороговым 30 к/с и составила 31.5 к/с. На мой взгляд, играть в Tomb Raider на GeForce GTX 970 при максимальных настройках в 2К уже неприятно. Хотя, с другой стороны, ее оппонент аналогично не обеспечивает достаточного количества кадров – 31.8.
Для чистоты эксперимента возьмем разрешение 5120 х 1440.
Игра предъявляет серьезные требования по части вычислительных возможностей GPU, и поэтому средняя производительность в 16 к/с это показатель низкой мощности именно графического процессора, а не ограничение локальной памяти. Тем более что, исходя из результатов, игра требует не более 3 Гбайт.
Видеокарта AMD в Tomb Raider вряд ли чем-то удивит, те же 16 к/с и чуть больший объем используемой памяти. Это объясняется движком игры, в котором баланс смещен в сторону вычислений GPU, а не в сторону объема текстур и постобработки.
Настройки:
Несмотря на указание игре использовать «неограниченную память», фактически используемый ее объем составил 2.1 Гбайт. Среднее количество кадров в секунду ушло далеко за 60. Переходим на уровень выше.
При смене разрешения производительность упала, и существенно – до 38 к/с. Для стратегии с элементами 3D показатель низкий. Лучше держаться минимума в 40-45 к/с. Общий объем используемой памяти достиг всего 2.6 Гбайт. Становится понятно, что основная нагрузка приходится на возможности GPU, а не объем памяти.
Видеокарта AMD под схожей нагрузкой показала 35 к/с и использовала на 200 Мбайт больше.
Сколько бы не улучшалось качество, задействовать более 3.3 Гбайт не удалось. А производительность тем временем опустилась до 20 к/с, что находится ниже нормального значения. Radeon R9 290X показала результат в 19.2 к/с, и независимо от объема задействованной или пустой памяти такое количество кадров неприемлемо для игры.
Настройки:
Far Cry III не предъявляет высоких требований к объему памяти на видеокартах Nvidia, всего 1.6 Гбайт в Full HD разрешении при максимальных настройках. При этом производительность не такая высокая – 45.5 к/с.
Модель AMD по непонятной причине старается закэшировать и занять почти весь объем своей памяти, но со временем разгружает ее. И, несмотря на то, что 4 Гбайт вполне достаточно для игры, с производительностью в Far Cry III у Radeon R9 290X большие проблемы, всего 36 к/с. Поэтому быстро переходим в 2К.
Разница между Full HD и 2K небольшая и составляет 600 Мбайт, итоговый задействованный объем – 2.2 Гбайт. Производительность снизилась до 27.7 к/с, что делает из игры почти пошаговую стратегию. Еще хуже шли дела у видеокарты AMD: 25 к/с ничем не лучше 27.7 к/с у продукта Nvidia. А что творилось с задействованной памятью, не поддается объяснению. Думаю, это нюансы объемного игрового мира Far Cry III, который, по замыслу разработчиков, должен сразу загружаться в буфер видеокарты.
Мы продолжаем эксперимент и переходим в разрешение 5120 х 1440.
Вот он, первый случай, когда превышен объем быстрой памяти на GeForce GTX 970. И что же мы видим? В первые секунды теста несколько скачков за предел в 3.5 Гбайт и интенсивный обмен данными с оперативной памятью. Скорость резко падает до 1-2 к/с и потом восстанавливается до 14 к/с. Далее видеокарта старается уместить все данные в 3.4 Гбайт.
Модель AMD, наоборот, легко вмещает все данные в память и не позволяет частоте кадров упасть так низко. В среднем она быстрее GeForce GTX 970, демонстрируя 18 к/с.
Настройки:
Увы, но MSAA 8x и самые качественные текстуры в Full HD занимают не более 2.1 Гбайт памяти. Это автоматически позволяет раскрыться GPU GM204 полностью. Средняя скорость в игре – 42 к/с. В разрешении 1920 х 1080 видеокарта Radeon R9 290X держится на втором месте, показывая 40 к/с.
Но как только мы начнем увеличивать разрешение и повышать нагрузку, Hawaii начнут лидировать.
Почти 3 Гбайта и всего 25.6 к/с. Становится понятно, что GeForce GTX 970 не под силу тянуть 2К разрешение на максимальных настройках. Radeon R9 290X лучше справляется с нагрузкой, показывая 27 к/с.
У перехода на следующую ступень разрешения вряд ли есть смысл, поскольку общая производительность будет слишком низкой, но проверить это стоит.
В 5120 х 1440 задействовано 3.8 Гбайт памяти, но к этому моменту скорость вывода кадров снизилась до такой степени, что игра превратилась в показ слайдов. Ситуацию бы не спасло и наличие у GeForce GTX 970 полноценной системы памяти с 4 Гбайтами, и причина здесь кроется в характеристиках.
Да и Radeon R9 290X полностью израсходовала всю память. Средняя скорость при этом составила 14 к/с, что лучше, чем у представителя Nvidia с его 8 к/с.
Настройки:
На начальном этапе игра использует более 2 Гбайт памяти. Настройки, напомним, выставлены в максимальные за исключением разрешения, оно оставлено по умолчанию 100%. А скорость отрисовки составила впечатляющие 83 к/с. Думаю, такими темпами мы легко дойдем до теоретического лимита в 3.5 Гбайт и приемлемой производительности.
У видеокарты AMD ситуация схожая: объем задействованной памяти аналогичен, но количество кадров в секунду меньше – 76.
2.7 Гбайт, лучше, но недостаточно. Средняя производительность 53.4 к/с – это отличный результат с учетом максимальных настроек и 2К разрешения. У конкурента идентичный объем используемой памяти, но немного меньшая скорость – 50 к/с.
Как хитро, согласно теоретическим расчетам должно было быть задействовано более 3.5 Гбайт памяти, но грамотная оптимизация драйверов снижает результат до 3.4 Гбайт и никаких проблем. Для сравнения, оптимизация Radeon R9 290X достигнута на более высоком уровне, потому что 33 к/с можно считать условно комфортными, а 27 к/с у GeForce GTX 970 – уже нет.
Зато посмотрите, насколько меньше задействовано памяти в игре у видеокарты AMD. 2.6 Гбайт против 3.4 Гбайт, назвать это погрешностью нельзя. Компании Nvidia стоит пересмотреть свои настройки в драйверах и попытаться нагнать конкурента.
Суматоха вокруг GeForce GTX 970 кому-то явно была на руку. Технические характеристики видеокарты подобраны таким способом, чтобы в 99.9% случаев удовлетворять запросам современных игр. А в тех случаях, когда объем памяти недостаточен, начинает сказываться нехватка производительности GM204. Иными словами, если бы теоретически не было «проблемы 3.5 Гбайт», пользователи вряд ли бы заметили какие-то изменения.
Но одно мы выяснили точно – для разрешения 4К в 80% игр будет мало и GeForce GTX 980 А объем видеопамяти 2 Гбайта для Full HD с максимальными настройками – это нижний порог, и на графические ускорители среднего ценового диапазона нужно устанавливать минимум 4 Гбайта (при наличии 256-битной шины).
С другой стороны, сам факт сокрытия или непреднамеренного обмана производителем покупателей не приносит дивидендов компании Nvidia. Боюсь, на данном этапе она может потерять заработанные очки доверия. И, на мой взгляд, лучшим способом решения проблемы являются официальные извинения.
Выражаем благодарность за помощь в подготовке материала: