Hello, recently i changed my laptom from older macbook pro to new macbook pro M1. After this change gantt project software started lagging and i cannot use it like i used to it.
Any ideas how to solve this? i dont want to change software cause i have implemented big gantt charts…
Currently most of Java Runtimes do not support M1 natively and run with the help of Rosetta. As to the best of my knowledge, there are indeed issues in such environment.
Unfortunately at the moment there is no JRE with JavaFX which would run on M1. Java FX is heavily used in the new GanttProject 3.0, so it means that GP 3.0 is not yet the best friend of M1 and the only option is this Azul Zulu runtime and ZIP archive distro of GP 2.8.11.
I installed Azul zulu 11.45.27, but no help GP3 and GP2 is still lagging. If i zoom out my project then it is running ok (i can use it properly), but if i zoom in it starts lagging heavily and its hard to use. Is there any work around I could try?
I tried playing with this file on my Linux and it was okay, so most likely the issue is either with JRE+M1 or with something else on your Mac environment.
Download GanntProject’s zip from GanttProject - Download and unzipped it to ./ganttproject-3.2.3240
Opened command window and ran ./ganttproject-3.2.3240/ganttproject.command --java-home ./jre-11.0.15.1-full.jre
After this, in the Activity Monitor I can confirm that GanttProject now runs on ‘Apple’ instead of ‘Intel’ (column ‘Kind’). However, as mentioned above, with similar performance as before.
Some notes:
Performance seems to have improved upgrading to 3.2.3240.
First time you might need to go to System Preferences, Security & Privacy to allow java to run.
I get one error when starting (printed to the console): InteropFactory: cannot load com.sun.javafx.embed.swing.newimpl.InteropFactoryN, not sure if this matters.
Poor performance means, on the default ‘House Building’ project, that sometimes it takes 2-3 seconds when I click for the open hand to become closed (to scroll left/right), I regularly get the colour wheel, and some actions that I would assume easy take several seconds. On a more complex project, things get worse.
Can you please send signal QUIT to java process while GanttProject is thinking (with kill -3 [process id])? It will print a lot of stuff to the console, please send it to me. It is better to send QUIT a few times. I think you can redirect the console output to a file with tee command.
I’ve followed the steps @dloeckx mentioned to see if I had the same issue. I can confirm that it also runs natively (as can be seen in the Kind column of Activity Monitor) and the lagging issues persist.
I sent the kill signal to the Java process as you mentioned and have attached the debug output. Hope this helps!
I’m not sure what defines “thinking” here but when trying to scroll left & right in a project that has 9 items in I see the CPU usage go from 44% to over 100%. Scrolling left & right works without any lag in an empty project if that helps.
I tested the above with both Java 11 and Java 17 and see similar CPU usage spikes.
Let me know if there’s anything more I can provide to help diagnose these issues