Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » Papyrus » Usability issues
Usability issues [message #1848045] Thu, 18 November 2021 12:07 Go to next message
Alberto Pérez is currently offline Alberto PérezFriend
Messages: 3
Registered: November 2021
Junior Member
Hi,

I've been using RCP 5.2.0 for a while to do some UML modeling but I'm experiencing some serious usability issues, in general, the GUI reacting rather sluggishly to user actions. Some examples of these are:

-. When clicking on an element in a class diagram in order to select it, 2 or 3 seconds can pass before the element gets actually selected. Similar response when trying to move elements around.
-. When scrolling, a couple of seconds can pass before the diagram gets properly redrawn.
-. When an element is selected in a diagram, a couple of seconds can pass before the property view and the model explorer reflect the change.

In general, the GUI seems to be reacting slowly to mouse events, more so as the model grows.

I've been tweaking the settings to try to improve this but to no avail. In case it helps, though, I leave below an excerpt of my current configuration:

Class diagrams:
-. "Show connector handles" enabled
-. "Show popup bars" disabled
-. "Enable animated layout" disabled
-. "Enable animated zoom" disabled
-. "Enable anti-aliasing" disabled
-. "Show status line" enabled
-. Grid spacing (in pixels): 5
-. Grid Style: dot
-. Outline view: Closed (This helped a little, before closing this window the situation was even worse)

Model Explorer:
-. "Use live validation" disabled

"Papyrus.ini":
[...]
eclipse.vmargs=-Xms512m
-Xmx2048m
-Dosgi.bundlefile.limit=200
java.home=/opt/jdk-17.0.1
[...]

"Standard" installation: No additional plugins added

Platform: Linux (Ubuntu)

Searching the forums I've found some posts reporting performance issues, but they are kind of old and I haven't been able to make progress based on what is discussed there:
https://www.eclipse.org/forums/index.php/t/1081390/
https://www.eclipse.org/forums/index.php/t/1072241/

Any ideas on how to proceed to improve this?

Thank you
Re: Usability issues [message #1848056 is a reply to message #1848045] Thu, 18 November 2021 16:22 Go to previous messageGo to next message
Carsten Pitz is currently offline Carsten PitzFriend
Messages: 479
Registered: May 2015
Location: Germany
Senior Member
OK, slow performance using the connector handles was indeed a problem I also faced. But this is solved, at least for me using actual (4.8, or 5.2) Papyrus versions.
I am using Papyrus since version 0.7 and I used Topcased since version 2.x. I never faced slow overall graphics performance, not caused by JVM setting suitable the servers but not for interactive work causing stalls due to large garbage collection jobs running in the background. Tweak your JVM setting for interactive work and you are done. Even on a SUN SS100 it was alwasy quite reactive, even on models with 30.000+ elements.
/Carsten
Re: Usability issues [message #1848058 is a reply to message #1848045] Thu, 18 November 2021 16:35 Go to previous messageGo to next message
Camille Letavernier is currently offline Camille LetavernierFriend
Messages: 952
Registered: February 2011
Senior Member
Hi Alberto,

I've just downloaded & tested the RCP version of Papyrus 5.2.0, and I don't notice any performance issue (although I don't have a big model to test). Do you also have issues with smaller models? Did you install the vanilla Papyrus RCP, or did you include third party extensions? Extensions may often react to selection-change events, and if implemented incorrectly, they can significantly degrade the performances of the tool.

If you have additional extensions, you can try closing the views one by one (Like you did for the Outline). Maybe this can help to find the issue.

For further investigation, you may also go to the Eclipse Preferences, and enable "UI Freeze Monitoring => Detect periods of unresponsive UI". If the UI remains frozen for more than 500ms/1200ms, you'll see warnings/errors in the Error Log view, which may help understanding the source issue.

HTH,
Camille


Camille Letavernier
Re: Usability issues [message #1848143 is a reply to message #1848056] Mon, 22 November 2021 14:29 Go to previous messageGo to next message
Alberto Pérez is currently offline Alberto PérezFriend
Messages: 3
Registered: November 2021
Junior Member
Hi Carsten,

Thanks.

Other than adjusting the heap size, I had never tuned the JVM settings to run Papyrus before so, following your advice, I've been tweaking the JVM settings a bit (not an expert on the matter, though).

Here are some of the configurations I've tested:

papyrus ‑vmargs -XX:+UseG1GC -Xms1024m -Xmx1024m -XX:MaxGCPauseMillis=10
papyrus ‑vmargs -XX:+UseG1GC -Xms1024m -Xmx2048m -XX:MaxGCPauseMillis=10
papyrus ‑vmargs ‑Xms1024m ‑XX:+UseZGC ‑Xmx4096m -XX:ParallelGCThreads=5 -XX:ConcGCThreads=5
papyrus ‑vmargs -XX:+UseZGC -Xms1024m -XX:+UseNUMA -XX:+UseLargePages

Plus other similar ones with different heap sizes, number of threads, etc.

Running Papyrus with any of these configurations on a ThinkPad P52 (6-Core 12-Thread CPU, 16GB of RAM) neither under a particularly high load nor running other Java apps, the improvements I see are marginal at best. You can find more details about this in my reply to Camille's post.

I guess I made a bad choice adjusting the params and that resorting to enabling GC logging or doing some profiling can help to better adjust the configuration but if, in the meantime, you are aware of any particularly effective JVM settings it would be great if you could share it.
Re: Usability issues [message #1848144 is a reply to message #1848143] Mon, 22 November 2021 14:38 Go to previous messageGo to next message
Carsten Pitz is currently offline Carsten PitzFriend
Messages: 479
Registered: May 2015
Location: Germany
Senior Member
Hi Alberto,

I tend to use the Eclipse OpenJ9 JVM which is more tuned towards interactive workload as the Oracle HotSpot JVM which is optimized for server workloads.

As parameters I use:
-vmargs
-Xshareclasses:fatal,silent
...
-XX:+UseG1GC
-XX:+UseStringDeduplication
...
-Xms256m
-Xmx2048m

/Carsten
Re: Usability issues [message #1848145 is a reply to message #1848058] Mon, 22 November 2021 14:40 Go to previous messageGo to next message
Alberto Pérez is currently offline Alberto PérezFriend
Messages: 3
Registered: November 2021
Junior Member
Hi Camille,

Thanks.

I'm running the Papyrus RCP "as it comes" without additional plugins or extensions. The model I'm working on is not particularly large: 6 or 7 class diagrams and a couple of use case diagrams over several submodels. All in all, I would say the model could roughly contain a couple of hundred modeling elements.

I followed your advice and turned on the UI monitoring (with default settings) and... yes, as I interact with the model, I can see the errors and warnings piling up. In general, every time I select an element in a diagram, two or three "UI freeze" warnings are thrown, each spanning between 0.5s and 0.8s. When, on the other hand, I add a new element to the diagram, added to the warnings, I also get a "UI freeze" error indicating that the UI froze for a couple of seconds.

As an example of all this, I attach several screenshots of the errors/warnings I got, when adding an association between two classes to a class diagram (no other diagram tabs open), that contains at around 35 classes neither densely populated with properties/operations nor densely interconnected.

index.php/fa/41353/0/
index.php/fa/41354/0/
index.php/fa/41355/0/

Finally, I also tried creating a new model from scracth. Working on a class diagram, at first UI responsiveness is OK (with the "Outline" view closed), only getting an occasional "UI freeze" warning, but as I add more classes and associations, the rate at which warnings are thrown goes up and I start getting some "UI freeze" errors too. I don't need to add more than 15 classes/10 associations to reach this. From this point forward, UI performance keeps getting worse as I add more and more elements to the diagram.
Re: Usability issues [message #1848152 is a reply to message #1848145] Mon, 22 November 2021 15:50 Go to previous messageGo to next message
Camille Letavernier is currently offline Camille LetavernierFriend
Messages: 952
Registered: February 2011
Senior Member
Hi Alberto,

Thanks for the detailed report! It's weird though. It seems that the diagram UI refresh is really taking a long time (Just on the refresh/drawing part); so it's not related to any third-party extension. Also, these performances should be directly related to the number of elements being drawn (i.e. open diagram), so it doesn't matter if you have a large model or many diagrams; only the current diagram should be affected. And with so few elements in the diagram, it shouldn't be slow at all.

Regarding the VM, I'm using OpenJDK 11 on Linux. I have a single UI Freeze of 0.6s on startup, and then I can edit a diagram with dozens of nodes and edges without a single freeze (No warning/error), even with Properties view and Outline open (These views may take some time to refresh in some cases, but it should remain well below 100 or 200ms most of the time; although the Outline is known to have performance issues with large diagrams. But your Outline is closed, and your diagrams aren't so large, so we can exclude that).

At this point, I would recommend testing with a different VM. If you have the same kind of performance issues with OpenJDK, then it's likely something wrong with the code (I don't think the Laptop hardware matters too much. Except for Memory on large models, Papyrus doesn't need a lot of resources to run).

One more thing you can try: since I see some CSS classes in your first UI Freeze stack trace, you can try changing the Papyrus Theme to "Black & White" (it uses a lot less CSS rules) or even "No Theme". I don't expect it to be the issue, but it's worth a try (And I'm already running out of ideas :) ). You can change the theme in Window > Preferences > Papyrus > CSS Theme. And I know that with a lot of CSS rules, diagram refreshes can get a bit slower (But that shouldn't happen with a default Papyrus RCP...)

Camille


Camille Letavernier
Re: Usability issues [message #1848153 is a reply to message #1848143] Mon, 22 November 2021 16:09 Go to previous message
Carsten Pitz is currently offline Carsten PitzFriend
Messages: 479
Registered: May 2015
Location: Germany
Senior Member
ups, do not use large pages for interactive workload ;-)

/Carsten
Previous Topic:Use IBD together with AD
Next Topic:RSA Model Imports
Goto Forum:
  


Current Time: Tue Apr 16 21:50:10 GMT 2024

Powered by FUDForum. Page generated in 2.56020 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top