Skip to content

Implement ForceAffinity client option and set process priority from high to above normal#7160

Open
lL1l1 wants to merge 6 commits into
developfrom
fix/init-file-ecores
Open

Implement ForceAffinity client option and set process priority from high to above normal#7160
lL1l1 wants to merge 6 commits into
developfrom
fix/init-file-ecores

Conversation

@lL1l1

@lL1l1 lL1l1 commented Jun 30, 2026

Copy link
Copy Markdown
Contributor

Description of the proposed changes

The client has a non-functional option that is supposed to toggle what we do with the process affinity. It's especially bad that the description says it does something that can troubleshoot problems:

This option tweaks how the game uses your computer's processor (CPU) cores. On systems with lots of cores, it skips the first few that your operating system might share with other tasks, helping the game run smoother with more consistent frame rates. Turn it off if it causes issues with streaming, recording, or other apps.

- downlords-faf-client/src/main/resources/i18n/messages.properties#L872

This PR implements the option in the init file. Partially resolves #7060 by giving an option if the user has that error but it's still not locking the game to the first 4 cores so it may still cause the error if the game uses the e-cores while the first 4 cores are still available.

Another change is setting the process priority to above normal instead of high so that game freezes don't freeze the windows UI.

I also copied the copyable section as indicated to the other init file but I didn't particularly care about reviewing if the functionality changed because those init files haven't been updated in a long time and I couldn't find uses for them when searching the FAForever organization on Github.

Testing done on the proposed changes

Copy the changed init file to your game's local development init file and adjust ForceAffinity in the fa-path.lua file 1 directory up manually or by using client and launching the game to save the changes to the file. When running your local dev game

Checklist

lL1l1 added 4 commits June 22, 2026 02:23
@lL1l1 lL1l1 requested review from 4z0t and Garanas June 30, 2026 02:52
@lL1l1 lL1l1 added type: bug area: engine related to engine bugs/limitations labels Jun 30, 2026
@lL1l1 lL1l1 marked this pull request as ready for review June 30, 2026 02:55
@coderabbitai

coderabbitai Bot commented Jun 30, 2026

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

@lL1l1, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 33 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 87f0b05f-85de-4777-8db9-8a32c3f5c870

📥 Commits

Reviewing files that changed from the base of the PR and between 046b6d5 and 4af9b9d.

📒 Files selected for processing (7)
  • changelog/snippets/fix.7160.md
  • init.lua
  • init_faf.lua
  • init_fafbeta.lua
  • init_fafdevelop.lua
  • init_shared.lua
  • setup/bin/init_local_development.lua
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/init-file-ecores

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai

coderabbitai Bot commented Jun 30, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Caution

Review failed

The head commit changed during the review from 2a20d37 to 4af9b9d.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/init-file-ecores

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: engine related to engine bugs/limitations type: bug

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: Init file process affinity causes engine RType errors with Intel E-Cores

1 participant