Низкая загрузка процессора в Сталкере 2.
Процессор в системе Ryzen 5 5600. При компиляции шейдеров вполне себе нормально загружен на 80-85%. На эпических настройках в 2к в паре с RTX 5070 выдает вполне себе стабильные 65-70 фпс без DLSS, закружая карту на 99%. Сам на 60% где-то. Но при снижении графики до уровня тетриса(низкие настройки, все отключено, разрешение ниже HD), когда видюха разгружена и практически спит он выдает 100-110 фпс и его загрузка никак не меняется. Хотя по логике она должна увеличиватся и выдавать намного больше кадров. Да, проц слабый и я понимаю если он был бы загружен на 100%, но нет. 50-60% и потоки загружены равномерно. В чем может быть причина?
Изображением занимается видеокарта, а не процессор. Одно ядро упирается в 100%, а показывает что все заняты на 25%...
Главное подозрение — ограничения движка и однопоточность логики
Unreal Engine 5, на котором построен Stalker 2, всё ещё имеет значительную часть игровой логики, физики, скриптов, AI и прочего — в однопоточном режиме или с плохим масштабированием по ядрам. В этом случае:
· Загрузка ЦП в целом может быть "низкой" (например, 60%), но одно или два ядра загружены на 100%.
· Считай, что узкое место — это один загруженный поток, который тормозит всю остальную цепочку, не давая рендеру идти быстрее.
· Использование всех потоков равномерно (как ты написал) может означать, что движок параллелит задачи рендера/потоков данных, но логика игры или командный процессор тормозит.
Ты можешь подтвердить это, если включишь по-ядерную загрузку CPU (например, в HWiNFO, MSI Afterburner или Task Manager -> Performance -> CPU -> Change graph to "Logical processors"). Один поток будет почти всегда на 100%.
🎮 Почему FPS не растёт при снижении графики?
1. Игровая логика, физика, ИИ, скрипты — не зависят от настроек графики, и они начинают "ограничивать" производительность на слабом ЦП.
2. GPU Idle — когда видеокарта ждёт данные от ЦП, чтобы отрисовать следующий кадр.
3. FPS упирается в CPU Limit, а не GPU.
Ты в таком случае попадаешь в ситуацию, которую называют:
"CPU-bound scenario при низких настройках"
🤖 Почему при компиляции шейдеров CPU загружается на 80-90%?
Это один из немногих этапов, который отлично масштабируется по ядрам — компиляция шейдеров, особенно в UE5, — это тупо параллельная работа. Вот там Ryzen 5600 (6/12 потоков) и раскрывается.
⚙️ Возможные причины и пояснения:
Причина
Объяснение
🧠 Ограничения движка
UE5 использует Nanite, Lumen и т.д., но логика может тормозить на CPU
🧵 Однопоточность
Логика игры или главный поток не даёт рендеру идти быстрее
⏱️ Планировщик Windows
Может не давать нужным потокам работать быстрее
🧩 DX12 Overhead
В некоторых случаях DX12 может больше нагружать CPU (если плохо оптимизирован) ⚠️ Баги/утечки
Возможно, в игре просто баг или узкое место в коде логики или анимации
🔁 Внутренний FPS Cap
Иногда движки ограничивают FPS "в фоне", даже если VSync выкл.✅ Что можно попробовать:
1. Проверь загрузку по ядрам (см. выше) — ищем одно/два ядра под 100%.
2. Установи фиксированную частоту CPU (ближе к boost) — отключи энергосбережение (BIOS -> AMD Cool’n’Quiet и т.п.).
3. Убедись, что нет ограничений FPS в самом движке/игре — бывает внутренняя капа на CPU.
4. Запусти игру в оконном режиме без ограничений и сравни — иногда фуллскрин вносит лаг.
5. Обнови/переустанови драйвера (включая чипсет AMD) — бывает, что планировщик не понимает приоритет.
6. Включи "High Performance Mode" в Windows и "Game Mode".
7. Поиграй с affinity через Process Lasso — можно попробовать временно отрубить парочку потоков для эксперимента.
8. Вставь в игру лог-файл или используй UE команду stat unit / stat thread — покажет нагрузку на потоки UE.
📌 Заключение
Ты прав — 60% загрузки CPU при видеокарте в "отпуске" должно давать больше FPS, но в реальности узким местом является производительность на 1 поток, которую Unreal Engine не всегда умеет эффективно масштабировать. Это не баг твоей системы, а скорее ограничение архитектуры игры и движка.