Open La1eon opened 5 years ago
Thanks for the report. I am aware about all these arguments, but almost all of them are redundant and don't affect the game client in terms of gameplay/performance/stability (maybe they are needed for telemetry that client sends to Mojang servers), so i don't plan to add them.
The only difference that might be important is -XX:G1HeapRegionSize=32M, so i will probably change value of that argument to match the official one. Another one that might be useful is -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance that can improve performance on Intel integrated graphics (only on Windows though).
For 1.12.2 and older versions i use arguments that were defaults in old official launcher (i mean the one that was written in Java language), they were used for years (until new official launcher was released) and i think that they are perfectly fine, so i don't plan to change them unless crucial reason appears.
I agree in 100% with the idea to have 2 different sets of arguments – one for versions 1.13 and above, and the second, the legacy one for versions below 1.13. I have just forgotten to said that in my statement above. I posted the 3rd screenshot, because I think that better too many of them than too few, but my main focus was on the 1st, and partially on the 2nd screenshot (especially for the case of #17).
Ok, got it. So, to summarize, there are three important differences:
I would add to your list also a little less important things like --versionType release
(instead of the current --versionType client
, which probably results in addition of unnecessary text "client" next to the version number in the main menu and in the F3 overlay), and a cleanup of redundant quotation marks or whitespace characters here and there.
I ran a simple command, which I found on the Internet, in the Windows Command Prompt to check out what command line arguments were passed to the javaw.exe process after launching it via this launcher and the official one. I found out that the list of arguments being passed by this launcher significantly differs from those being passed by the official Minecraft launcher.
Using the official Minecraft launcher, I launched Minecraft version 1.14.4 with its default settings (except resolution options, because I wanted to check something additional), and then version 1.12.2, also with its default settings (and also except the resolution options).
Some time later using this launcher I launched Minecraft version 1.14.4 with mostly default settings (I had to change nick (to "Player") and max RAM (to 2048 MB) to match some of the official launcher options), and then version 1.12.2, also with mostly default settings (changed nick and max RAM).
The results can be seen below. To make differences more noticeable, I used text-compare.com website, which highlights them in blue.
Important note: I replaced several parts with texts between angle brackets (example:) to make all arguments look much more universally, and to remove redundant information such as e.g. the very long list of paths to bundled libraries. Furthermore, any characters like redundant quotation marks or the whitespace character in front of "--username" weren't added by me, so I suppose it's this launcher doing. I was replacing only one whitespace character by a newline character to make everything better and easier comparable.
Several most noticeable differences:
-XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump
– I have completely no idea what this argument does, but for some reason it is passed by the official Minecraft launcher, so maybe it is useful-Dminecraft.launcher.brand=minecraft-launcher
– unnecessary argument as long as its absence doesn't block Minecraft files from being downloaded-Dminecraft.launcher.version=2.1.5964
– the same as above-Dlog4j.configurationFile=C:\Users\<username>\AppData\Roaming\.minecraft\assets\log_configs\client-1.12.xml
– looks like something important, but this launcher doesn't have a console module, so maybe it is not as useful as it could be?--userType legacy
– I don't know why there is "legacy" here instead of "mojang", but maybe it is better?--versionType release
– I think if you change text "release" to something other, it will be displayed next to the version number in the main menu and in the F3 overlay, so it seems to me that text other than "release" is unnecessary--demo
– completely redundant; its existence here is only due to the fact that I ran Minecraft using an account without bought the gameArguments being passed by the official Minecraft launcher (on the left) vs by this launcher for Minecraft version 1.14.4 (on the right):
Arguments being passed by the official Minecraft launcher for Minecraft version 1.14.4 (on the left) vs for Minecraft version 1.12.2 (on the right):
Arguments being passed by this launcher for Minecraft version 1.14.4 (on the left) vs for Minecraft version 1.12.2 (on the right):