It is possible now to start the ModuleManager with custom VM arguments e.g. the selection and configuration of a garbage collector. The idea is to allow the same for the Player and the Editor.
We would provide a text file with default settings, but the users could override this with custom settings.
This is customary in Java applications:
- Eclipse has the eclipse.ini: wiki.eclipse.org/Eclipse.ini
- IntelliJ has idea.exe.vmoptions (and even an editor for it inside the IDE itself): jetbrains.com/help/idea/tun … vm-options
- Minecraft has a text field in its launcher where the arguments can be entered and prefills it with a default set which configures the GC
Advantages:
- power users would get a way to tune the GC and other VM features to their needs
- we could introduce -D arguments and if needed tell users to change them to a different value in case of problems, e.g. “-Dorg.vassalengine.useLegacyFeatureX=true”
- we could put some awt/jdk arguments there e.g. “-Dawt.useSystemAAFontSettings=lcd” or “-Dsun.java2d.opengl=true”
The implementation would simply read the file line by line and in VASSAL.launch.AbstractLaunchAction.LaunchTask#doInBackground append the lines to the jvm arguments.
Sounds good?