Методика тестирования компьютерных систем образца 2017 года

Процесс смены методик тестирования компьютерных систем в этом году несколько затянулся, но наконец-то дошел до логического завершения. Вместе с первыми статьями мы (по старой доброй традиции) публикуем и описание новой тестовой методики. Как и в прошлом году, посвящено оно не способам измерения производительности и других параметров (для этого есть соответствующие материалы, указания на которые будут присутствовать ниже), а тому, как они будут использоваться в основной линейке материалов. Соответственно, теоретическая часть почти не изменилась и будет повторена практически дословно (можно было бы ограничиться ссылкой, но, как показала практика, те, кому это в наибольшей степени нужно, по ссылкам не ходят, а информация на деле крайне важна для понимания процесса и результатов). Чтобы в будущем не возвращаться к подобным вопросам, сегодня мы постараемся дать на них полные ответы. Во всяком случае, в части, которая традиционно относится к так называемому «тестированию центральных процессоров». Кстати, с названия и начнем.

Как измерить то, чего не существует?

Провокационный заголовок полностью раскрывает проблему. Действительно: что такое «производительность»? Количественная характеристика скорости выполнения определенных операций. Из чего сразу же следует основной вывод: никакой «производительности процессора» не существует — в отличие от, например, производительности компьютера, поскольку компьютер является законченным устройством, на практике способным выполнять вычисления и все, что к ним сводится. Разумеется, многое зависит от операций, скорость которых измеряется, т. е. от программного обеспечения, которое еще и работает только под управлением определенных операционных систем, что дополнительно сужает предметную область. Однако выбрав ОС и программы, мы можем получить для аппаратной системы какой-то более или менее осмысленный результат и даже сравнить разные системы по производительности на выбранном наборе программного обеспечения.

Но если спуститься на уровень ниже, т. е. перейти от законченных устройств к компонентам, понятие производительности очевидным образом просто исчезает, поскольку ни к какому отдельному использованию они не пригодны. Правда, винчестер можно использовать как гнет при закваске капусты, а процессор — чтобы пускать «блинчики» по воде, однако их «производительность» при выполнении подобного рода «операций» никого не интересует. А та, которая интересует, может быть измерена лишь в рамках законченной системы. И обязательно будет испытывать влияние других компонентов.

Почему же в таком случае все равно можно говорить о «производительности процессоров»? Потому что тестовые конфигурации можно привести к более-менее одинаковому состоянию. В идеале — добиться того, чтобы они различались исключительно процессорами. Такое возможно, например, если тестируются два устройства для одной и той же платформы: будучи установленными на одну и ту же системную плату и снабжены одной и той же «периферией» (от оперативной памяти до накопителей), работать они будут со скоростью, зависящей только от них самих и/или ограниченной прочими компонентами одинаковым образом. Последняя проблема не является неразрешимой при наличии гибкости в конфигурировании — «вредные» факторы можно исключить при обнаружении. Однако и в этом случае мы измеряем не производительность процессора, а производительность всей системы.

В определенных условиях этим можно пренебречь. Например, можно утверждать, что в рамках одной платформы один процессор быстрее другого в полтора раза — если скорость выполнения набора тестовых заданий при замене одного на другой меняется в указанные полтора раза. Вот с другими характеристиками (зачастую, не менее интересными) нужно быть очень осторожными. Например, не имеют никакого смысла попытки посчитать «соотношение цены и производительности», ориентируясь только на цену процессоров. Действительно: если модель Х работает в полтора раза быстрее, чем Y, а стоит вдвое дороже, то, казалось бы, по пресловутому соотношению она заметно хуже. Но если вспомнить, что на деле мы можем измерить только производительность системы, приходим к выводу, что учитывать нужно цену этой системы, даже если стоимость всех прочих компонентов одинакова. К примеру, если Х стоит $50, Y — $100, а все остальное оборудование, которое использовалось в тестах, — $450, значит, увеличение производительности на 50% происходит при увеличении цены системы всего лишь на 10%, так что более дорогой процессор на самом деле является более выгодной покупкой. А что будет при сравнении этих же двух процессоров, когда на «окружение» потрачено $250 или $750? Строго говоря, мы не знаем. Одно тестирование в конкретных условиях не дает ответа на вопрос, как изменится производительность в этом случае. Может выйти так, что в слишком дешевой системе оба процессора начнут показывать одинаковые результаты, а в более дорогой разница увеличится (при этом разница в реальной ее цене сократится), может получиться наоборот (на самом деле нет), а может и ничего не измениться — у нас просто недостаточно информации.

