mirror of
https://github.com/ARMSX2/ARMSX2.git
synced 2026-08-24 16:50:16 -07:00
Records the GIF command stream from a --liverun into a .gs dump, so a GS workload can be replayed in pcsx2-gsrunner with no emulator in front of it. This is the only honest way to A/B the GS across two builds. Measuring the GS inside a live run does not work: both the MTGS ring and the software rasterizer's job queue spin while waiting for work, so a build with a faster EE shifts the GS threads' instruction counts without changing a single pixel of GS work. Measured on Xenosaga with byte-identical GS workloads (same PRIM, DRW and Mpps), a live run reported the GS threads executing 23% more instructions while burning 21% fewer cycles -- the signature of spin, not rasterization. Replaying the same captured dump standalone put the same build 11% ahead on instructions. Recording arms after --gsdump-at frames (default 30, so the scene has settled) and stops on its own once the requested frame count has been recorded; the frame budget is raised automatically if it would truncate the dump.