Big Lake lighting, restored performance and terrain CPU investigation

Big Lake's expanded replacement-model setup now has a verified performance repair. A matched route improved from 43.1 to 82.1 average FPS after restoring configuration caches, with scene pixels and original draw records preserved. Terrain CPU removal was investigated separately: a bounded prototype passed its tested visual comparisons but delivered no speedup, so it remains outside Play. Bushwacker skin and shoulder work also progressed.

What changed

  • The Big Lake test configuration now binds 15 replacement chassis across 30 original close and distant model slots. Directional sunlight, normal mapping and real-time cast shadows are configured in this isolated test host. This is not complete validation of every chassis, material, damage state or distance transition.
  • The current shadow implementation uses one camera-centered orthographic shadow map. Earlier handoff wording describing cascaded shadows was incorrect. An unmatched original chassis signature still uses stock rendering until its identity is established.
  • Traced the large performance regression after model expansion to lost caches. Scene traversal repeatedly searched process environment variables for every model slot and rescanned candidate part names. Restoring process-lifetime caches retained the same models and graphics settings.
  • Added a focused, repeatable repair mode that validates source anchors before writing and accepts an already repaired model adapter. Future model-roster updates can restore these caches without reapplying unrelated rendering patches.
  • Installed the validated cache repair in the isolated Big Lake Play host and updated its executable identity. The terrain experiment was kept separate from that playable build.

Performance and rendering checks

The matched route ran at 3440 by 1440 with FXAA, 16x anisotropic filtering, a 1,200-unit draw distance, a 1,100-unit fog endpoint, sunset lighting, shadows and the expanded model configuration.

  • The original build averaged 23.18 milliseconds per frame, or 43.1 FPS. The installed repaired build averaged 12.18 milliseconds, or 82.1 FPS: approximately 47 percent less frame time on this route.
  • All 1,000 original frame, draw-count and hash records matched, as did non-timing world counters. Captures matched pixel for pixel outside the changing performance overlay.
  • A separate profiled comparison reduced samples inside the C runtime from about 49 percent to about 4 percent, supporting redundant configuration lookup as the main cause of this regression.

These are controlled host-throughput measurements using scripted input and a fixed simulation clock. They do not predict every live combat scene. Bounded runs stopped at their intentional frame limits; they are not mission-completion or normal-quit tests.

Terrain work: partial migration, measured limits

  • Confirmed that some terrain geometry already remains resident on the GPU, while original CPU transformation, material lighting, fog, clipping and submission still execute. Modern GPU shading does not establish that all terrain CPU work has been removed.
  • Corrected earlier function labels and distinguished general rendering costs from terrain-only costs. Tile selection, distance decisions and required callbacks must remain intact when moving work across the CPU/GPU boundary.
  • Built a restricted perspective-loop prototype for admitted terrain meshes. Across 1,200 observed frames it omitted 128,116 CPU perspective iterations, matched the tested rendering-semantic records and reproduced three full-resolution capture files exactly. The original-loop fixture passed 1,152 cases.
  • Timing found no net improvement: the experimental build averaged about 19.04 milliseconds with bypass disabled and 19.19 with bypass enabled. Restoring the production geometry object in the same host recovered about 12.26 milliseconds. The experimental producer and hook integration added roughly 6.78 milliseconds, outweighing the removed work.
  • Safety observation and diagnostic hashing remain enabled by default in the prototype. Separate timing runs with those diagnostics disabled provide no safety validation. Earlier projection divergences remain recorded and unresolved.

Bushwacker skin and assembly work

  • Added source-selected Commander Freya skin D for the original distant Bushwacker binding while retaining the player's primary skin. The distant binding currently retains full donor geometry; it is not a reduced-polygon performance LOD.
  • Initial native checks reached Campaign Mission 3 with both player-primary and enemy-D GPU draws. Training and Instant Action capture comparisons, original draw-stream checks and adapter fixtures passed for that earlier integration.
  • A subsequent shoulder revision restored existing connector seats and weapon-mount placement for both skins and both original distance bindings. Offline placement, contact and adapter checks passed. That final revision still needs a fresh live visual test; earlier native results do not establish its live correctness.

What comes next

Profile a representative live fight with the cache repair installed. For terrain, identify the remaining original producers and material queues, then test admission before costly transformation and submission while preserving tile, culling, distance and callback effects. Establish an unchanged disabled control before expanding CPU bypasses. Complete live Bushwacker revision, damage, distance-transition and weapon-effect checks, and identify the unmatched chassis before extending its roster.

The accepted startup-root count remains 131 of 144. No whole-game fidelity, campaign-completion or new formal milestone credit is claimed. Original media, replacement assets, generated game code and executables remain local; this update is not a downloadable game release.

The source repository is currently private; GitHub links require collaborator access.