Компьютеры

«Практическая переделка»: включаем конвейеры на 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, но получившей уникальный фейс.

Видеокарта CHAINTECH Apogee GF6800

В целом, по первому же взгляду, видеокарта внушает симпатию, однако внешность, как известно, порой бывает обманчивой, и мы незамедлительно глянули, что скрывается, так сказать, в недрах, под кулером:

CHAINTECH Apogee GF6800 - GPU и Memory

А скрывался там чип 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

Итак, начнём с синтетических тестов, отражающих непосредственно производительность вертексного и пиксельного блоков, коих было проведено три. Первым делом стоит взглянуть на рост производительности пиксельного конвейера, так как именно он наиболее показателен:

тестирование видеокарты CHAINTECH Apogee GF6800

В данном случае работа вершинного блока на результате не сказывается, а появление дополнительных 4-пиксельных конвейеров тест воспринял не иначе, как существенным ростом производительности. Не удивительно.

тестирование видеокарты CHAINTECH Apogee GF6800

Просто вершинный шейдер, рост производительности при активации дополнительного вершинного конвейера минимален и составляет десятые доли рассчитываемых MVert/s. Также неудивительно – уж больно простая сцена. Усложним задачу:

тестирование видеокарты CHAINTECH Apogee GF6800

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

AquaMark 3

Перейдём к более приближенному к реальным приложениям комплексному тесту, активно использующему все возможности API DirectX 9, а именно к третьему AquaMark. Начнём с комплексной производительности в данном тесте:

тестирование видеокарты CHAINTECH Apogee GF6800

Наиболее сильный рост наблюдается при активации пиксельных конвейеров, вершинный же блок оказывает минимальное влияние на общую производительность. Однако общей цифры для понимания проблемы недостаточно, а исходя из этого, рассмотрим по порядку три самых ресурсоемких сцены AquaMark 3:

тестирование видеокарты CHAINTECH Apogee GF6800

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

тестирование видеокарты CHAINTECH Apogee GF6800

Следующая рассматриваемая сцена чувствительна к вершинному конвейеру не более, а к пиксельному не менее, чем первая. Ну и напоследок, сцена со смачным взрывом Massive Overdraw:

тестирование видеокарты CHAINTECH Apogee GF6800

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

CodeCreatures

А вот в CodeCreatures выполняется большое количество вершинных расчётов, что соответствующим образом повлияло на результат:

тестирование видеокарты CHAINTECH Apogee GF6800

Действительно, в отличие от тестов AquaMark, в старом CodeCreatures мы наблюдаем весьма существенный скачок от активации дополнительного вершинного конвейера, в то время как пиксельный блок оказывает минимальное влияние на производительность. Вполне адекватная картина. Но хватит уже, наверное, синтетики, ибо заключительное слово в нашем тестировании предоставлено всё-таки реальному, игровому тесту.

Half-Life 2

Как мы успели упомянуть чуть выше, мы записали три небольшие тестовые сцены в Half-Life 2, при помощи которых и проводилось тестирование. Настройки качества графики в игре были установлены на максимальное значение. Тестирование, как и везде до этого, проводилось при включённом полноэкранном сглаживании четвёртого уровня и анизотропной фильтрации уровня 8X:

тестирование видеокарты CHAINTECH Apogee GF6800

тестирование видеокарты CHAINTECH Apogee GF6800

тестирование видеокарты CHAINTECH Apogee GF6800

Как мы легко можем заметить, игра Half-Life 2 весьма чувствительна к производительности вертексного блока, в то время как увеличение количества рабочих пиксельных конвейеров приводит к несколько меньшему приросту производительности, нежели активация дополнительного вершинника. Это говорит о том, что одним из узких мест в Half-Life 2 является именно производительность вершинного блока, и даже несущественное увеличение его мощности может серьёзно повлиять на производительность. В то же время, для расчёта пиксельных шейдеров неплохо хватает и мощности 12 конвейеров.

Делаем выводы

Как оказалось в реальности, наше сегодняшнее тестирование имеет и несколько более глубокий смысл, чем могло показаться на первый взгляд. Начинали мы с того, что хотели посмотреть разницу в производительности между обычной GeForce 6800 и её переделанным вариантом с дополнительными активированными конвейерами, а пришли в конечном итоге к реальному исследованию производительности пиксельного и вершинного блоков у GeForce 6800. И показало данное исследование, заметим, весьма любопытные результаты, что позволило нам придти к ряду интересных выводов.

В первую очередь, следует сказать, что совсем не стоит недооценивать вершинный конвейер. Пусть он и один против 4-пиксельных, в ряде случаев, а именно в приложениях, наиболее приближенных к реальным (CodeCreatures, не говоря уже о Half-Life 2), именно активация дополнительного вершинника даёт существенный прирост производительности. Что же касается пиксельных конвейеров, то активация оных в реальных приложениях не всегда приведет к желаемому приросту. Наше объяснение данной ситуации весьма простое – производительности пиксельного блока GeForce, составляющего в штатном режиме 12 пиксельных конвейеров, в принципе, достаточно для обеспечения нормальной скорости расчётов, и в ряде случаев пиксельный блок просто не будет загружен на полную мощность.

Что же касается блока вершин, то современные игры рассчитывают просто массу разнообразных вершинных операций, и производительность блока может неплохо влиять на производительность в целом. 

Однако что-то мы немного отвлеклись от основной нашей темы, а именно GeForce 6800 и активации заблокированных конвейеров. Как показала практика, активация оных позволяет нам получить существенный прирост, приложив при этом минимальные усилия. Ведь это даже не разгон, и нам не придётся сидеть и долго подбирать максимальные частоты. Здесь у игрока есть лишь две карты – чёрная и красная – то есть карта либо заработает во внештатном режиме, либо нет. В случае успешной переделки мы получим производительность, близкую к старшей модели GeForce 6800GT, в противном случае – останемся при своём. Однако в обоих случаях никто не мешает прибегнуть ещё и к разгону, не правда ли? :-)