I have a multimedia application that shows a form of streaming video. But garbage collection pauses are making the video pause and basically look bad. I’ll try to work around the garbage generation issues later… but what I have found now is that using any of -Xincgc -XX:+UseParallelGC or -XX:+UseConcMarkSweepGC minimizes the pauses to the point that the video playback is quite acceptable. I want to go with -Xincgc because I figure it will be the most reliable option.
Anyway, the application uses Java Web Start to launch (at least on all non-MS Windows platforms). Is there a way to specify these VM options with JNLP? I’ve looked at the 1.0.1 spec and they state that the j2se tag can specify the JRE to use as well as “standard parameters to the Java Virtual Machine”… okay I know any of the -X parameters are not “standard”, but the only two parameters that are documented in the JNLP spec are the “initial-heap-size” attribute which corresponds to the (non-standard) -Xms parameter, and “max-heap-size” which corresponds to the (non-standard) -Xmx parameter.
Note that other important options like stack size aren’t available either, according to the JNLP spec. Does anyone know if there are some ‘undocumented’ attributes that might allow me to pass other options to the VM?
I may end up filing a RFE for an attribute that will allow ANY options to be passed to the VM, such that the VM can ignore those that it does not support.