I have a Vision Client Project that’s experiencing severe performance issues. This typically occurs after both swapping windows and updating tags very rapidly. The windows in question contain a large number of templates, sometimes hundreds in a template repeater. The template parameters are string tag paths to UDT instances. First the client seems to slow, then freeze. If left frozen for several minutes/hours the GUI will eventually flicker, but stay frozen. If I click within the client while it’s frozen, Windows will state that the process isn’t responding and offer to terminate.
- Running the Vision client via the Native Launcher
- Project Client memory is configured for an initial 1024M, max 4096M
- Client CPU utilization is ~27.5% during freeze events
- Client Memory utilization is ~350MB during freeze events
- I also tried supplying jvm-args to the client launcher shortcut for similar Xms and Xms settings, but that had no impact
- There is a running Alarm Horn Client Timer Function that fires system.util.playSoundClip every 3 seconds, which appears multiple times in each stack dump for some reason.
- There are sometimes SwingWorker threads held in a blocking state on TemplateRepeater$TemplateLoader tasks, seems like the smoking gun to me, but no clue why or how to fix.
- Ignition Version - 7.9.11
- Gateway Java Version - 1.8.1_121-b13
- Client Java Version - 1.8.0 u171
- Not using embedded JRE
- Very slow load time on page displaying large Template repeater - #25 by diat150
- Performance issues - #11 by pturmel
I took various JStack trace dumps after freeze events. I took multiple after each event, one event on 11/21, one on 11/22 to see how the state might be changing. Big thanks to the brave soul who wants to dive into these!
crash_dump_20191121_1.txt (60.8 KB)
crash_dump_20191121_2.txt (50.5 KB)
crash_dump_20191121_3.txt (48.8 KB)
crash_dump_20191122_1.txt (43.7 KB)
crash_dump_20191122_2.txt (36.0 KB)
crash_dump_20191122_3.txt (39.9 KB)