1

We have an application which uses an WebView to displays a map with OpenLayers. The data comes from an GeoServer in the Background. So far our application was run by our customers in FullHD (1920x1080) which did not cause any problems so far. Now our customers have changed their displays which have now an WQXGA (2560x1600) resolution. Our application runs perfectly without any problems in FullHD, but as soon as we make our application fullscreen on the WQXGA display the WebView turns grey, the GUI freezes and the GUI is not responsive anymore.

enter image description here

The System monitor showed that there is some heavy computation going on the background. I used VisualVM to find out more. I profiled the method calls ant it turned out that the WebView takes most of the time doing somthing in parallel. I also looked into the description of this method and it states that is it used to update all child nodes before beeing displayed. I dont know how the WebView works internally, but we also have around 1k-2k feature polygongs which are displayed via Openelayer (which in the end are JavaScript Objects).

enter image description here

The Memory consuption is also stable during the whole time. I also noticed that the WebView's width is slightly larger than FullHD. So far I did not confirm this, it just an visual estimation. To me the behavior of the WebView looks like an indefinite loop, because even after 45 minutes, the system utilization was still the same and I decided to kill the GUI.

enter image description here

Here are some more spec's:

Java Version:

java version "1.8.0_05"
Java(TM) SE Runtime Environment (build 1.8.0_05-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.5-b02, mixed mode)

JavaFX Version

javafx.runtime.version=8.0.5

We use Ubuntu 14.04.3 LTS

Is there any way how i can find out what is causing this error ?. Is it possible to somehow configure the WebView to prevent this from Happening ?

Westranger
  • 1,308
  • 19
  • 29
  • Have you done the same profiling for the FullHD resolution as well? I would imagine that it might have to do with the fact that the application is scaled in some way, but without any part of the code it is very hard to make a guess. – hotzst Dec 09 '15 at 13:12
  • The default resolution of the application window is FullHD. When it is started no significant load can be noticed (see the the fist half minute of the last VisualVM screenshot). Actually all data which sould be displayed is already loaded at this point. Even after a resize no more content is loaded, except the tiles from the GeoServer which is handled by OpenLayers. – Westranger Dec 09 '15 at 13:21
  • You see that the top method is triggered by the pulse. The UI is redrawn on each pulse. If the screen is larger this will have an impact on performance. My suspission is that JavaScript triggers the pulses. We had similar issues and updating to the most current JVM version helped a lot. – hotzst Dec 09 '15 at 13:32
  • Thanks for the hint. I have the same suspicion, but its hard to prove. I try the newest JVM and let you know how it turned out :-) – Westranger Dec 09 '15 at 13:40

0 Answers0