Время считается в секундах, а расстояние — в метрах. Человечество давно оперирует многочисленными единицами измерения, такими как вольт, ампер, ньютон, ватт и джоуль. Мы научились давать количественную оценку характеристик окружающих нас объектов, сравнивать их, основываясь на полученных данных. Но как сравнить между собой производительность двух компьютеров? Привычные понятия вроде скорости, массы и напряжения здесь не к месту. Можно воспользоваться экзотической единицей измерения, именуемой «флопс» (она показывает, сколько простейших операций с числами с плавающей запятой может выполнить устройство за единицу времени), однако это навряд ли стоит считать решением ситуации. Теоретическая производительность — это одно, а практическая, подкорректированная сырыми драйверами, специфическими особенностями архитектуры и кривой поддержкой многопоточности, — совершенно другое. По этой причине мы вынуждены прибегать к специализированным тестам, призванным имитировать работу системы при решении определенных типов задач и оценивающим старания компьютера в абстрактных баллах. Именуются подобные тесты бенчмарками.
Перед тем как приступать к тестированию, крайне желательно подготовить систему к испытаниям. В идеальном случае тесты должны проводиться на «чистой» операционной системе, на которую установлены все официальные заплатки и обновления, однако, если это невозможно, мы рекомендуем выполнить ряд несложных действий.
Прежде всего стоит отключить все ненужные программы, находящиеся в оперативной памяти, — в этот список попадают антивирусы, переводчики, менеджеры закачек и прочие бесполезные для тестирования приложения, отъедающие ресурсы системы. Также в системе гарантированно должны отсутствовать вирусы и черви. Еще перед началом тестирования не помешает почистить реестр от мусора с помощью какой-нибудь специальной утилиты (например, CCleaner). Ну и, само собой, убедитесь, что в системе установлены самые свежие драйвера железа и самая последняя версия DirectX.
Актуальное явление
Кому нужны бенчмарки? Первый и самый очевидный ответ, который приходит на ум, — простым покупателям. Брать какую-нибудь железку, основывая свой выбор только лишь на ее технических характеристиках, — не всегда умное решение. Конечно, если две видеокарты или два процессора основаны на одной и той же архитектуре и не сильно разнятся между собой, то оценить приблизительную разницу в производительности вполне реально. А вот, скажем, сопоставить «на глаз» мощность пары видеокарт от разных производителей, не разбираясь в модельных рядах этих компаний, — дело неблагодарное. Простой пример: GeForce GTX 280 несет на борту 240 потоковых процессоров, а Radeon HD 4870 — аж 800. Однако же творение NVIDIA все равно оказывается быстрее конкурента. Аналогично, Core 2 Duo Е6850 разносит в пух и прах Athlon 64 X2 6000+, несмотря на одинаковые рабочие частоты (3 ГГц). Словом, перед покупкой какого-либо компонента ПК крайне желательно посмотреть, как ведет себя это устройство в специализированных тестах.
При покупке готовых конфигураций бенчмарки также играют очень важную роль. Если во время сборки системного блока не соблюден баланс и дорогое производительное железо соседствует с откровенным хламом, то ничего хорошего из этого не выйдет. Если покупатель не в состоянии самостоятельно определить подобные нестыковки, то бенчмарки все равно их выявят — несбалансированная система много баллов не наберет. Заметим, что ряд крупных компаний, занимающихся реализацией ПК, указывает среди технических характеристик продукции баллы, которые набрала продаваемая система в том или ином тесте. Крайне полезная практика, вот только большой популярности она пока что не обрела.
Бенчмарки незаменимы при разгоне системы. Так, сравнив результаты тестов ПК до и после оверклокинга, можно оценить полученный прирост быстродействия. Кроме того, разгон — это процесс, таящий в себе массу нюансов, и иногда невозможно заранее предсказать, как поведет себя система при изменении настроек. Наиболее показательный пример в данном случае — разгон памяти. Дело в том, что у ОЗУ есть два важных рабочих параметра — частота и тайминги. Последняя характеристика определяет задержки между операциями определенного типа. При этом чем больше тайминги, тем выше теоретическая максимальная частота модулей памяти. Однако невозможно заранее предугадать, что будет полезнее для конкретной системы: минимальные задержки или максимально возможная частота. Подобрать оптимальную конфигурацию можно лишь опытным путем, сравнивая результаты тестов при различных настройках.
Другой пример — разгон видеокарты. При достижении определенной частоты графическое ядро начинает порождать «фризы» — кратковременные замирания картинки. Как правило, они заметны, но бывают и исключения. Если фризы вовремя не обнаружить, то пользователю будет казаться, что разгон прошел успешно, т. е. система работает стабильно, а производительность повышена относительно номинала. На самом же деле графическое ядро будет работать на пределе, в результате чего оно, скорее всего, не прослужит долго, а быстродействие, наоборот, уменьшится. Переразгон центрального процессора может привести к включению троттлинга — особого механизма защиты, который включается при высоких рабочих температурах и снижает нагрузку на ЦП, в результате чего производительность системы падает. Уберечь себя от подобных проблем не сложно — просто необходимо проверять с помощью тестов, как сказываются на скорости работы ПК ваши манипуляции.
Без бенчмарков невозможно представить существование так называемых оверклокеров-экстремалов — людей, стремящихся выжать из своих систем максимум любыми возможными методами. Они не стесняются использовать в своих опытах сухой лед, жидкий азот и вольтмод, т. е. модификацию подсистем питания устройств. Вознаграждаются эти старания запредельным быстродействием, которое используется для установки рекордов в бенчмарках. Многие тесты имеют специальные сервера, на которые пользователи выкладывают свои результаты, и между оверклокерами разворачиваются нешуточные баталии за первые места в подобных рейтингах.
Ну и, само собой, тесты производительности помогут некоторым спорщикам раз и навсегда решить вопрос «Чей комп круче?».
Считается, что результаты тестов 3DMark наиболее объективно определяют быстродействие системы. Однако видеокарта, показывающая выдающиеся результаты в бенчмарках, в реальных играх может оказаться не так хороша. Производители графических адаптеров прекрасно понимают, что многие пользователи при оценке быстродействия смотрят в первую очередь на баллы, которые устройство зарабатывает в 3DMark, так что программисты сначала адаптируют драйвера для работы с этими тестами, а уж потом заботятся об их оптимизации под конкретные игры.
Во времена царствования 3DMark 2003 ситуация вообще доходила до абсурда: некоторые версии драйверов NVIDIA при запуске бенчмарка заставляли видеокарту откровенно халтурить, обрабатывая не все элементы сцены. На качестве картинки это не сильно сказывалось, а вот итоговые баллы возрастали существенно. К счастью, в более новых версиях 3DMark разработчики учли это, и воспользоваться подобными хитрыми алгоритмами более не представляется возможным.
Золотая серия
Абсолютным лидером в сфере бенчмарков для игровых ПК можно считать серию 3DMark от компании Futuremark. Первая версия 3DMark была представлена миру в далеком 1999 году, и на протяжении почти 10 лет эти тесты являются своеобразным стандартом для определения быстродействия системы. По сложившейся традиции, каждая новая версия этого бенчмарка на момент выхода слегка опережает свое время — программисты стараются внедрить в продукты технологии, которые еще только-только начинают использоваться в играх. По этой причине тесты 3DMark остаются актуальными на протяжении нескольких лет.
В основе бенчмарков этой серии лежит воспроизведение сложных трехмерных сцен, то есть компьютер совершает примерно те же действия, что и во время обработки игровых приложений. Наибольшей нагрузке подвергается графическая подсистема, но и процессор не остается обиженным — специальные тесты, входящие в стандартный набор, позволяют проверить, на что способен ЦП при крайне слабом влиянии со стороны видеокарты. Любой желающий может загрузить результаты тестирования на специальный сервер статистики и сравнить их с достижениями других пользователей.
Помимо стандартного набора тестов, определяющего рейтинг системы, в бенчмарках серии 3DMark присутствуют тесты функциональности, позволяющие определить отдельные аспекты производительности, вроде скорости заполнения кадра и производительности шейдерных блоков в определенных типах задач.
На сегодняшний день актуальными остаются две версии бенчмарка: 3DMark06 и 3DMark Vantage. Первая идеально подходит для проведения тестирований в среде DirectX 9, а вторая способна работать лишь под Windows Vista и только при наличии DX10-совместимой видеокарты.
В случае с 3DMark06 в обязательную программу входит шесть тестов. Первые две сцены в слегка упрощенном виде присутствовали еще в 3DMark05. Речь идет о «Return to Proxycon» и «FireFly Forest». В первой демонстрации воспроизводится высадка десанта на космическую станцию, а во второй показана пара ярких огоньков, летающих по ночному лесу. Оба теста проверяют производительность видеокарты при работе с шейдерами второй версии (Shader Model 2.0).
В третьей и четвертой сцене при построении изображения используется высокий динамический диапазон цветов (HDR) и Shader Model 3.0. Тест «Canyon Flight», показывающий полет волшебного дирижабля через каньон, опять-таки перекочевал сюда из 3DMark05, при этом значительно преобразившись. Ну а «Deep Freeze» — это абсолютно новый тест, изображающий заброшенную полярную станцию.
Два теста процессора моделируют одну и ту же сцену, названную Red Valley. В ней воссоздан лабиринт каньонов и 87 ботов — быстрых машинок и танков. Машинки пытаются прорваться сквозь каньон, а танки им активно мешают. Сцена воспроизводится два раза с различными настройками алгоритмов. В первый раз большинство ресурсов отводится под моделирование искусственного интеллекта ботов, во втором случае акцент делается на расчете «физики» среды.
В Vantage количество тестов сократилось до четырех. Два из них предназначены для видеокарты, а еще два — для центрального процессора. В первой сцене, именуемой «Jane Nash» повествуется о девушке, убегающей на катере с какой-то военной базы, расположенной в скале. В тесте номер два — «New Calico» — показан космос и гигантский корабль, расстреливающий поверхность планеты. В обоих случаях при построении сцены используются шейдеры четвертой версии и HDR.
В тестах процессора показаны самолетики, пролетающие через контрольные ворота. В первой демонстрации вся мощность процессора бросается на то, чтобы летуны вычисляли оптимальный маршрут движения, избегая столкновений, — траектории полетов не прописаны заранее. Во втором тесте ЦП занят вычислением «физики»: контрольные ворота в этой сцене расположены очень близко друг к другу, так что самолеты сталкиваются с объектами окружения и между собой. При этом они оставляют дымный след, который реагирует на прохождение сквозь него самолетов и постепенно рассеивается. Для каждого вычислительного ядра создается своя пара ворот, так что количество препятствий напрямую зависит от используемого процессора.
В отличие от предшественников, в Vantage существует сразу четыре стандартных профиля тестирования, благодаря чему бенчмарк подходит как для тестирования относительно слабых систем, так и для издевательств над производительными ПК.
Прочие тесты
Конечно же, помимо 3DMark в мире существует и множество других бенчмарков. Например, все та же Futuremark прославилась еще одним тестом — PCMark. В нем вы не увидите эффектных трехмерных сцен, однако данный бенчмарк покажет в числовом выражении, насколько хороши такие компоненты вашей системы, как процессор, память, жесткий диск и видеокарта в режимах 2D и 3D. Количество тестов измеряется десятками, и они позволяют оценить самые различные аспекты производительности. К сожалению, последняя версия PCMark, названная, опять-таки, Vantage, вышла откровенно провальной — слишком уж неадекватно она подсчитывает рейтинг системы. Как следствие, особой популярности она не снискала.
Еще один комплексный бенчмарк — Sisoftware Sandra. Количество различных тестов, включенных в программу, внушает уважение: протестировать можно практически все, вплоть до скорости работы ленточных накопителей. При этом в базе Sandra содержатся эталонные баллы для самых различных конфигураций ПК, так что пользователь всегда может представить, насколько его система сильнее или слабее той или иной сборки. Заметим, однако, что Sandra — это прежде всего информационная утилита, а уже потом бенчмарк, да и объективность некоторых тестов порою вызывает сомнение.
Также достаточно популярен среди пользователей тест CrystalMark, который позволяет оценить производительность винчестера, оперативной памяти, подсистем процессора и видеокарты. По результатам пыток CrystalMark показывает детальные результаты каждого из испытаний, а также некие абстрактные баллы для каждого из компонентов и системы в целом. Эти показатели можно сравнить с результатами других людей на официальном сайте.
Для издевательств над видеокартой отлично подойдут бенчмарки Tropics Demo и Sanctuary Demo от разработчиков из Unigine. В первом тесте можно полюбоваться красотами тропического острова, а во втором нам покажут некое мрачное святилище. Обе сцены могут работать как с девятой, так и с десятой версией DirectX, при этом демонстрации щедро сдобрены новомодными графическими технологиями.
Среди многообразия программ, предназначенных для тестирования процессора, сложно найти такую, которая резко выделялась бы на фоне конкурентов. Тем не менее такие тесты есть: взгляните, скажем, на CPU RightMark, RealStorm Benchmark 2006 или SuperPI. Увы, последние два бенчмарка не оптимизированы под многопоточность, но с их помощью удобно измерять прирост быстродействия, полученный от разгона.
CPU RightMark прославился тем, что он сводит к нулю влияние на конечные результаты всех подсистем, кроме оперативной памяти и шины, связывающей ее с процессором. Программа замеряет время, которое тратится на выполнение «внешних» задач, таких, как обращение к жесткому диску, и учитывает его при выводе результатов тестирования.
Бенчмарк RealStorm занимается построением сложной трехмерной сцены, в которой в реальном времени обрабатываются эффекты преломления и отражения лучей. При этом в расчетах не используются возможности видеокарты, и вся нагрузка ложится исключительно на плечи центрального процессора.
Тесты серии Super PI предназначены для расчета числа «пи» с высокой точностью. Например, версия Super PI 1.1e способна высчитать его значение с точностью до 33,5 млн знаков после запятой. В качестве показателя производительности выступает время, потраченное на эту мудреную арифметику.
Поиграем?
Кто основной потребитель мощных ПК? Правильно — игроки. Именно игры подталкивают нас к приобретению дорогого железа, ведь для использования браузера и офисных программ вовсе не обязательно приобретать систему за несколько тысяч долларов. Так почему бы не использовать для тестирования производительных компьютеров те приложения, для которых они предназначены, т. е. игры?
Показателем быстродействия в случае с играми выступает такой параметр, как «average fps» (frames per second), т. е. среднее количество кадров в секунду. Регистрируется это значение либо самой игрой, либо сторонними программами. Однако если просто запустить Crysis и погонять полчасика корейцев по джунглям, то от полученного значения average fps будет мало пользы. Для получения данных, пригодных для сравнения, условия тестирования должны быть идентичны, т. е. разные ПК должны обрабатывать одну и ту же сцену с одинаковыми настройками, а с этим как раз и возникают сложности.
Идеальный вариант, доставляющий меньше всего проблем — это игры со встроенными бенчмарками. В них изначально присутствуют предварительно записанные демосцены, на основе которых автоматически высчитывается среднее количество кадров в секунду. К подобным играм можно отнести, к примеру, F.E.A.R., Company of Heroes, Crysis и World in Conflict. Кроме того, в природе существуют независимые бенчмарки, сделанные на движке какой-нибудь игры. Например, можно воспользоваться такими тестами, как Devil May Cry 4 Benchmark и Call of Juarez DirectX 10 Benchmark, — это независимые приложения, которые не требуют наличия полной версии игры.
В некоторых игровых приложениях, например в S.T.A.L.K.E.R., присутствуют инструменты для самостоятельного создания демонстрационных сцен. Как правило, необходимые для этого команды вводятся через консоль. Кроме того, в интернете можно найти немало готовых демосцен для некоторых популярных игр.
Если в игре отсутствует возможность автоматического подсчета average fps, то этот параметр можно вычислить с помощью специальных утилит, среди которых наибольшей популярностью пользуется FRAPS. Для комфортного использования этой программы мы рекомендуем заранее определить «горячую клавишу» для запуска подсчета. Также не забывайте о существовании таймера — FRAPS может автоматически прекращать тестирование по истечении заданного промежутка времени, так что вам не придется сидеть возле компьютера с секундомером.
Измерить производительность в играх, в которых отсутствует возможность воспроизведения демосцены, вполне реально, хотя полученные результаты будут не очень точными. Для этой цели можно выбрать несколько сцен из игры, в которых изменяется окружение, но игрок остается неподвижным, и измерить в них среднее количество кадров в секунду посредством FRAPS на относительно большом промежутке времени. Усреднив полученные значения для нескольких сцен, мы и получим своеобразный показатель производительности. Понятно, что для сравнения быстродействия на другом компьютере придется вручную воссоздавать те же самые сцены, так что разумно сделать сохранения игры в тех местах, где проводятся замеры.
Увы, у тестирования производительности с помощью игр есть два существенных недостатка. Судите сами: прелесть бенчмарков заключается в том, что тестируемые ими системы испытывают абсолютно одинаковую нагрузку, т. е. слабенький ПК из какого-нибудь захолустья подвергается тем же пыткам, что и его мощный собрат на другой стороне земного шара. Этот фактор позволяет воспринимать баллы тестирования как какой-то абсолютный результат, по которому можно сравнивать системы без всяких поправок и условностей. Именно благодаря этим принципам и возможно существование рейтингов систем. А вот игры подходят лишь для «битв локального масштаба»: на разных системах должны использоваться одинаковые демонстрационные записи с одинаковыми настройками графики и драйверами. Для игр не существует единого стандарта, по которому проводятся тестирования, из-за чего сравнение результатов в глобальных масштабах сильно затруднено.
Второй негативный момент: разные игры предъявляют разные требования к системе. В одном случае производительность упрется в слабую видеокарту, в другом слабым звеном станет процессор, а третья игра вообще может обидеться на малый объем оперативной памяти. В итоге одна и та же система может существенно обойти конкурентов в одной игре, но ощутимо отстать в другой.
Все идет в ход
В случаях, когда требуется измерить прирост быстродействия, полученный в результате разгона или замены какого-либо компонента, для тестов можно использовать программы, которые мы используем в повседневной жизни. Правда, здесь стоит сделать одну оговорку: графическую подсистему рабочие приложения практически не задействуют, так что такой метод тестирования далеко не всегда оправдан.
Простейший подручный тест — архиватор WinRaR, который превосходно нагружает как процессор, так и оперативную память. В нем комбинацией клавиш «Alt+B» можно запустить встроенный бенчмарк, который архивирует виртуальный набор данных и определяет скорость обработки информации. Кроме того, в это же самое время производится поиск ошибок, которые проявляются в результате сбоев в работе памяти. Как вариант, можно провести импровизированный тест, заархивировав один и тот же набор данных на двух разных конфигурациях и сравнив время архивации. Вообще, сопоставление времени выполнения операций — это основной метод, на котором базируются описанные в главе исследования.
Редакторы для трехмерного моделирования, например 3ds Max и Maya, тоже можно использовать для опытов: рендеринг сложных 3D-сцен порою занимает очень много времени, из-за чего даже незначительные изменения производительности можно легко отследить. Великий и ужасный Adobe Photoshop тоже способен вогнать систему в длительный ступор — этому может поспособствовать собственноручно написанный скрипт, состоящий из нескольких сотен операций и множества фильтров. Применять его разумнее к изображениям с очень высоким разрешением. Наконец, можно воспользоваться программами для математических расчетов (скажем, MathLab) — чтобы разобраться с большим набором сложных функций, процессору потребуется немало времени.
Еще один трудоемкий процесс — это перекодирование видео- и аудиоданных. Чтобы обработать несколько часов музыки или какой-нибудь DVD-фильм, системе придется долго работать на пределе возможностей, что нам, в общем-то, и требуется.
Сегодня мы рассказали вам о различных бенчмарках. Уверены, что выбрать наиболее подходящий под ваши нужды вариант теперь не составит труда.