Проводя "Сравнительное тестирование производительности Oracle VM VirtualBox в среде Windows 7/10" я фиксировал частоту ядер процессора на уровне 3 ГГц, но для обычного использования я поднял частоту до уровня 3.5 ГГц, и заметил что частота не зафиксирована строго как хотелось бы. Без нагрузки на процессор частота падает до уровня ~2700 - 3000 МГц, и тут я задумался, а как сделать так, чтобы частота была строго зафиксирована, ведь когда я использовал Ryzen 5 1600 и Ryzen 5 1600 AF частота была строго зафиксирована при ручной настройке множителя, но с Ryzen 7 2700X так не работает... Почему фиксация частоты на строго указанной отметке очень важный нюанс? Думаю многие уже догадались, а если не догадались, объясняю, во время проведения сравнительных тестов очень важно чтобы уровень частоты всегда был одинаков, иначе это может повлиять на результаты тестов. Банально посмотрим на FPS в игре, сейчас процессор без разгона с активным XFR, в операционных системах Microsoft Windows есть настройки электропитания, и там можно задать минимальное и максимальное состояние ЦП, это в первую очередь нужно для правильной работы энергосберегающих технологий понижающих частоту ядер при низкой нагрузке на ядра. Если XFR и энергосберегающим технологиям позволить делать что угодно предоставив полный диапазон частот в управление, то в игре 7 Days to Die частота кадров вышла на уровне ~115, частота ядер при этом плавает от 2075 МГц до 4150 МГц в зависимости от процента нагрузки на каждое ядро в отдельности. Так как игра не использует более 9 потоков в данный момент, то Windows 7 паркует лишние потоки, чтобы предоставить игре максимальную производительность ядер, так что все работает правильно, не смущайтесь тем, что большинство потоков попросту не нагружены, их просто нечем грузить в данном случае. Совсем другое дело если процессор заставить работать всегда на максимальной частоте выставив в параметрах электропитания 100% для минимального состояния ЦП, FPS в игре сразу поднялся до 131. Почему так произошло? Все очень просто, XFR смотрит на нагрузку ядер, и поднимает частоту самым нагруженным ядрам до максимума, в моем случае до ~4340 МГц обычно, но такие частоты выходят за счет снижения частоты соседних ядер, которые нагружены меньше. Но есть проблема, потоки взаимосвязаны в пределах одного приложения/игры, и даже если конкретный поток игры слабо нагружает ядро, это не значит что к данному потоку можно отнестись пренебрежительно отправив его на ядро с низкой частотой, и когда XFR занижает частоту ядра с данным потоком игры, общая производительность в итоге страдает. Именно поэтому 4000 МГц на всех ядрах показали гораздо больше FPS в игре, чем 4150 МГц на ядрах с двумя основными потоками игры, и 2075-2200 МГц на всех остальных ядрах со второстепенными потоками игры. Причем важно заметить, процент нагрузки на каждое ядро сильно не изменился по сравнению с тем, когда частоты ядер плавали от 2.1 ГГц до 4.15 ГГц, то есть сейчас 4 ГГц по всем ядрам, а процент нагрузки сильно не изменился, а значит общая производительность возросла относительно того, когда было 2.1 ГГц, никаких чудес в общем, рост FPS закономерен так как второстепенные потоки игры получают гораздо больше вычислительных ресурсов ядер за единицу времени. Но сейчас речь не про игры, потому вернемся к теме. Сначала я попытался отключить AMD Cool and Quiet, но ничего не изменилось, заданная множителем частота 3500 МГц достигалась только при малейшей нагрузке. Вернув обратно CnQ функцию я убрал множитель выставив в "авто", и пошел крутить P-State, но и так частота ядер не была жестко зафиксирована на отметке 3500 МГц... И снова экспериментирую с настройками, безрезультатно, никак не могу зафиксировать частоту чтобы без нагрузки она была на уровне 3500 Мгц. Дальше я вспомнил про параметры электропитания Windows, но там не нашлось нужных настроек для управления частотами, как только я изменяю множитель частоты ядер эта настройка исчезает, что я не сразу понял, потому полез за драйверами для чипсета на сайт AMD, вдруг драйверы которые у меня уже работают "не такие" как нужно... Установщик у AMD конечно забавный, один и тот же текст постоянно сменяет сам себя изредка меняя картинку, наверное чтобы пользователю было не скучно смотреть на окошко. Драйверы установились, одним нажатием можно открыть историю установки в текстовом редакторе и посмотреть что происходило во время установки, в общем перезагружаю систему (чтобы наверняка) и никаких изменений, по сути я зря устанавливал драйверы самые последние. Иду дальше, ковыряю все что можно ковырнуть, но нужного результата это не дает... Озадачившись отсутствием настроек в параметрах электропитания Windows я вернул нормальный режим работы процессору, и настройки появились, но даже они не сработали, если выставить максимальную частоту процессору то без нагрузки в простое она все равно падает до 2200 МГц. Дальше я снова начал эксперименты с P-State, и обнаружил что P0 зависит от P1, P0 нельзя выкрутить в любые значения, но можно выкрутив P1 и перезагрузив систему выкрутить P0 до уровня P1, в общем нужно заморачиваться если нужно задать частоты для P0 ниже чем 3200 МГц. Так или иначе теперь я уже не гнался за частотой 3500 МГц, я понял что не смогу задать нужную мне частоту, но я могу задать 3200 МГц, и теперь в простое было только 3000 МГц. Здесь я понял что частота не падает ниже уровня P1... И начал ковырять уровни P-State дальше, задавал уже не только P0, но и P1, и отключал остальные уровни, но 3500 МГц фиксированные так не получил. На этом попытки получить фиксированные 3500 МГц в простое были закончены, и я обратил внимание на минимальный множитель частоты, множителем можно было только 800 МГц задать процессору. Но я же знаю что через P-State можно подкрутить более интересные значения, и выставил 400 МГц, но система не запустилась, выведенная на переднюю панель кнопка сброса CMOS весьма кстати оказалась. Конечно же пришлось все заново настраивать, ибо профиль я не сохранил до начала экспериментов, сразу же отключаю TPM костыли, к сожалению принудительно включенные по умолчанию, я не доверяю сторонним незнакомцам, чтобы оставлять им подобные вещи на своём личном ПК... Мой ПК мне достался не бесплатно, я работал, чтобы заработать деньги, за которые в свою очередь покупал каждую деталь своего ПК, и не потерплю чтобы какой-то там Microsoft или кто-то еще диктовал как мне использовать мой ПК (камень в огород Microsoft Pluton и отчасти TPM). Вот когда Microsoft подарит абсолютно бесплатно мне ПК/Ноутбук, в том числе доставит мне его за свой счёт, тогда и буду терпеть закладки вроде Microsoft Pluton, а так пошли они подальше лесом со своими принудительно навязанными "кандалами". В общем систему настроил, профиль сохранил, и запускаю Ryzen 7 2700X на частоте 800 МГц, операционная система заметно медленнее загрузилась, но в целом работает адекватно. За счет количества ядер R7 2700X даже при частоте 800 МГц вполне неплохие результаты показывает, но для задачи зависимой от скорости ОЗУ (CPU PhotoWorxx) уже недостаточно вычислительных ресурсов, и разгон памяти в принципе не особо помогает, так как сами ядра не способны использовать доступную пропускную способность ОЗУ. GPGPU тест собственно и показывает скорость ОЗУ, всего ~25 ГБ в секунду на чтение/запись, что далеко до теоретического предела в ~51 ГБ/с. И напоследок вырезанный из AIDA64 тест CPU Hash, даже при 800 МГц процессор Ryzen 7 2700X способен конкурировать с i7 6700K работающим в нормальном режиме, это забавно. На этом я собственно и закончил возню с частотами. Не то чтобы при 3500 МГц падающая в простое частота ядер как-то сказывалась на стабильности результатов тестов, я не заметил такого в процессе, малейшая нагрузка и частота ядер встает на заданный уровень, но сам факт не исчезает, что частота ядер падает когда никакой нагрузки нет. Конечно, если выставить частоту 3000 МГц или ниже то оно так и работает даже в простое, ничего никуда не падает, но я хотел 3500 МГц зафиксировать железобетонно, но не получилось, увы. Так что есть смысл выставлять именно 3000 МГц частоту процессора во время проведения сравнительных тестов, тем более такую частоту могут достичь многие старые процессоры, что только расширяет возможности для сравнения с другими системами. И на этом я пожалуй закончу. Благодарю за внимание, больше интересных статей в блоге Hard-Workshop.
Как я пытался зафиксировать частоту AMD Ryzen 7 2700X на уровне 3500 МГц, но у меня ничего не вышло
6 февраля 20236 фев 2023
278
6 мин