Console: local instances get BT_AFFINITY=0xF0 (upper cores)

The game self-pins to core 0 by default; on the operator box core 0 is
shared with the console/relay/desktop, and the mission load drains
frame-paced -- a starved frame rate multiplied the operator's load time
to 3-5 min while internet testers loaded in ~20s (live finding, round
2).  The local-instance launcher now spreads the game across the upper
cores unless BT_AFFINITY is explicitly set.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
arcattack
2026-07-22 22:20:30 -05:00
co-authored by Claude Opus 4.8
parent 117b92cb24
commit 0360a26612
+8
View File
@@ -807,6 +807,14 @@ class Operator(QMainWindow):
# profile and the legacy arrow-drive bridge takes the keyboard
# (user-reported: "launched with the wrong keymap again").
env.insert("BT_PLATFORM", "glass")
# OPERATOR LOAD SPEED (2026-07-22, live finding): the game pins
# itself to CPU core 0 by default, which on the operator box is
# shared with the console/relay/desktop -- and the mission load
# drains frame-paced, so a starved frame rate multiplies load
# time (testers ~20s, operator 3-5 min). Spread the local
# instance across the UPPER cores instead.
if "BT_AFFINITY" not in os.environ:
env.insert("BT_AFFINITY", "0xF0")
if self.f_gauges.isChecked():
env.insert("BT_DEV_GAUGES", "1")
if self.f_inside.isChecked():