3 ms·
change the boot JDK from the version 11 JBR JDK to version 15 of Azul Zulu.
by gjvc 5y ago
change the boot JDK from the version 11 JBR JDK to version 15 of Azul Zulu.
- heyoni 5y agoWow. I cannot wait to try this but how is azul different from openjdk in practical terms?
- systemvoltage 5y agoAh cool, will try this out. Thanks.
- thamer 5y agoThis didn't really work for me. I already had Azul's Zulu v15 installed so figured I'd give this a try. I pressed ⌘ ⇧ A and typed "Choose Boot" in Actions, picked "Choose Boot Java Runtime for the IDE", then selected Zulu 15 and restarted IntelliJ… then the outline of main window loaded with its menu, but none of its contents. It was all gray and none of the panels ever appeared. They eventually showed up after I resized the window but I'd consistently get in this state each time the IDE started. Also, the fonts didn't appear to render correctly. It's hard to say exactly what's wrong with them but the letter spacing and subpixel rendering seemed to be different. Is there anything else to do to make this work without having to resize the window each time?
- charcircuit 5y agoSome window managers require you to set _JAVA_AWT_WM_NONREPARENTING=1 for for it to render correctly.
- gjvc 5y agoGah. I do apologise. I should have mentioned I am on Linux, where updating to Zulu 15 works like a charm. (Zooming font size in the editor with scroll wheel is ... well, try it before/after :-)) The JBR has some fixes specifically for font rendering among others, on Mac OS X. Sorry for getting your hopes up. OTOH, Linux on the desktop is pretty good in 2021 :-) In this case, it certainly beats the Mac! :-P Funny, I used to think myself knowledgeable for knowing what JVM knobs to twiddle out of the box. Now I see that the fact they need adjusting out of the box is a weakness of the platform itself.
- kaba0 5y agoShouldn’t the latest openjdk release with ZGC be a better option for low-latency?
- gjvc 5y agoIt would be, were JetBrains IDEs currently compatible with the latest JDK, but they are not, so it's not quite as simple as that, unfortunately. IDEA and CLion won't start with JDK 16 or later, so I'm using JDK 15 for those. All the other JetBrains IDEs work with JDK 16. In all cases, features using the JCEF [1] runtime library, which is bundled with the JBR [2], will not be available. I'm using these options on Debian/unstable on all JetBrains IDEs, with both JDK 15 and JDK 16. -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseZGC -XX:-UseG1GC -XX:C1CompileThreshold=100 -XX:C2CompileThreshold=5000 -Xms4G -Xmx4G -XX:ReservedCodeCacheSize=512m -XX:SoftRefLRUPolicyMSPerMB=50 -XX:CICompilerCount=2 --illegal-access=permit Adding -XX:ReservedCodeCacheSize= and -XX:SoftRefLRUPolicyMSPerMB= made all the difference in keeping heap usage down. I have not yet experimented with different values for those parameters. The option --illegal-access=permit is required on JDK 16, but this option was removed in JDK 17, and because of this (but probably not only this) I haven't yet been able to make any JetBrains IDE work with JDK 17. In adjusting all of these settings, YMMV depending on your system. Good luck! [1] https://github.com/JetBrains/jcef https://github.com/JetBrains/jcef [2] which is currently based on JDK 11
- kaba0 5y agoWhile there are continuous performance improvements, between 15-17 it is probably not visibly so, but thanks for the config!