Так что даже в рамках одной и той же платформы при возможности полностью уравнять условия тестирования все не так просто, как кажется. А ведь как раз такие сравнения наименее интересны, поскольку их результаты слишком предсказуемы. Куда больше пользы от сравнения процессоров для разных платформ одного производителя (благо таковые регулярно обновляются) или даже совершенно разных — от разных разработчиков и для разных сфер применения. В этом случае добиться одинаковых условий тестирования просто невозможно, как ни старайся. Например, в этом случае системные платы будут разными по определению, и хотя их влияние на производительность системы уже давно практически отсутствует, это справедливо только для случаев, когда все идет «правильно», а мы уже сталкивались с обратными ситуациями. Да и цена плат будет влиять на общую картину: например, более дорогой на первый взгляд процессор окажется более дешевым, поскольку в паре с ним придется использовать более дорогую плату, а то еще и дискретную видеокарту в обязательном порядке.

В итоге нет смысла пытаться идеально привести все к «общему знаменателю». В некоторых случаях это не нужно, даже когда возможно, поскольку такое «рафинированное» тестирование «в вакууме» будет слабо соотноситься с реальными условиями. Все, что требуется — постараться обеспечить сравнимые характеристики тестовых платформ, не без учета их особенностей. И, соответственно, все это прямо оговорить в условиях тестирования. Можно даже сравнивать результаты заметно различающихся систем, если нет другого выхода. Основной смысл, собственно, как раз в сравнении, которое тем точнее, чем ближе тестовые условия, но определенный смысл имеет и тогда, когда близких условий создать не получается (что особенно часто встречается в компактных высокоинтегрированных системах, «выдрать» из которых один процессор и поставить на другую платформу просто невозможно). И несмотря на все сказанное, мы продолжим называть подобные тестирования «процессорными», не забывая о нюансах — просто потому, что никаких других «тестирований процессоров» на данный момент нет и быть не может.

Конфигурация тестовых стендов

Как уже было сказано выше, вопрос подбора конфигурации важен, поскольку тем или иным образом может повлиять на результаты. С этим можно бороться, стараясь сделать окружение как можно более одинаковым, но для тестирования готовых систем это не всегда возможно, хотя для «настольных» процессоров — не так уж сложно.

Во-первых, операционная система и тестовые приложения жестко определены нашей методикой тестирования и не меняются, даже если мы тестируем разные системы, не говоря уже о платформах одинакового назначения. Во-вторых, системный накопитель мы также можем жестко зафиксировать. Мы остановились на Corsair Force LE 960 ГБ по двум причинам: высокая совместимость с разными системами (благодаря использованию «обычного» SATA-интерфейса) и достаточная емкость для того, чтобы уместить все необходимое ПО. К рекордсменам по производительности этот SSD не относится, но различия между разными твердотельными накопителями невелики с точки зрения работы прикладных программ, а «жестко упирающиеся» в накопитель тесты мы в этом году использовать не будем (о чем ниже). Однако более быстрый SSD может лишь немного увеличить общую оценку, а вот винчестер может заметно ее снизить, что следует учитывать, изучая результаты тестирования (и помнить о том, что было сказано чуть выше по поводу «соотношения цены и производительности»).

Что касается оперативной памяти, то мы решили для всех используемых систем базовым объемом сделать 8 ГБ ОЗУ на канал. Во всяком случае, когда речь идет об основной линейке тестирований — какие-то специфические вопросы могут изучаться и в других конфигурациях, но во всех случаях, когда это будет возможным, мы постараемся использовать именно столько. И, разумеется, двухканальный режим работы памяти везде, где можно. Если процессор снабжен одноканальным контроллером и/или тестировать приходится платформу, снабженную всего одним слотом памяти, а то и вовсе исключительно распаянными прямо на плате микросхемами, — значит, это невозможно, и тогда придется тестировать «как получится», но, естественно, оговорив данное условие и (по возможности) не сравнивая полученные результаты с системами, укомплектованными «нормальным образом».

