Найти в Дзене
Mizhgunit

Тайны синтетических тестов: зачем обращать на них внимание?

Оглавление

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

Так что это такое - синтетические тесты, и какую информацию они могут дать обычному пользователю?

Что такое синтетический тест

Так называют программу, которая нагружает какую-либо железку компьютера, например, процессор или видеокарту, а некоторые - и то, и другое. Сделаны они для того, чтобы объективно оценить производительность компьютера, эдакая "стандартизированная" нагрузка.

Фото: https://www.geeks3d.com
Фото: https://www.geeks3d.com

Это позволяет неплохо сравнивать результаты таких тестов с другими системами, то есть "примерно" понимать, насколько твой компьютер мощнее или слабее другого условного компьютера.

Как работают такие тесты?

Работают они неплохо, так как большинство бенчмарков дает комплексную нагрузку на железо компьютера. Например, тест видеокарты, обычно, включает в себя не только условное текстурирование, но и тесты тесселяции (создание детализированных поверхностей), отрисовку сложных 3D-сцен, вычисления с использованием графического процессора (те самые "терафлопсы"), а ныне - и Ray Tracing, то есть трассировку лучей.

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

Фото: https://www.ocbase.com
Фото: https://www.ocbase.com

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

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

Но тут есть и проблема...

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

Так Radeon VII показывает себя в тестах, если интересно - игровая производительность у нее на уровне GTX 1070Ti или 1080, в зависимости от игры. Фото: https://convenienceworldmagazine.com.au
Так Radeon VII показывает себя в тестах, если интересно - игровая производительность у нее на уровне GTX 1070Ti или 1080, в зависимости от игры. Фото: https://convenienceworldmagazine.com.au

Например, судя по тесту - у вас очень мощная видеокарта, но в игре, или рабочей программе, она уступает более дешевой. Как так? Дело тут в двух вещах:

  • В программах все блоки чипа работают вместе, что накладывает ограничения (самое банальное - частота, которая при нагрузке на отдельные блоки чипа может быть гораздо выше, чем при нагрузке на весь чип. Разница там огромная, порядка 1/3).
  • Оптимизация у программ тоже разная, так что если разработчик оптимизировал игру под 4 ядра, а у твоего процессора их 12 - ну, сорян. В бенчмарках ты будешь номер один, но в условиях реального использования - едва ли быстрее бюджетных процессоров. Или если в рабочей программе нет нормального ускорения рендеринга видеокартой - то поставь хоть 5090, все равно все будет плохо.

И в этом - главная проблема тестов. Они и объективны, и необъективны одновременно. С одной стороны, синтетическая нагрузка позволяет оценить "чистую" производительность компьютера, и сравнить ее, опять же, с "чистой" производительностью другого компьютера.

-4

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

Это значит, что доверять синтетике... Доверять синтетике можно - она объективна, но вместе с ней, нужно смотреть тесты и в реальных задачах, которые, опять же, субъективны, но потому - объективны, так как учитывают не чистую производительность, а реальную - с учетом индусского кода и фоновых задач. Ориентироваться только на один вид тестов я бы не стал.

Итог

Синтетика - способ оценить "чистую" производительность компьютера. Очень хорошо подходит для сравнения, или для каких-то супер специализированных задач. В то же время, результаты синтетических тестов не всегда отражают реальную картину, так что смотреть нужно и на реальные тесты, то есть тесты в обычных программах - ФПС в играх, время рендеринга в премьере, и все такое прочее.

Предлагаю помериться циферками: сколько у вас баллов в CPU Queen?)

На этом у меня все. Если было интересно - не забудь поставить лайк и подписаться на канал. Увидимся!

Подпишись на телеграм (там IT-новости), Ютуб (там иногда выходят прикольные видео), и группу ВК (там пока ничего нет, но это только пока).

А если хочешь помочь мне с развитием канала - буду благодарен за каждый репост! Спасибо!