Впрочем, это тема для отдельной статьи, а здесь мы рассмотрим «симметричный ответ» AMD – Athlon 64 FX60, который, по сути, является обычным Athlon 64 X2 4800+, только работает на чуть большей частоте – 2,6 ГГц. Изначально предполагалось, что AMD анонсирует его раньше, чем Intel представит Pentium 955, однако Intel, по заложенной этим летом традиции, упускать лавры первого анонса не стала и в последний момент скорректировала сроки. Учитывая, что FX60 существенно опережает ее топовое решение – вполне разумная мера: теперь вместо двух отчетов о лидерстве AMD и «догоняющем» Intel в Сети находится как отчет о лидерстве AMD, так и вполне лестные отзывы на 955-й. Впрочем, AMD, похоже, не в обиде, – в любом случае, она продает столько процессоров по высокой цене, сколько вообще в состоянии произвести. Интересна разве что смена вектора традиционно «геймерской» серии с «быстрых одноядерников» на «быстрый двухъядерник», пусть и с чуть меньшей тактовой частотой (2,6 против 2,8 у FX-57). Скорее всего, воспользовавшись мощным пиаром двухядерников со стороны Intel-а и недавно появившейся серией задействующих многопоточность патчей (в том числе и на уровне драйверов), AMD решила, что момент для этого выбран более чем подходящий. И сейчас мы это проверим.
Вооружившись всеми «игровыми» новинками, мы собрали в лаборатории шикарный тестовый стенд, где на практике проверили, к чему же, в конце концов, привела волна анонсов «железа» на практике. Для того чтобы можно было оценить выгоду на текущий момент от задействования второго ядра и обеспечить более объективные показатели сравнения видеокарт, мы слегка разогнали наш FX60 до тактовой частоты 2,8 ГГц и основные тесты проводили на нем, используя FX57 в качестве «референсного» одноядерного образца. В качестве драйверов мы взяли самые последние стабильные сборки nVidia Forceware 8x.xx и ATI Catalyst 6.x; причем для них обоих производители заявили об «оптимизациях под двухъядерные процессоры». Более подробная конфигурация стенда и полученные результаты, как обычно, расписаны во врезках.
Тестовая система
Процессор: AMD Athlon 64 FX-60 @ 2,80ГГц (Dual core CPU),
AMD Athlon 64 FX-57 @ 2,80 ГГц (Single core CPU)
Материнская плата: MSI K8N SLI (nForce 4 SLI)
Оперативная память: 2х512 Мбайт DDR 400 Corsair 2-2-2-5
Блок питания: OCZ 520W
ОС и драйверы
Windows XP Professional SP2; nVidia nForce4 Platform Driver 6.39; DirectX 9.0c End User Runtime; Catalyst 6.1 и ForceWare 81.98
Эксперимент
В итоге получилась довольно интересная картинка.
Во-первых, «оптимизации под двухъядерность» действительно принесли в ряде приложений весьма ощутимые плоды, выразившиеся примерно в 10–15-процентном приросте производительности в 3Dmark 2006 и Far Cry. Причем если с 3Dmark ситуация не вполне понятна (возможно, разработчики Futuremark приложили здесь свою руку), то с Far Cry – однозначна: эта игра многопоточность до сих пор не поддерживает, и существенный прирост производительности при переходе к двухъядерным процессорам в ней – это в чистом виде эффект новых драйверов. nVidia каких-либо комментариев по поводу своих «оптимизаций», к сожалению, не дает (и, что еще хуже, пользователи в некоторых ситуациях жалуются на нестабильную работу «оптимизированных» драйверов, вплоть до необходимости эти оптимизации через реестр отключать), а вот представители ATI охотно поясняют, что, по сути, основные их оптимизации сводятся к разнесению потоков видеодрайвера (обрабатывающего «сырые» данные, передаваемые ему через Direct3D– или OpenGL-интерфейсы, и отправляющего их на ускоритель) и потока игры по разным процессорам. Far Cry традиционно славен огромными объемами используемой в этой игре «геометрии», а потому, по видимости, их обработка действительно занимает настолько существенное время, что подобное «распараллеливание» дает ощутимый прирост. Однако в остальных случаях, как нетрудно видеть, от существующих «оптимизаций» ни вреда, ни толку, в общем-то, никакого.
Для некоторых игр, и, в частности, Quake 4 и Call of Duty 2, существуют специальные патчи, вносящие в эти игры «врожденную» поддержку многопоточности. Поскольку здесь речь заходит уже не о тривиальном «разделении» драйвера и игры по разным процессорам, а о более интеллектуальном распределении между процессорами различных подсистем одной игры, то и прирост производительности здесь стабильнее и выше – до 40% (!). Но здесь, к сожалению, следует упомянуть одно «но»: происходит это далеко не во всех игровых ситуациях и, к сожалению, наибольший прирост достигается на наиболее простых и потому «быстрых» игровых сценах, которые, в общем-то, ускорять и не обязательно. И объяснение этому эффекту довольно простое: основной «тормоз» в играх – это графический ускоритель, а до тех пор, пока 80% времени процессор ожидает, пока ускоритель выведет очередной кадр на экран, получить более чем 1/(1 – (1-80%) / 2) ~ 11% прироста производительности, увы, даже в идеальном случае невозможно. А чем проще сцена – тем меньше времени съедает видеокарта и тем больше прирост производительности. И, к сожалению, пока при разработке игр основной упор делается на «графику», эта ситуация к лучшему не изменится. К примеру, в российском «Периметре», многопоточность довольно эффективно используется для параллельной обработки повреждений и изменений игрового мира. Но сегодняшние стратегии и так не могут пожаловаться на недостаточную производительность машин игроков, а когда вы в последний раз видели шутер, где можно было бы соорудить не то что дырку в стене дома, а хотя бы воронку в земле от взрыва снаряда?
Одним словом, определенная польза от перехода на двухъядерность в играх, безусловно, уже появляется; однако, в общем и целом – не оправдывает затрачиваемых на нее средств (проще уж видеокарту купить подороже). Отсюда и минимальная разница в цене между FX-57 и FX-60. Однако критиковать AMD за «преждевременный переход Athlon 64 FX на двухъядерность», думаю, глупо – в конце концов, лишние 6–8% сугубо потенциального преимущества FX-57 в играх явно не стоят огромных преимуществ, предоставляемых FX-60 во всем остальном, включая типовую повседневную работу. Другой вопрос, что хотелось, в принципе, большего, чем скромное увеличение тактовой частоты топового двухъядерного решения на 8,3%.
Во-вторых, Radeon X1900 XTX, как и предполагалось, действительно заметно обгоняет своего 7800-512-го конкурента. Правда, не везде и не во всем: судя по всему, сказывается заметно менее быстрая оперативная память (1450-1550 МГц против 1700 МГц), и в полтора раза меньшее число модулей выборки текстурных данных. Специалисты ATI, правда, утверждают, что в среднем в пиксельном шейдере приходится до семи математических инструкций на одну инструкцию выборки, а потому «вычислительная мощь» 48 пиксельных блоков (кстати, на удивление «дешевых» в производстве, судя по незначительному увеличению числа транзисторов в R580 по сравнению с вроде бы втрое более простым R520) важнее «текстурных» мощностей GPU, однако ж – от процессора, обладающего вдвое большим числом обрабатываемых за такт пикселей и существенно большей частотой, можно было бы ожидать и большего. Есть, правда, и альтернативное предположение – что центральный элемент архитектуры X1000, блок диспетчеризации Ultra-Treading Dispatch Engine, попросту не успевает достаточно эффективно загрузить доступные ему вычислительные ресурсы; однако оно для ATI звучит гораздо печальнее и едва ли соответствует истине. В любом случае, X1900 пока – безусловный лидер, и каким будет на него весенний ответ nVidia – еще непонятно.
С GeForce 7800 GTX 512 Mбайт все проще – она везде и всюду сильно (до 40%) опережает своего предшественника, чего и следовало ожидать от «разогнанного» решения. Это очень хорошая видеокарта, но ее бывшее лидерство уже утрачено, массовое распространение – не светит, а шум и тепловыделение лишь немногим меньше, чем у X1900. Одним словом, в «королях горы» может ходить только один, и период «царствования» 7800 GTX 512, отлично расходившегося еще пару месяцев назад, позади.