В то же время, системы с четырехканальным контроллером памяти могут, вообще говоря, потребовать более тонкого подхода. В том числе — и увеличения объема памяти: ранее мы уже сталкивались с тем, что некоторым приложениям для нормальной работы требуется определенное количество памяти на каждый поток вычислений, так что для корректного измерения производительности, возможно, придется использовать какую-то «нестандартную» конфигурацию. Впрочем, многоядерные процессоры ныне начинают появляться и в массовых платформах, что может сделать процесс тестирования последних творческим, но таких процессоров все же не так много, чтобы это могло стать проблемой. А вот у моделей с четырьмя каналами памяти ассортимент шире, и ядер у них обычно больше, поэтому для их тестирования мы будем использовать минимум 32 ГБ оперативной памяти.

Что касается видеокарты, то предыдущие три года мы делали упор на использование интегрированного видеоядра. Причин тому было несколько. Во-первых, слабое влияние GPU (в реальности, а не в бравурных отчетах производителей таковых) на скорость работы большинства прикладных программ делало вопрос выбора видеоускорителя маловажным. Во-вторых, видеокарты постоянно дорожали: это 20 лет назад самый дорогой видеоадаптер стоил примерно столько же, сколько самый дешевый процессор, а сейчас разброс цен между этими позициями составляет примерно 25 раз. Соответственно, для большинства пользователей дискретная видеокарта стала просто нежелательным элементом компьютера: деньги тратить приходится, место занимает, но ничего не дает. В итоге интегрированное видео распространялось все сильнее и сильнее, не затрагивая только геймеров. В большинстве массовых процессоров видеоядро есть — и большинство массовых процессоров с ним и используется.

Однако большинство интересных новинок этого года лишено интегрированной графики, так что их приходится снабжать видеокартой. Кроме того, в прошлом году и AMD, и Nvidia существенно обновили линейки своих продуктов, в результате чего геймеры вышли «из спячки» — заодно задумавшись о модернизации системы. Так что в этом году тестов с дискреткой будет больше, чем ранее. В качестве таковой мы решили в основном ограничиваться одной картой — GeForce GTX 1070. Впрочем, какие-то разовые материалы, возможно, будут выходить и на основе тестов с другими моделями — как более медленными и дешевыми (что актуально для выбора бюджетной игровой системы), так и более производительными и дорогими. Но в качестве «базового» GPU для систем, лишенных интегрированной графики, а также для оценки игровой перспективности систем, встроенной графики «не лишенных», будет использоваться именно GeForce GTX 1070.

iXBT Application Benchmark 2017

Описание Методики измерения производительности iXBT.com на основе реальных приложений образца 2017 года приведено в отдельной статье, где можно ознакомиться и с ее принципиальным устройством, и с используемыми программами, и с конкретными тестовыми сценариями. Фактически, мы будем использовать ее as is, в том числе и в плане представления результатов — по группам с нормированием относительно референсной системы. Но относительно базового варианта будет несколько изменений. Во-первых, поскольку накопитель у нас одинаковый для всех, а практически все современные системы (даже компактные и низкопотребляющие) проблем с дисковыми тестами не имеют, мы не будем использовать группу Скорость файловых операций вообще. Соответственно, не будет и «Интегрального результата Storage», а в качестве общего результата будет фигурировать то, что в терминах методики называется «Интегральный результат CPU». Во-вторых, раз уж интегральные результаты оказываются не совсем совместимы с тестированиями ноутбуков и т. п., мы решили для линейки сравнительных тестирований сменить референсную платформу (поскольку Core i7–6700K в качестве масштабной единицы крупноват, да и SSD мы все равно используем другой). Соответственно, все результаты будут нормироваться относительно AMD FX-8350 с видеокартой GeForce GTX 1070.

