Lou Montana/Sandbox – User
Introduction
This article will try to be a general guide about improving your mission's performance.
As usual, moderation is the key; do not expect to find here a magical solution to run thousands of AI at 144 FPS. Everything comes at a cost, the tweaks on this page will simply allow you to calibrate your mission properly.
Before anything
Before optimising anything, make sure you do not have any performance issue running the game itself:
- Open the editor, place a unit in the area you like and test your computer.
- Arma 3 displays FPS when you go into video options
- Steam allows you to display FPS in a screen corner, in Settings > In game > FPS Counter
- Use (unofficial) Performance Guides to get better performances:
- Play your mission in singleplayer. If your mission runs fine, its network messages might very well be the issue. See Multiplayer Scripting for good practice tips.
- Usual bottlenecks:
- Lower your graphical settings (resolution, textures). If you get way better performances, at least your GPU limits you.
- If the game keeps having low FPS when running @ 1024×768/low textures then your CPU is most likely the issue. Mission scripts may be performance-hogging too.
Creating your mission
- Be sure to create your scripts with the latest available commands and functions.
- In Arma 3 use remoteExec / remoteExecCall and DITCH BIS_fnc_MP FOR GOOD! See Arma 3 Remote Execution for more information.
- In Arma 2 network communication is done using the Multiplayer framework.
- Use the available frameworks and functions for each topic, unless you replace them by third-party ones:
Performance impact table
Topic | CPU | GPU | Net- work |
Solution |
---|---|---|---|---|
AI units quantity |
Template:colorball | Template:colorball | Template:colorball |
|
Objects quantity |
Template:colorball | Template:colorball | Template:colorball | The less objects, the more FPS you will have.
|
High-frequency scripts |
Template:colorball | Template:colorball | Template:colorball |
Checking a condition too often is usually a source of poor performance. Does your code execution need to be frame-perfect, or can you afford a delay of some seconds?
|
High-frequency network messages |
Template:colorball | Template:colorball | Template:colorball |
|
What else?
You have applied all these recommendations and yet, your mission still doesn't run well in multiplayer (but does in singleplayer); an answer to that is that you are using mods, of which some are not well optimised, if at all.
If you want to be sure, run the same mission with and without mods. If you have a big difference in performance, look no further.