«Практическая переделка»: включаем конвейеры на GeForce 6800
В нашем материале под названием «Сага о конвейерах: не разгон ведь, а летает» мы постарались наиболее подробным и исчерпывающим образом рассказать о том, каким образом владельцы карточек из серий GeForce 6800 или Radeon 9500/9800SE могут попытаться получить дополнительную мощность, а вместе с ней и дополнительные fps путём активации заблокированных конвейеров. Во время написания вышеупомянутого материала мы занялись переделкой попавшей в нашу тестовую лабораторию карточки CHAINTECH Apogee GF6800, построенной, как нетрудно догадаться, на базе NVIDIA GeForce 6800. Карточка была успешно переделана, все конвейеры активированы, а материал дописан.
Однако, господа, одной лишь переделанной карточки нам недостаточно. Хорошо было бы ещё и посмотреть, насколько возросла производительность, как активация дополнительных пиксельных и вершинных конвейеров сказалась на разгонных возможностях карточки, хватит ли ей питания для работы в столь тяжёлом, относительно стандартного, режиме, а также попытаться понять, как активация различных комбинаций PP/VP влияет на производительность. Ведь в некоторых случаях вполне возможно, что карта не заработает в полном режиме 16PP/6VP, а включится, например, только вершинный конвейер, или же только пиксельные.
Для начала давайте расскажем немного о нашем подопытном экземпляре – видеокарте CHAINTECH Apogee GeForce 6800, дабы читатель мог получить наиболее полное представление о нашем эксперименте и условиях, в каковых он проводился.
Видеокарта CHAINTECH Apogee GF6800
Весьма приятная, надо сказать, видеокарта, построенная на стильном голубом текстолите и имеющая не менее стильную золотистую заднюю панель. Нельзя не уделить внимания и однослотовой системе охлаждения, унаследованной, как сразу легко понять, от референсной системы NVIDIA GeForce 6800GT, но получившей уникальный фейс.
В целом, по первому же взгляду, видеокарта внушает симпатию, однако внешность, как известно, порой бывает обманчивой, и мы незамедлительно глянули, что скрывается, так сказать, в недрах, под кулером:
А скрывался там чип NV40 ревизии A1, произведённый, как несложно понять из маркировки, на 26 неделе 2004 года, а рядом с ним – 8 чипов памяти, произведённых компанией Hyndai-Hynix и имеющих время доступа 2.2 наносекунды, что примерно соответствует рабочей частоте 400(800) МГц.
Но пора уже карточку и включить. Включили и тут же порадовались приятному синему свету, излучаемому системой охлаждения карты.
Моддерская подсветка стала уже традиционной для всех видеокарт серии Apogee у CHAINTECH, и новинка на базе GeForce 6800 не стала исключением. Однако, не это самое интересное.
Гораздо интереснее другое – рабочие частоты данной видеокарты были существенно завышены по сравнению с эталонными частотами и составляли 358/770 МГц против стандартных 325/700 МГц. Весьма неслабое, надо отметить, повышение, составляющее в процентном соотношении аж 110% для графического процессора и памяти. А учитывая ещё и тот факт, что карточка позволила нам без проблем активировать все заблокированные конвейеры, у нас на руках оказалось нечто более приближенное к GeForce 6800GT и сильно отдалённое от обычной GeForce 6800.
Карты тоже любят покушать, и об этом надо помнить
Итак, питание. Казалось бы, карточка должна без проблем работать, что она, впрочем, и делает, однако же наша GeForce 6800 уже работает во внештатном режиме, как мы уже заметили, более приближенном к режиму работы куда более мощной GeForce 6800GT. А чем отличается GeForce 6800 от 6800GT и 6800 Ultra, помимо установленных чипов VPU, памяти и, конечно же, конвейерной/частотной конфигураций? Разумеется, дизайном PCB, который у 6800GT, по сравнению с 6800, предусматривает куда более мощную схему питания с одним дополнительным коннектором, а в случае с GeForce 6800 Ultra уже с двумя кабелями доп-питания..
Отсюда следует вполне резонный вывод о том, что обычной GeForce 6800 во внештатной конфигурации может просто-напросто не хватить питания, и если она нормально работает с 16 пиксельными и 6 вертексными конвейерами на штатных частотах, это вовсе не означает, что стабильная работы платы сохранится при её последующем разгоне.
И следующее, о чём следует помнить, – разумеется, охлаждение платы. Ведь в ряде случаев GeForce 6800 снабжают куда более скромными системами охлаждения, чем GT и Ultra модификации, а задействовав дополнительные конвейеры, мы заставляем графический процессор выполнять куда бОльшие внутренние нагрузки, и, соответственно, должно увеличиваться и тепловыделение платы.
Однако наша плата становится некоторым исключением в случае охлаждения, так как оно полностью позаимствовано у старшей модели GT, но при этом схема питания всё же остаётся прежней, скопированной с референс-дизайна GeForce 6800.
Таким образом, перед нами встают две задачи – во-первых, определить, насколько последующий разгон GeForce 6800 во внештатном режиме скажется на стабильности работы платы, и во-вторых, скажется ли активация дополнительных конвейеров на тепловыделении. Ну и, разумеется, необходимо провести анализ производительности платы в различных режимах и тестах. Чем мы и не преминули заняться.
Как мы тестировали
Первый же вопрос, который встал перед началом тестирования – выбор инструментария. Итак, мы тестируем карту в различных комбинациях PP/VP, начиная от стандартной 12PP/5VP и заканчивая итоговой 16PP/6VP, и нам надо посмотреть, насколько сильно активация тех или иных конвейеров скажется как на производительности в целом, так и на производительности непосредственно блоков пиксельных/вершинных шейдеров.
Поэтому первым же делом в инструментарий попали Vertex Shader и Pixel Shader тесты из пакета 3DMark05. Следом за ними в комплекс был взят AquaMark 3, причём смотреть мы будем не только на итоговый результат, но и на некоторые из составляющих сцен, наиболее активно нагружающие интересующие нас блоки, а именно:
• High particle count
• Large scale vegetation rendering
• Massive overdraw
Третьим тестом, взятым для анализа производительности системы в целом, стал довольно-таки уже немолодой, но всё-таки красивый DX8-тест CodeCreatures Pro. Итак, в нашем инструментарии уже пребывают тесты как под SM3 (в 3DMark05 мы выбрали профиль под шейдеры третьей версии), так и под DX9/DX8. В целом, для получения общей картины этого должно было хватить, однако все эти приложения – синтетика, а нам не помешало бы взглянуть и на производительность в реальных играх, ведь не для синтетики же мы покупаем столь мощные видеокарты. В качестве игрового теста был выбран хит этого года – Half-Life 2. Записанные нами тестовые сцены изобиловали различными шейдерными эффектами, а посему должны неплохо отражать изменения производительности вертексного и пиксельного блоков.
И, наконец, режимы, в которых мы тестировали. К сожалению, тестовый стенд на руках был далеко не самый мощный, и поэтому, дабы избежать проявления процессорозависимости, тестирование проводилось только при включённом полноэкранном сглаживании 4X и анизотропной фильтрации 8X в самых верхних разрешениях. Мы протестировали четыре различные комбинации:
• 12/5 пиксельных/вершинных конвейеров;
• 12/6 пиксельных/вершинных конвейеров;
• 16/5 пиксельных/вершинных конвейеров;
• 16/6 пиксельных/вершинных конвейеров.
Тестирование проводилось на машине следующей конфигурации:
• процессор: AMD Athlon XP ~2600+ (200 МГц FSB);
• материнская плата: SOYO Dragon 2 (VIA KT880);
• память: 2x256 Мбайт PC 3200 (400 МГц @ 2-2-5-2) Dual Channel;
• блок питания: FSP Group PowerMan 350 W;
• жёсткий диск: Seagate Barracuda IV 60 Гбайт;
• ОС MS Windows XP Pro SP2, DirectX 9.0c.
Для получения наиболее точных результатов было решено перезагружать систему после снятия результатов каждого тестового приложения.
К вопросу о драйверах
Весьма любопытный казус возник при попытке протестировать видеокарту на новом драйвере NVIDIA ForceWare 71.84: в режиме 2D видеокарта продемонстрировала просто дикую массу артефактов, искажений цветовой гаммы и прочих дефектов изображения. Изменение установок аппаратного ускорения графики в 2D в настройках Windows к чему-либо дельному не приводило и лишь изменяло степень и характер артефактов.
При установке более старых версий 61.36 и 66.97 видеокарта функционировала без каких-либо проблем. Тестирование в конечном итоге проводилось на ForceWare 66.97 (дистрибутив LiteForce).
Попытались разогнать
Весьма любопытно было бы посмотреть на возможности исследуемой видеокарты в разгоне, однако же карта практически полностью отказалась работать на повышенных частотах, что выражалось артефактами при увеличении частоты памяти хотя бы до 800 МГц и сбросом частоты чипа до штатной при практически любом увеличении. При разгоне мы проводили мониторинг частот при помощи RivaTuner, и картина мониторинга оказалась неутешительной – видеокарта работала на повышенной частоте чипа не более пяти минут, после чего происходил сброс в штатный режим.
Однако же не будем забывать, что частоты нашего экземпляра GeForce 6800 и так значительно превышают номинальные, так что не будем хотеть слишком многого. Кроме того, оверклокерский потенциал видеокарточек может сильно варьироваться от одного конкретного экземпляра к другому, нам могло просто «не повезти» с платой.
Рассматриваем графики
3DMark05
Итак, начнём с синтетических тестов, отражающих непосредственно производительность вертексного и пиксельного блоков, коих было проведено три. Первым делом стоит взглянуть на рост производительности пиксельного конвейера, так как именно он наиболее показателен:
В данном случае работа вершинного блока на результате не сказывается, а появление дополнительных 4-пиксельных конвейеров тест воспринял не иначе, как существенным ростом производительности. Не удивительно.
Просто вершинный шейдер, рост производительности при активации дополнительного вершинного конвейера минимален и составляет десятые доли рассчитываемых MVert/s. Также неудивительно – уж больно простая сцена. Усложним задачу:
В комплексной сцене всё уже намного интереснее, и разница в производительности становится куда более существенной, причём свою роль играют как вершинные, так и пиксельные конвейеры, в первую очередь, за счёт усложнения сцены и увеличения доли пиксельных операций. Причём пиксельный блок в данном случае оказывает куда большее влияние на производительность, чем вершинный.
AquaMark 3
Перейдём к более приближенному к реальным приложениям комплексному тесту, активно использующему все возможности API DirectX 9, а именно к третьему AquaMark. Начнём с комплексной производительности в данном тесте:
Наиболее сильный рост наблюдается при активации пиксельных конвейеров, вершинный же блок оказывает минимальное влияние на общую производительность. Однако общей цифры для понимания проблемы недостаточно, а исходя из этого, рассмотрим по порядку три самых ресурсоемких сцены AquaMark 3:
Данная сцена просто переполнена мельчайшими частицами, вследствие чего оказывает существенную нагрузку на пиксельный блок, что наглядно демонстрируют результаты.
Следующая рассматриваемая сцена чувствительна к вершинному конвейеру не более, а к пиксельному не менее, чем первая. Ну и напоследок, сцена со смачным взрывом Massive Overdraw:
Все три сцены наглядно показывают, что эффективность от включения дополнительных пиксельных конвейеров куда более существенна, чем при активации одного дополнительного вершинника.
CodeCreatures
А вот в CodeCreatures выполняется большое количество вершинных расчётов, что соответствующим образом повлияло на результат:
Действительно, в отличие от тестов AquaMark, в старом CodeCreatures мы наблюдаем весьма существенный скачок от активации дополнительного вершинного конвейера, в то время как пиксельный блок оказывает минимальное влияние на производительность. Вполне адекватная картина. Но хватит уже, наверное, синтетики, ибо заключительное слово в нашем тестировании предоставлено всё-таки реальному, игровому тесту.
Half-Life 2
Как мы успели упомянуть чуть выше, мы записали три небольшие тестовые сцены в Half-Life 2, при помощи которых и проводилось тестирование. Настройки качества графики в игре были установлены на максимальное значение. Тестирование, как и везде до этого, проводилось при включённом полноэкранном сглаживании четвёртого уровня и анизотропной фильтрации уровня 8X:
Как мы легко можем заметить, игра Half-Life 2 весьма чувствительна к производительности вертексного блока, в то время как увеличение количества рабочих пиксельных конвейеров приводит к несколько меньшему приросту производительности, нежели активация дополнительного вершинника. Это говорит о том, что одним из узких мест в Half-Life 2 является именно производительность вершинного блока, и даже несущественное увеличение его мощности может серьёзно повлиять на производительность. В то же время, для расчёта пиксельных шейдеров неплохо хватает и мощности 12 конвейеров.
Делаем выводы
Как оказалось в реальности, наше сегодняшнее тестирование имеет и несколько более глубокий смысл, чем могло показаться на первый взгляд. Начинали мы с того, что хотели посмотреть разницу в производительности между обычной GeForce 6800 и её переделанным вариантом с дополнительными активированными конвейерами, а пришли в конечном итоге к реальному исследованию производительности пиксельного и вершинного блоков у GeForce 6800. И показало данное исследование, заметим, весьма любопытные результаты, что позволило нам придти к ряду интересных выводов.
В первую очередь, следует сказать, что совсем не стоит недооценивать вершинный конвейер. Пусть он и один против 4-пиксельных, в ряде случаев, а именно в приложениях, наиболее приближенных к реальным (CodeCreatures, не говоря уже о Half-Life 2), именно активация дополнительного вершинника даёт существенный прирост производительности. Что же касается пиксельных конвейеров, то активация оных в реальных приложениях не всегда приведет к желаемому приросту. Наше объяснение данной ситуации весьма простое – производительности пиксельного блока GeForce, составляющего в штатном режиме 12 пиксельных конвейеров, в принципе, достаточно для обеспечения нормальной скорости расчётов, и в ряде случаев пиксельный блок просто не будет загружен на полную мощность.
Что же касается блока вершин, то современные игры рассчитывают просто массу разнообразных вершинных операций, и производительность блока может неплохо влиять на производительность в целом.
Однако что-то мы немного отвлеклись от основной нашей темы, а именно GeForce 6800 и активации заблокированных конвейеров. Как показала практика, активация оных позволяет нам получить существенный прирост, приложив при этом минимальные усилия. Ведь это даже не разгон, и нам не придётся сидеть и долго подбирать максимальные частоты. Здесь у игрока есть лишь две карты – чёрная и красная – то есть карта либо заработает во внештатном режиме, либо нет. В случае успешной переделки мы получим производительность, близкую к старшей модели GeForce 6800GT, в противном случае – останемся при своём. Однако в обоих случаях никто не мешает прибегнуть ещё и к разгону, не правда ли? :-)