Кроме того, мы не будем увлекаться в рамках основной линейки тестирования расчетами погрешностей измерения. Точнее, делаться они будут, но в итоговые результаты попадать не будут, дабы не усложнять сравнение разных систем (каковое и является основной целью тестирований). Ни на диаграммах, ни в «бесплатном приложении» к материалам раздела в виде полной таблицы с результатами (в формате Microsoft Excel 97—2003) вы их не увидите. Упомянутая таблица может быть использована желающими ознакомиться с подробными результатами по приложениям или использовать их любым не предусмотренным в статьях образом.

Энергопотребление и энергоэффективность

Начиная с прошлого года, мы получили возможность не только определять результаты производительности настольных систем, но и точно оценивать, сколько на их получение затрачено энергии. Мини-ПК и подобные платформы требуют отдельного (и немного более ограниченного) подхода, но для настольных процессоров все складывается более удачно, так что было бы неправильно этим не воспользоваться.

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

Понятно, что получаемый массив данных слишком обширен для включения его в статьи — особенно с учетом того, что в каждой из них представлено более одного участника. Поэтому поступим мы как обычно: будем приводить выборку интересных данных и результаты усреднения. Из всех полученных при тестировании мощностей мы выберем максимальную и минимальную, а также среднюю по всем тестам, участвующим в определении «Интегрального результата CPU». Эти данные, как нам кажется, имеют наибольший практический смысл, поскольку позволяют непосредственно сравнивать разные платформы. При этом основной будет не «процессорная» (т. е. измеренная по линии 12 В разъема EPS12V), а «общая» мощность. Во-первых, потому что некоторые системы до сих пор «питаются» лишь от одного разъема ATX — все три последних поколения «атомной» платформы, например. Во-вторых, потому что и в остальных системах распределение схемы питания разных блоков по линиям может быть разным. Кроме того, для определения требований к системе охлаждения всего компьютера (а не процессорного кулера) актуально и потребление энергии со стороны памяти и чипсета, и потери на MOSFET-транзисторах: все равно из корпуса надо выводить все тепло, а не только то, что выделяется процессором. В этом плане как раз очень важна максимальная мощность (не пиковая, а усредненная по каким-то «тяжелым» задачам), потому что столько «нагруженная» платформа и потребит/выделит — причем в реальных приложениях, а не в специально оптимизированных для максимального «прогрева» (что, кстати, не всегда достигается при максимальном энергопотреблении) стресс-тестах. Минимальные же значения интересны больше для сравнений разных платформ в режимах «легкой» нагрузки — опять же, не простоя, а при решении практически полезных задач.

Что же касается средней мощности, причем изначально получаемой как среднее из средних, то это во многом параметр синтетический, но интересный. И поскольку многих интересует экономичность не сама по себе, а в приложении к решению практических задач, мы ввели еще более синтетическую характеристику платформы: «энергоэффективность». Определяется она просто: сколько баллов нашего интегрального индекса производительности та или иная система способна выдавать в расчете на ватт потребляемой мощности (соответственно, мы просто делим итоговую производительность на среднюю мощность по тестам). Можно, конечно, усложнить подход и работать с мощностями применительно к сферам применения компьютерной системы (благо используемые нами приложения удачно разбиваются по группам), но пока мы решили не увеличивать детализацию сверх меры 🙂 А накопленные в процессе тестирований результаты позволят со временем понять, в каком направлении лучше двигаться дальше.

Стоит учесть, что текущая версия измерительного стенда не позволяет получить полных данных при использовании дискретной видеокарты, как правило использующей отдельные линии питания. С другой стороны, вклад последних в производительность программ общего назначения пока еще невелик, да и сравнивать мы будем стараться (как уже было сказано выше) системы одного типа, т. е. интегрированное с интегрированным, а дискретное — с дискретным, причем одинаковым. Таким образом, влиянием видеокарты в последнем случае можно будет пренебречь: одна и та же карта даст одинаковую «прибавку» всем системам, т. е. это как раз та константа, которую можно спокойно «выносить за скобки» (как, например, одинаковый SSD, энергопотребление которого мы тоже не измеряем).

