Вступление
В среде профессионалов-"железячников", пишущих об аппаратном обеспечении или занятых в торговле компьютерами и комплектующими, PCmark является словом почти ругательным, употребляемым в качестве синонима для быстрого и неквалифицированного тестирования, не отражающего реальной производительности системы. Но, в общем-то, винить пользователя в приверженности именно этому бенчмарку, а не профессиональным Intel IOmeter или SYSmark, несколько несправедливо: даже профессионалу грамотно настроить (и даже просто заставить работать) эти высокообъективные и точные пакеты, равно как и интерпретировать выдаваемые ими результаты, зачастую очень непросто. Например, для одного-единственного прогона SYSmark 2004 требуется чистая операционная система Windows XP Professional SP1, обязательно
английская (никаких славянских языков, даже дополнительных!), которая должна быть размещена на диске C:, причем на этом диске должно быть не менее 10 Гб свободного места. И еще: в ходе тестирования обязательно необходимо отключить все сетевые адаптеры, а в компьютере должен присутствовать LPT-порт. И лишь после этого можно запускать SYSmark и
надеяться на то, что после двух-трёх попыток (каждая из которых занимает по четыре-восемь часов машинного времени) SYSmark соблагоизволит дать развёрнутую информацию и статистику по производительности компьютера в двадцати различных сценариях использования компьютера и сводную цифру-результат.
В отличие от профессиональных тестов, PCmark очень прост и надежен в использовании. Скачал его из Сети, установил на своём старом добром домашнем компьютере, забитом любимыми программами, запустил – и через 15-20 минут детище Futuremark выдаст более или менее правдоподобный результат, предложив опубликовать его в Сети и сравнить с результатами других пользователей. Просто, удобно, наглядно. Да и недооценивать тестовые возможности PCmark не следует: даже несмотря на некоторую однобокость, реализовано большинство его тестов на действительно высоком профессиональном уровне. Возводить его в абсолют (у соседа вдвое больше "писимарков", значит мой компьютер вдвое медленнее), конечно, не стоит; однако и совсем игнорировать – тоже. Тем более, что от версии к версии PCmark постепенно совершенствуется и показывая всё более и более объективные результаты.
Как оно устроено
PCmark – довольно своеобразный тест, относящийся к редкому "промежуточному" классу программ между "самодостаточными" бенчмарками (benchmarks), которые тестируют оборудование по своим собственным алгоритмам, и "комплексными" пакетами (test suite), которые тестируют систему, прогоняя "сценарии" - имитируя действия пользователя с самым обыкновенным программным обеспечением и замеряя время реакции системы. К примеру, линейка 3Dmark-ов – "самодостаточные" бенчмарки, а BAPCO SYSmark – комплексный системный пакет. "Самостоятельные" тесты, как правило, не отражают более-менее достоверной информации о производительности системы
в целом, достаточно точно показывая такие "слагаемые" этой производительности, как пиковая производительность процессора, пропускная способность и латентность оперативной памяти, скорость чтения и записи информации на жестком диске; однако ничего не говоря о том, как все эти показатели друг с другом сочетаются и как влияют на комфортность работы и время выполнения типовых задач в
действительно используемых программах. "Комплексные" - при грамотном подборе тестовых пакетов, успешно решают задачу измерения истинной производительности системы, однако имеют такую колоссальную сложность, что, как правило, требуют очень предсказуемой реакции всех составляющих системы по принципу "не там открылось окошко – тест слетел с ошибкой". Создатели PCmark постарались соединить в своём пакете лучшие качества обоих подходов.
Идея состоит в том, чтобы взять за основу бенчмарка "комплексный" подход, однако отказаться от прямой имитаций действий пользователя, и имитировать уже работу не пользователя, но
программы. Можно напрямую, "программно", вызывать критические к быстродействию части тестируемой программы – скажем, обратившись к нужной библиотеке, вызвать подпрограмму кодирования или декодирования файла с видео. Можно – просто "записать" все те действия, скажем, с жестким диском, которые предпринимает известная программа, и в бенчмарке "воспроизводить" их. PCmark использует оба этих подхода
Вкратце перечислю что, и как этот бенчмарк тестирует.
Создание и распаковка архивов (используется open-source библиотека zlib, на которой основывается архиватор gzip и ряд других открытых проектов). Исходные данные – двухмегабайтный документ, трехмегабайтный исполняемый файл, четырехмегабайтный аудиофайл и пятнадцатимегабайтный видеофайл. В тесте измеряется количество информации, упакованной и распакованной gzip-ом за 20 секунд.
Шифрование и дешифровка информации (используется open-source библиотека Crypto++ Library 5.0). В тесте измеряется количество информации, зашифрованной и расшифрованной за 20 секунд по алгоритму AES с 256-битным ключём.
Тест на редактирование текста. Используется стандартный компонент RichEdit, входящий в любую операционную систему Microsoft Windows (на основе этого компонента построен хорошо всем известный WordPad). В 85-килобайтном тестовом файле производится поиск и замена подстроки; измеряется количество замен, которые WordPad успевает произвести за 20 секунд.
Тесты на сжатие и воспроизведение аудиоинформации (используется open-source библитека OGG Vorbis). Измеряется время, затраченное на сжатие 3,5-мегабайтного wav-файла в ogg и время декомпрессии 2,3-мегабайтного ogg-файла в wav.
Сжатие и воспроизведение видеофайлов (используются Microsoft Media Encoder 9 и Microsoft Media Player 10). С помощью WME9 в формат WMA перекодируются MPEG высокого разрешения (с уменьшением разрешения), видеофайл DV, перекодируется другой WMA-файл. Измеряется время, затраченное на перекодировку. В тесте на воспроизведение WMP воспроизводит 14-мегабайтный видеофайл высокого разрешения. Измеряется средний fps во время воспроизведения файла.
Тест на рендеринг web-страниц. С помощью стандартного веб-браузера Internet Explorer 6.0 многократно открываются страницы нескольких видов, со сложным форматированием, картинками, скриптами, внедренными объектами. Измеряется количество страничек, отрендеренных за 20 секунд.
Тест на распаковку графических изображений формата JPEG (используется Standart JPEG Library от авторов стандарта - Independed JPEG Group). Распаковываются изображения разной детализации и разных размеров; изменяется общий объем информации, распакованной за 20 секунд.
"Физический" тест – отрисовка сцены с большим количеством взаимодействующих механических предметов (коробки, падающие по лестницам). Используется популярный физический движок Havok 2.3 и минимум трехмерной графики. Измеряется время, затраченное на воспроизведение ролика фиксированной длины.
Синтетический тест на производительность подсистемы оперативной памяти. Используются блоки разных размеров; в течении 10 секунд измеряются пропускная способность и латентность этой подсистемы (включая кэши всех уровней).
Тест на производительность Windows GDI (Graphics Display Interface), стандартный интерфейс всех операционных систем Microsoft Windows. Измеряется время реакции системы при одновременной отрисовке 30 перемещающихся полупрозрачных окон Windows.
Синтетический тест на производительность графической шины видеокарты и видеопамяти. PCmark создает в видеопамяти буфер достаточно большого размера, непрерывно обновляет в нём информацию и копирует её в фрейм-буфер видеокарты. Измеряется объем информации, обновленной подобным образом за 20 секунд.
Набор синтетических тестов на производительность графического ядра. Пиковая скорость заполнения сцены, пиковая скорость обработки геометрической информации, скорость выполнения пиксельных и вершинных шейдеров – все эти подтесты взяты из 3Dmark'05.
Полусинтетические тесты производительности жесткого диска (используется пакет RankDisk от Intel). PCmark "воспроизводит" заранее записанные файлы-сценарии, в которых "прописаны" такие действия с жестким диском, которые производит операционная система при загрузке, антивирусный сканер при проверке диска, обычные приложения при загрузке и повседневной работе; наконец, просто последовательная запись на диск файла большого объема
Часть вышеперечисленных тестов доступна только в платных "PCmark'05 Advanced Edition" и "PCmark'05 Professional Edition"; стандартный PCmark'05 Basic Edition бесплатен (и доступен для скачивания с сайта Futuremark по
ссылке). Для вычисления стандартного рейтинга производительности прогоняется 11 тестов, из которых три последних – "многозадачные" тесты, в которых одновременно задействуются от двух до четырех вышеперечисленных тестов. Окончательный результат получается как приближенное среднее геометрическое от полученных результатов, умноженное на некоторый коэффициент.
Практика использования
Если сравнивать новый тест Futuremark с предыдущим его поколением – PCmark'04, то, на первый взгляд, внесенные в бенчмарк изменения сравнительно невелики. Во-первых, слава Богу, несколько уменьшилось количество тестов, выполняемых одновременно: в оригинальном варианте "параллельной" была ровно половина тестов, в новом – только четверть, явно помеченная, как "тесты многозадачности". Во-вторых, из списка тестов убрали тесты на скорость сканирования файлов антивирусом и на скорость проверки грамматики. И обе эти модификации, на мой взгляд, весьма существенно повысили достоверность получаемых результатов. Дело в том, что, скажем, "одновременное сжатие и шифрование файлов" - задача, хоть и встречающая на практике, однако всеми известными мне архиваторами выполняемая
последовательно. А тест на скорость сканирования файлов антивирусом от F-Secure в "нормальных" условиях упирается отнюдь не в производительность центрального процессора (что провоцируют условия тестирования этого сканера в PCmark'04, где сканер проверяет по циклу 23 мегабайта данных) а в производительность жесткого диска (и в PCmark'05 тестирование 600 мегабайт данных антивирусом F-Secure включено в один из сценариев использования жесткого диска).
Другие изменения менее существенны. Из комплекта "стандартных" тестов также исключили тесты на кодирование видеокодеком DivX – вместо него появился упомянутый тест на воспроизведение видеофайла высокого разрешения в формате WMA. Из комплекта тестов жесткого диска изъяли тест на скорость копирования файлов. В несколько раз, в соответствии с возросшими вычислительными мощностями, увеличилась нагрузка в каждом из стандартных тестов (грубо говоря, коробок в тесте на расчёт физики, теперь падает втрое больше). В несколько раз увеличилось время тестирования. И это тоже неплохо – чем сложнее тест и чем больше времени на него отводится – тем достовернее получаемые результаты, тем меньше на них влияют разные случайные погрешности. Чувствуется, что разработчики теста хотели хотя бы частично угодить нам, специалистам :).
Встроенное в PCmark'05 средство сбора информации о системе никаких изменений по сравнению с предыдущей версией не претерпело – это по-прежнему очень удобная утилита, генерирующая за пару секунд xml-файл с довольно подробным отчётом о тестируемой системе. Отчёт этот славен не только тем, что информации, сохраняемой в этом файле (аппаратная конфигурация, установленные драйвера, запущенные процессы) более, чем достаточно для того, чтобы оказать неоценимую услугу сотруднику службы технической поддержки. И не даже не тем, что формат файла стандартизован и удобен для обработки. Отчёт PCmark'05 выделяется в ряду аналогичных ему отчётов других "бенчмарков" в первую очередь тем, что он замечательно структурирован, очень аккуратно оформлен и организован таким образом, что даже обычный пользователь-непрофессионал легко выловит среди вороха сугубо технических подробностей привычные ему названия установленных в компьютере комплектующих, тактовые частоты процессора; графического ядра видеокарты, видеопамяти и обычной системной памяти, поддержку устройствами "модных" фич (вроде SLI, 64-битной архитектуры или NX-бита и DEP); установленный сервис-пак Windows и тому подобные "принципиальные" для обычного пользователя моменты. Конечно, до специализированных утилит типа SiSoft Sandra или Everest (бывшая AIDA32) по информативности этому отчёту далеко – но зато по удобству использования с ним мало что сравнится.
Еще один приятный момент, связанный с PCmark'05 – это прилагающаяся к этому пакету документация. По сравнению с предыдущей версией, разработчики заметно потрудились над её дизайном и работать с ней теперь стало гораздо проще и… приятнее. Впрочем, чего еще ждать от программного продукта, построенного вокруг идеи о том, что тестирование для конечного пользователя должно происходить буквально в одно нажатие кнопки?
По умолчанию "базовая" (бесплатная) версия PCmark умеет делать только две вещи – вычислять стандартный "рейтинг производительности", да генерировать отчёт по конфигурации системы. Отдельные тесты подстсистем памяти, графической подсистемы, жесткого диска, процессора доступны только в "продвинутой" (Advanced Edition, 20-30$) версии PCmark'05; возможность настроить эти тесты самостоятельно, сохранять результаты тестирования в файле Excel, работать с тестом из командной строки – только в "профессиональной" (Professional Edition, 200$).
Недостатки пакета
Впрочем, если при прочтении всего вышеперечисленного, у читателя сложилось впечатление, что PCmark'05 – практически идеальный инструмент для тестирования (пользоваться очень удобно, а недочёты предыдущих версий программисты благополучно убрали), то я вынужден буду сейчас это впечатление грубо разрушить.
Дело в том, что несмотря на исправление нескольких "спорных" тестов на более "реалистичные", в PCmark'05 не исправили главную проблему этого пакета – недостаточно большое количество самих тестов. Для сравнения: в использующемся для профессиональных оценок производительности процессоров тесте SPEC CPU2000 (SPEC = Standart Perfomance Evaluation Corporation) – 12 совершенно различных тестов для определения производительности процессора в работе с целыми числами и 14 тестов – для определения производительности процессора при работе с числами с плавающей точкой. Двадцать шесть тестов только для того, чтобы дать выраженную в двух (!) числах оценку производительности которая, вдобавок, всё равно не является исчерпывающей характеристикой, позволяющей утверждать, что один процессор лучше другого, или наоборот. И сравните эти 26 тестов с одиннадцатью тестами PCmark, на основании которых этот тест пытается дать однозначную (ибо цифра выдается одна-единственная!) оценку компьютеру, на котором он запущен! Нет, подробную статистику по подтестам, конечно, получить можно – но до SYSmark-а, приводящего не просто результаты каждого из подтестов, но некую комплексную оценку системы в какой-то области использования PCmark-у всё равно очень далеко.
Из этой же области "претензий к тому, что PCmark вообще измеряет" - это довольно странные тесты многозадачности. В SYSmark 2004 эта многозадачность выражается в том, что пользователь работает с несколькими запущенными приложениями одновременно и время от времени между ними переключается. В PCmark'04 пользователь… одновременно сжимает одни файлы, шифрует другие, проверяет на вирусы третьи и замеряет при этом латентность подсистемы оперативной памяти. Как говорится - без комментариев…
Вторая, менее значительная, проблема связана с тем, что PCmark'05 требует для своей работы DirectX 9.0c, Windows Media Encoder 9 и Windows Media Player 10, присутствующих далеко не на каждом компьютере. В итоге к 73 мегабайтам собственно PCmark'05, пользователь, который захочет получить с помощью этого пакета оценку производительности своего компьютера, будет почти наверняка вынужден скачивать из Сети еще 20 мегабайт Microsoft-овских программ, нужных для обработки тестом WMA – файлов и, в половине случаев, еще и 33-мегабайтный файл с DX 9.0c. Естественно, что ни Windows Media Player свежайшей версии, ни DX 9.0c в тестировании задействуются лишь один-единственный раз и, что называется, "в эпизодической роли" - на итоговые баллы они всё равно существенно повлиять не могут. Неприятно и то, что без DX9-совместимой видеокарты получить заветные результирующие "баллы" в PCmark'05 попросту невозможно из-за наличия в "обязательной" программе теста на скорость выполнения шейдера второй версии.
Выводы
В PCmark'05 исправили несколько недостатков, свойственных PCmark'04. Тесты стали заметно более объективными; усовершенствовали справочную систему – а в остальном сохранили всё ту же старую проверенную основу. Хороший тест и не должен радикально изменяться каждые полгода :).
PCmark – по прежнему один из самых удобных (если не самый) бенчмарк, обоснованно претендующих на измерение производительности системы "в целом". С ним почти никогда не бывает проблем.
Тем не менее, к результатам, которые в итоге PCmark'05 выдает в качестве оценки производительности системы, следует по-прежнему относиться с большим подозрением :).