FEX-Emu 2609 adds optional JIT disk caching and performance fixes
Key Takeaway
FEX-Emu introduces an optional disk caching mechanism for JIT-generated code to reduce stuttering during gaming.
Summary
The FEX-2609 release of the FEX-Emu ARM64 to x86 emulator introduces a new optional disk caching feature for JIT code. This feature uses a FOZ file format database to store generated code, aiming to reduce JIT-related stutter in games. The update also includes various JIT performance optimizations, instruction behavior fixes, and the removal of legacy unixlib fallbacks for Wine.
Technical improvements in FEX-2609
- JIT Disk Caching: Users can enable caching via
FEX_DISKCACHE=1or a JSON option; cached code is stored in a FOZ database to speed up subsequent runs. - Performance: Optimization of the
PMULHRSWinstruction family and faster self-modifying-code detection for Unity games. - Concurrency: Reduced lock-contention in the JIT to allow better multi-threaded code generation.
- Wine Integration: Removed hacky unixlib fallbacks, now requiring the library for specific features to prevent accidental Windows syscalls.
- Known Limitations: The disk cache currently lacks size limits and may not invalidate correctly if file contents change.
Why it matters
The introduction of disk caching is a significant step toward smoother gaming experiences on ARM64 hardware running x86 workloads.
Original reference: github.com →