У меня есть игра, реализованная на Java, в которой возникла проблема при выполнении слишком большого количества кода из сценариев: в зависимости от языка сценариев в игре могли быть такие «икоты», когда игра время от времени зависала на пару кадров , делая игру "вяленой" в разы.
После некоторых исследований я обнаружил, что это происходило, когда сборщик мусора решил бежать. После дополнительных исследований и тестирования я обнаружил, что использование инкрементного сборщика мусора (с помощью параметра -Xincgc VM) решило проблему. Да, я знаю, что это заставляет GC работать примерно на 10% медленнее, но это цена, которую я плачу.
Имея эту справочную информацию, теперь я хочу упаковать игру в .jar, как я делал до сих пор, но я не знаю, как заставить приложение использовать инкрементный GC без использования -Xincgc, и я не хотел создавать файлы .bat / .sh, где раньше пользователю нужно было только дважды щелкнуть по файлу .jar.
Есть ли способ заставить .jar работать с инкрементальным сборщиком мусора, не требуя какого-либо загрузчика (.bat / .sh) или оболочки вокруг него? Есть ли способ включить этот параметр в .jar?