Даунгрейд: FC4
Apr. 7th, 2024 04:08 pmПопробовал запустить Far Cry 4 на gtx1660super и столкнулся с неожиданной проблемой. ФПС застрял на 35. Частота видеочипа – на 1200 мгц. При этом все 12 потоков процессора R5-1600 молотили на 50%.
Изучение Гугла выявило, что я не первый такой. У FC4 была плохая оптимизация, которая приводила к парадоксальной ситуации. Обычно плохая оптимизация означает, что вам требуется более мощный ПК для запуска программы. В случае же FC4 проблемы начинались на ПК более мощных, чем требуются игрой.
FC4 вышел в конце 2014 года. Это был период, когда 4-ядерные процессоры еще не доминировали, и потребители пока сидели на 2-ядерных 4-поточных процессорах. Из видеокарт мощной новинкой была gtx970 c частотой 1150 Мгц. FC4 был разработан в расчете на применение таких комплектующих. Парадокс оптимизации заключается в том, что на более мощных комплектующих FC4 снижает свою производительность. Увидев 12 потоков вместо 4, игра сходит с ума. Она нагружает все потоки на 50%, и молотит почем зря. Увидев gtx1660s с бустом до 1830 Мгц., игра понижает частоту до 1200 Мгц., нагружая видеокарту всего на 60%. Видеопамять заполнена на 3.5 Гб – тут всё нормально. В результате имеем незагруженную ВК, перегруженный ЦП, и ФПС, застрявший на 37 кадрах.
Совет из Гугла, который сработал, оказался простым: отключить 8 потоков из 12. В БИОС лезть не надо. Запустив программу, нажимает на три кнопки (Ctrl+Alt+Del), в Списке процессов находим FC4.exe. Кликаем на этом процессе правой мышкой, выбираем «Подробно». Опять правой мышкой, выбираем «Указать сходство» (Set Affinity). Тут мы видим все потоки нашего ЦП. Снимаем все галочки, и заново выставляем только четыре галочки: ядро0, ядро2, ядро4, ядро6. Ок. Как по волшебству, ФПС поднимается до 60 (у меня залочено 60 + вертикальная синхронизация). Четыре ядра молотят на 20% нагрузки, ВК – на 60% нагрузки. Температуры ВК и ЦК ниже 50 градусов. Самые высокие настройки графики, ambient occlusion SSAO (а не HBAO+).
Очень плохо, оказывается, иметь порой слишком много ядер и потоков. Ни одна из старых игр так плохо себя не ведет на новом железе. Четыре года назад, когда я впервые прошел FC4, я не заметил эту проблему. Меня всё устраивало (см. рецензию). Правда, я тогда использовал GTX650ti-2gb. И я не использовал тогда программу MSI Afterburner, чтобы в режиме реального времени наблюдать за параметрами системы. Т.е. тогда, видимо, я залочил себя на 30 кадров, не видел проблемы и был всем довольным. Сейчас же, пытаясь насладиться всей мощью ВК 2019 года выпуска, я впервые осознал наличие проблемы.
Изучение Гугла выявило, что я не первый такой. У FC4 была плохая оптимизация, которая приводила к парадоксальной ситуации. Обычно плохая оптимизация означает, что вам требуется более мощный ПК для запуска программы. В случае же FC4 проблемы начинались на ПК более мощных, чем требуются игрой.
FC4 вышел в конце 2014 года. Это был период, когда 4-ядерные процессоры еще не доминировали, и потребители пока сидели на 2-ядерных 4-поточных процессорах. Из видеокарт мощной новинкой была gtx970 c частотой 1150 Мгц. FC4 был разработан в расчете на применение таких комплектующих. Парадокс оптимизации заключается в том, что на более мощных комплектующих FC4 снижает свою производительность. Увидев 12 потоков вместо 4, игра сходит с ума. Она нагружает все потоки на 50%, и молотит почем зря. Увидев gtx1660s с бустом до 1830 Мгц., игра понижает частоту до 1200 Мгц., нагружая видеокарту всего на 60%. Видеопамять заполнена на 3.5 Гб – тут всё нормально. В результате имеем незагруженную ВК, перегруженный ЦП, и ФПС, застрявший на 37 кадрах.
Совет из Гугла, который сработал, оказался простым: отключить 8 потоков из 12. В БИОС лезть не надо. Запустив программу, нажимает на три кнопки (Ctrl+Alt+Del), в Списке процессов находим FC4.exe. Кликаем на этом процессе правой мышкой, выбираем «Подробно». Опять правой мышкой, выбираем «Указать сходство» (Set Affinity). Тут мы видим все потоки нашего ЦП. Снимаем все галочки, и заново выставляем только четыре галочки: ядро0, ядро2, ядро4, ядро6. Ок. Как по волшебству, ФПС поднимается до 60 (у меня залочено 60 + вертикальная синхронизация). Четыре ядра молотят на 20% нагрузки, ВК – на 60% нагрузки. Температуры ВК и ЦК ниже 50 градусов. Самые высокие настройки графики, ambient occlusion SSAO (а не HBAO+).
Очень плохо, оказывается, иметь порой слишком много ядер и потоков. Ни одна из старых игр так плохо себя не ведет на новом железе. Четыре года назад, когда я впервые прошел FC4, я не заметил эту проблему. Меня всё устраивало (см. рецензию). Правда, я тогда использовал GTX650ti-2gb. И я не использовал тогда программу MSI Afterburner, чтобы в режиме реального времени наблюдать за параметрами системы. Т.е. тогда, видимо, я залочил себя на 30 кадров, не видел проблемы и был всем довольным. Сейчас же, пытаясь насладиться всей мощью ВК 2019 года выпуска, я впервые осознал наличие проблемы.
no subject
Date: 2024-04-08 11:48 am (UTC)В Линуксе в этом плане та же фигня (или может даже еще хуже): умолчальный планировщик снижает частоту процессоров, глядя на среднюю загрузку процессора. Чтоб нормально работало, надо в явном виде выбрать performance CPU mode.
no subject
Date: 2024-04-08 01:39 pm (UTC)На другой ОС (но тот же ПК) Windows 10 22H1 похожий баг был один раз замечен в игре Remnant 2. Но это было 1 раз и похоже на редкий сбой. Частота ВК также застряла на 1200 Мгц, что отразилось на ФПС. Простой перезапуск игры помог.
Да, один из советов в Гугле - зайти в настройки Windows и выставить Game Performance Mode. Я этого не делал.
>> Или это в игре такой планировщик процессов на GPU?
Вот таких подробностей я не знаю.