Чисто «процессорную» мощность мы в прошлом году не использовали вообще, хоть и измеряли. В этом году мы решили обрабатывать ее аналогичным образом и включать в статьи — по просьбам трудящихся. Разумеется использовать мы ее будем там, где это имеет смысл: например, на устаревшей, но все еще широко распространенной платформе LGA1155 некоторые компоненты процессора питаются по другим линиям, так что этот подход неприменим. А вот сравнивать друг с другом процессоры для LGA1151 или LGA1150 (в том числе, и межплатформенно) — можно, и даже полезно, особенно при сравнении процессоров для одной платформы или при разгоне.

С модульными системами все ясно. А что делать с мини-ПК и подобными, где подключение к измерительному стенду затруднено или вовсе невозможно? Для этих целей у нас есть Методика мониторинга мощности, температуры и загрузки, в которой мы целиком и полностью полагаемся на встроенные датчики процессоров. В принципе, для процессоров Intel со времен Haswell им вполне «можно верить», что демонстрировало и наше практическое сравнение двух методов измерений, но для других систем степень применимости данной методики — вопрос открытый. Кроме того, в данном случае нам придется ограничиться измерением мощности только процессора, но не платформы, а регулярный опрос датчиков — нежелательная фоновая нагрузка, незаметная для топовых систем, но способная сказаться на производительности каких-нибудь суррогатных процессоров. Поэтому данная методика будет применяться в основном тогда, когда другие варианты невозможны. И использовать в тестах «процессоров» мы будем только мощность — минимальную, максимальную и среднюю по тестам, введя также (и тем же образом) в параметры «энергоэффективность», но уже не платформы, а процессора.

iXBT Game Benchmark 2017

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

Итак, для чего нам нужны тестирования в играх? Строго говоря, для двух целей: для измерения производительности игровых систем и для сравнения друг с другом всех остальных с точки зрения видеочасти. Начнем с первого.

Что такое «игровая система»? Несмотря на прогресс в области интеграции, это по-прежнему компьютер с обязательным наличием дискретной видеокарты. Более того: хорошей дискретной видеокарты. Впрочем, финансовые ограничения приводят к созданию и неплохим продажам «бюджетных игровых компьютеров», где используются видеокарты ценой до $150 в паре с соответствующими (по цене) процессорами начального уровня — благо подобные все же позволяют играть с бо́льшим комфортом, чем современная интегрированная графика. Но это тема отдельная и серьезного геймера не интересующая, а поскольку такие варианты в основном интересны лишь для сравнения с компьютерами вовсе без дискретной видеокарты, тестировать их нужно так же, как последние.

Совсем не то «приличная» игровая система. В частности, выбранная нами видеокарта GeForce GTX 1070 способна справиться почти со всеми входящими в тестовый набор играми при максимальных настройках — собственно, потому она и выбрана, а единственную игру, для которой этой видеокарты недостаточно, мы использовать не будем. Во всяком случае, это верно для связки с «приличным» процессором и для разрешения Full HD, но именно это разрешение на данный момент наиболее интересно пользователям, поскольку является самым массовым. Снижение нагрузки на видеокарту позволяет более рельефно высветить разницу между процессорами и платформами (когда она есть), но для таких целей современные видеоадаптеры уровня выше среднего обычно не приобретают. Таким образом, мы приходим к оправданности тестирования только в разрешении 1920×1080 при максимальных настройках качества. Более высокое — технически возможно, но там придется снижать качество, и временами радикально. Причем мы говорим о GTX 1070, имеющей на данный момент производительность выше среднего даже среди актуальных продаваемых решений, не говоря уже о массе более старых видеокарт, которые активно используются во множестве компьютеров. Да и нет смысла «подменять» 3D-раздел, где как раз тестируются видеокарты —, а чем выше разрешение и настройки, тем меньше производительность зависит от каких-либо иных компонентов системы. Кроме того, производительность может быть ограничена средствами игрового движка, из-за чего нам пришлось сократить количество используемых игр с 11 до 8. Для Deus Ex: Mankind Divided, как уже было сказано выше, видеокарты на базе GTX 1070 при настройках на максимальное качество картинки недостаточно даже для HD-разрешения. А Dark Souls III и The Elder Scrolls V: Skyrim были дисквалифицированы по обратной причине: максимально возможный результат в 60 FPS (ограниченный самими играми) на GTX 1070 достигается с любым процессором. (Если обнаружится процессор, который этого не позволяет, мы обязательно сообщим об этом вопиющем факте.)

