Skip to content

Zero Hour engine — macOS (Apple Silicon) engine-v0.1.8

Choose a tag to compare

@github-actions github-actions released this 07 Jul 10:52

Native macOS arm64 build of the Command & Conquer: Generals — Zero Hour engine.

Fixed — steady in-game GPU-memory leak

  • Symptom: game memory climbed continuously during play (~50–100 MB/s on a large map / long battle), reaching tens of GB of RSS over time.
  • Cause: on-screen UI text that changes every frame (money/score, timers, the menu clock, load-screen counters) rebuilds its glyph atlas each frame. The DX8→Metal shim allocated a fresh small texture per frame, and Metal's allocator did not reclaim the churned backings promptly → GPU memory grew without bound. (The textures were freed correctly — the churn defeated the allocator.)
  • Fix: a create/release texture recycle pool in the shim reuses small font textures instead of reallocating them every frame. In-game and menu text render identically; memory now plateaus and stays flat. MTL_NO_TEXPOOL=1 reverts.

No graphics or quality changes — this only stops the leak.


The GeneralsZH Launcher downloads this engine automatically. You must own a legitimate copy of Zero Hour — EA game data is not included. Apple Silicon (M-series) only. Checksums in SHA256SUMS.