Wheeled by Wagn v. 1.14.4

Performance Revolution








The Problem

Feature-heavy mods like the ACE Mod, which are heavily relying on scripting to make these features possible,

can need a long time to initialize the game, switching missions, islands, going from editor back to the game, and so forth.

2nd-nth mission (re)starts go faster, but it is still nowhere near as fast as playing the Vanilla game.


This is mostly because by default, all scripts have to be preProcessed and compiled at every mission (re)start. The effect is amplified due to the massive usage of defines and macros.

Also XEH causes a higher script load during initializing of objects (units/vehicles/etc) due to the way the eventhandlers need to be implemented (Engine workings and (MP) bugs). The problem is bigger for missions with a lot of dynamic object spawning, which is rather defacto standard these days.


Limited script scheduler resources, introduced in ArmA2, amplify the issues further.


The Solution

As of upcoming ACE version (1.12 RC2), all mods/addons/missions that are using CBA macros, or XEH events, will show major improvements in initialization performance.

You will especially notice the differences after the 2nd-nth mission (re)start or switching islands, but even the first starts are faster.


We have accomplished this by improving the implementations and by implementing a cache for all compile preProcessFile'd scripts (incl CfgFunctions, BIS functions module etc), and for all XEH events on CfgVehicle classes.

This cache is stored in the uiNamespace and is therefore available throughout the whole lifetime of the running game (game start, till terminate game).

Each class is only cached once, while mission and campaignConfigfile events are obviously evaluated every mission, but also only once per CfgVehicle class.


You can find a preview changelog for the RC2 release scheduled for tomorrow here: ACE 1.12 RC2.

The current implementation is only a first version, and we feel we can probably improve it even further coming time.


We hope you are excited! I know we are!!




comments powered by Disqus