DEV Community

Izanagi
Izanagi

Posted on

Apex Legends FPS optimization: CPU scheduling and why it matters

Apex Legends runs on a modified Source engine that's heavily CPU-dependent. If your average FPS looks fine but 1% lows are rough — that's scheduling, not hardware.

The core issue

Apex spawns multiple threads: render thread, game logic, audio, network. Windows default scheduling doesn't distinguish between these and your browser tabs. All compete equally.

Per-process priority

HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\r5apex.exe\PerfOptions
CpuPriorityClass = 3
IoPriority = 3
GpuPriority = 8
Enter fullscreen mode Exit fullscreen mode

This applies every time Apex launches — no need to set it manually each session.

Power plan

Ultimate Performance plan disables core parking and locks CPU frequency:

powercfg /duplicatescheme e9a42b02-d5df-448d-aa00-03f14749eb61
powercfg /setactive <guid>
Enter fullscreen mode Exit fullscreen mode

Standard High Performance still allows frequency scaling. Ultimate Performance doesn't.

Win32PrioritySeparation

HKLM\SYSTEM\CurrentControlSet\Control\PriorityControl
Win32PrioritySeparation = 38
Enter fullscreen mode Exit fullscreen mode

Short scheduling quanta, 3x foreground priority. Game thread gets scheduled more often per second.

Result

With these changes the 1% lows align much closer to average FPS. The game feels smoother even if the counter reads the same.

Full automated setup at https://terweb.lt/ — IzanagiOP handles all of this plus 500+ more tweaks across system, network, and audio.

Top comments (0)