Найти в Дзене
кITейка

Бутылочное горлошко и "раскрытие"

Оглавление

Привет, дорогой друг. В очередной раз столкнулся с вопросом "раскрытия" видеокарты и, несмотря на то, что на эту тему написано огромное количество материала, решил, что надо вставить и свои пару слов. Сразу оговорюсь, что методика тестирования далеко не моя и также далеко не нова.

Но!

То и дело попадается тема, в которой один человек спрашивает другого "а будет ли процессор Х раскрывать видеокарту Y", и под этим постом куча людей обсуждают то, что процессор X не тащит, видеокарте Y нужен самый дорогой процессор и так далее.

Давайте разбираться, что такое "раскрытие", "бутылочное горлышко" или на английский манер "bottleneck". Кстати, если погуглить это слово, можно наткнуться на целый калькулятор, который очень веселит своими расчетами, предлагая заменить 8600k на 8700k в связке с 1080Ti, потому что, по его мнению, 8600 будет слабоват для такой карты.

Что такое "бутылочное горлышко"?

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

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

Давайте разбираться как так получается.

Эмпирика

В качестве подопытного кролика у нас будет i7 8700k, которому мы отрежем сначала 2 ядра, потом еще 2 и наконец отключим многопоточность. И не подумайте, я не пытаюсь сравнивать 8700k с i5 или i3. У i7 куда больше кэша и частоты совершенно иные, особенно при меньшем количестве активных ядер. Но в целом общее понимание воздействия производительности процессора на видеокарту этот тест показывает легко.

Эксперимент будем проводить на тесте 3D Mark Time Spy, с автонастройками на разрешении 2560х1080. Для незнакомых с софтом 3D Mark поясню, что тест состоит из двух графических тестов (нагрузка в основном на видеокарту) и одного процессорного (нагрузка на процессор). В данном варианте теста процессор должен обсчитывать физику и взаимодействие объектов без помощи видеокарты.

Начнем со значений по-умолчанию
Начнем со значений по-умолчанию
Общий результат. Обращаем внимание на FPS всех трех тестов.
Общий результат. Обращаем внимание на FPS всех трех тестов.
Обращаем внимание на загрузку видеокарты в первых двух тестах - 99%, а также на частоту работы видеопроцессора - 1377МГц.
Обращаем внимание на загрузку видеокарты в первых двух тестах - 99%, а также на частоту работы видеопроцессора - 1377МГц.

Как можно судить по графику, i7 8700k со всеми активными ядрами практически всегда использует весь ресурс нашей 1080Ti. Просадки по нагрузке видеокарты обусловлены отрисовываемым контентом и переходами от одной сцены к другой, а также задачами, выполняемыми в фоне.

Давайте теперь попробуем использовать наш четрыхядерный восьмипоточный 8700.

4 ядра 8 потоков, как в старые времена.
4 ядра 8 потоков, как в старые времена.
Как можно видеть, общий результат уменьшился почти на 1000 единиц. Только количество кадров в графическом тесте не изменилось нисколько, а вот в процессорном мы можем видеть значительное падение результата.
Как можно видеть, общий результат уменьшился почти на 1000 единиц. Только количество кадров в графическом тесте не изменилось нисколько, а вот в процессорном мы можем видеть значительное падение результата.
Все те же 99%. Видеопроцессор также работает на 1377 МГц.
Все те же 99%. Видеопроцессор также работает на 1377 МГц.

Хорошо, переходим на ещё более тёмную сторону и отрезаем ещё два ядра. Теперь у нас 2 ядра 4 потока.

Бррр, мой первый домашний ПК и тот был 4 ядра 4 потока.
Бррр, мой первый домашний ПК и тот был 4 ядра 4 потока.

Такая конфигурация ядер уже заметно тормозит систему. Все продолжает работать достаточно быстро, но пропадает плавность.

Общий результат упал еще на 1500 пунктов, а FPS в первом тесте даже чуть подрос. Обусловлено тем, что при такой конфигурации ядер, процессор может работать на 4.7 ГГц, вместо 4.3 ГГц для 6 и 4.4 ГГц для 4 ядер. Результат процессорного теста продолжает падать.
Общий результат упал еще на 1500 пунктов, а FPS в первом тесте даже чуть подрос. Обусловлено тем, что при такой конфигурации ядер, процессор может работать на 4.7 ГГц, вместо 4.3 ГГц для 6 и 4.4 ГГц для 4 ядер. Результат процессорного теста продолжает падать.
Те же 99%, те же 1377 МГц. На этом тесте компьютер в фоне ничем не занимался и просадок почти нет.
Те же 99%, те же 1377 МГц. На этом тесте компьютер в фоне ничем не занимался и просадок почти нет.

Наконец мы дошли до самой последней вариации нашего многострадального 8700k - 2 ядра без Hyper-Threading, то есть 2 потока. Должен признать, что на таком процессоре работать уже не очень комфортно: все дергается и долго открывается. И это при космических для такой конфигурации частотных значениях.

Hello, darkness, my old friend.
Hello, darkness, my old friend.
Этот тест мне пришлось переделать несколько раз, и он всегда выдавал такие результаты. Я ожидал куда большего уровня наглядности...Слегка упал результат второго графического теста. Результат процессорного теста падать стал менее радикально.
Этот тест мне пришлось переделать несколько раз, и он всегда выдавал такие результаты. Я ожидал куда большего уровня наглядности...Слегка упал результат второго графического теста. Результат процессорного теста падать стал менее радикально.
Этот результат заставляет меня думать о том, что пора внимательно изучать всю документацию на бенчмарк, так как, хоть я и знаю, что графические тесты разные, я ну никак не мог ожидать такого "ровного" результата в первом тесте. Второй же тест более показателен в контексте обсуждаемой темы - видеокарта стала загружаться значительно меньше.
Этот результат заставляет меня думать о том, что пора внимательно изучать всю документацию на бенчмарк, так как, хоть я и знаю, что графические тесты разные, я ну никак не мог ожидать такого "ровного" результата в первом тесте. Второй же тест более показателен в контексте обсуждаемой темы - видеокарта стала загружаться значительно меньше.

К чему это все, и что с этим делать?

Результаты приведенных тестов наглядно показывают, что так называемое "бутылочное горлышко" можно встретить только на ультра бюджетных процессорах. В наши дни 2 ядра 2 потока еще придется поискать. Конфигурацию 2 ядра 4 потока спасла высокая частота и, если бы мы тестировали более реальные процессоры с частотой до 4 Ггц, то вполне возможно, ограничение по скорости работы было бы и у них. Поэтому "нераскрытие" процессором видеокарты в большинстве случаев миф, особенно когда речь идет о процессорах среднего сегмента и выше.

"Но я сравнил процессор А и процессор Б, и у второго на Н ядер больше, а частота на Х выше, а в тестах результат с одной и той же карточкой лучше", - скажешь ты. И будешь прав. Вот только вывод из этого утверждения не сводится к тому, что процессор А ограничивает видеокарту. Графика достаточно сложная штука, и она задействует не только видеокарту, но и процессор. В тестах выше можно видеть, что с уменьшением количества ядер начинает сильно падать результат физического теста. Поэтому если мы возьмем комбинированную нагрузку на процессор и видеокарту, то увидим, что с падением производительности первого будет падать и общая производительность. При этом совершенно не обязательно, что видеокарте при таком падении будет нечего делать.

Другими словами, процессор А показывает результаты лучше, чем процессор Б, потому что он просто быстрее и выполняет определенные задачи более оперативно. И это никак не связано с "бутылочным горлышком".