А что делать с тестами интегрированной графики? В данном случае основной целью тестирования является непосредственно их сравнение друг с другом — ничего лучшего, чем игры, для тестирования 3D-производительности не придумано. Тем более что такие результаты все равно имеют практический смыл: понятно, что покупать для игр компьютер без дискретной видеокарты смысла по-прежнему нет, но так уж устроен человек, что если захочется поиграть, он будет это делать на том, что есть под рукой. Конечно, «современные хиты», равно как и качественные настройки, ему при этом не будут доступны, но… Нужда заставит — и не так раскорячишься ©. В конце концов, производители процессоров давно уже акцентируют внимание на том, что вот теперь-то на наших встроенных решениях и игры хоть как-то работают, так что проверить эти заявления будет как минимум не лишне. Но в данном случае, естественно, речь может идти только о минимальных настройках, которые мы и будем использовать в двух разрешениях: 1920×1080 и 1366×768.

Поскольку далеко не все системы могут справиться с какими-либо играми даже в таком виде, то во избежание загромождения статей бессмысленными диаграммами мы приняли также волюнтаристское решение: если с игрой ни в одном из двух режимом не сумел справиться ни один из героев сравнительного тестирования, эта игра из соответствующей статьи выбывает. Во всяком случае, в явном виде —, а вот в неявном будет присутствовать. Что понимается под «справился»? Критерии этого субъективны: кто-то заявляет, что ему и 20 кадров в секунду хватает (лишь бы стабильных), а кто-то менее чем на 50 не согласен. Соответственно, мы (как и ранее) будем считать «границей играбельности» 30 кадров в секунду. А чтобы можно было, не изучая кучу диаграмм, грубо сравнить разные системы (в т. ч. и из разных статей) на базе этого критерия, мы также продолжим использовать введенный в прошлом году «Интегральный игровой результат». Выводиться он будет просто: если система демонстрирует результат выше 30 FPS при разрешении 1366×768, она получает один балл, а за то же самое в разрешении 1920×1080 — еще два балла. Таким образом, учитывая, что игр у нас 8, максимальной оценкой может быть 24 балла, которые не значат, что система является игровой, но гарантируют, что она, по крайней мере, справляется со 100% наших игровых тестов. Именно по максимальному результату мы будем нормировать и все остальные: баллы подсчитали, на 100 умножили, на 24 поделили — это и будет «Интегральный игровой результат». Для действительно игровых систем он не нужен, поскольку там всех больше интересуют нюансы, а для оценки «универсальных» систем — вполне. Получилось больше 50 — значит, во что-то можно играть более-менее комфортно; порядка 30 — не поможет даже снижение разрешения; ну, а если 10–20 (не говоря уже о нуле), то о современных играх с мало-мальски присутствующей 3D-графикой лучше даже не заикаться.

Итого

Итак, именно таким образом мы будем тестировать настольные платформы и примкнувшие к ним решения во второй половине 2017 года и далее — пока не назреет необходимость очередного обновления программного обеспечения. В принципе, несложно заметить, что принципиальных изменений по сравнению с предыдущими годами немного — последнее радикальное обновление было в прошлом году, когда добавились тесты энергопотребления, ввести которые давно просили читатели. В остальном же тестовые методики используют одинаковые принципы, что позволяет сравнивать результаты разных лет (разумеется, приблизительно и осторожно), пересчитав их относительно референсных систем. Поэтому в ближайшее время мы планируем не только тестировать новинки рынка, но и обеспечить достаточное количество «опорных точек» для интересующихся сопоставимостью результатов разных методик.