[SOLVED] Webstart extremely slow

Hello everyone! I’m having trouble starting my game through Webstart. It takes A LOT of time loading the meshes. I think it is trying to download the assets one by one every time it runs and not saving those in cache.



I thought it would download the assets jar at the beginning as it does with the rest of the libraries. But it seems I don’t understand how Webstart works.



Has somebody else experienced this problem? or any idea what could be happening?



Thanks in advance

do you have jme-testdata.jar in there by any chance?

This is due to a new safety mechanism in webstart, you have to properly sign your application to work around this I guess.

Thank you wezrule and normen for your answers



@wezrule: Yes indeed it was contained in my dependencies. I deleted it and now I will download 37mb less :smiley: thank you, but I’m still having the same issue with the assets.



@normen: Currently I’m using the option self-signed with a generated key in jMP. Is this not enough?

Hello again. I’ve been playing a little bit with Wireshark to see what’s happening in the network when I launch the JNLP and I believe it is downloading the assets jar everytime it needs something contained in it. Please correct me if I’m wrong.



Here’s the dump I get from Wireshark http://alhvi.balcarcel.com/files/wireshark.out



In line 52 it starts asking for assets.jar, and it does 48 different requests.



Here are the list of objects Wireshark got from HTTP. http://alhvi.balcarcel.com/files/http-object-list.png Those are the 48 assets.jar each one of 1734981 bytes (1.65 MB) which is the total size of the assets.jar (is not downloading something contained in the jar file, but the jar file as a whole)



How this should be working?



Thank you again

Its not, its what I told you it is. You can test that by going back to JRE 1.6.0_13 and running the webstart there, its faster.

Hi normen! I tried what you told me. In fact I uninstalled the JRE I had and installed only v1.6.0_13 to be sure, but the problem persists. :frowning:



Here’s the output of the console http://alhvi.balcarcel.com/files/javaws-log.txt



Here’s the full output of the application with logging level INFO http://alhvi.balcarcel.com/files/javaws-log-full.txt

Kinda missing the “JAVAWS AppPolicy Permission requested for: http://69.164.205.54/client-dist/lib/assets.jar”…

Hi Normen! You’re right. It’s missing the permission request because assets.jar was not included in the jnlp in first instance. :o



The automated tool that signs and generates the jnlp is signing the jar but not adding it to the xml. So I have to add this by hand.



I had previously noticed that this file was missing in the list, but just assumed assets were handled in a different way because the possibility of lazy downloads. This assumption limited my reasoning capability XD so I didn’t solve this issue when I saw that. Now I know lazy downloads are specified by an attribute in the jar tag.



Now the weird thing is, why the automated tool built in the IDE is signing and not adding the file to the jnlp?



And normen, thank you for helping me with this and sorry for the stubbornness :roll:

Heh, no problem… Normally the assets.jar is hardcoded in the jnlp template that is created in the root of the project. Maybe some part of the webstart build process (it changed since the jnlp was first adapted) now breaks this way of adding the asset.jar file… At any instance you should be able to add the necessary entries in that file.

Wow thank you!! I was adding the native jars by hand each time. Now I’ll added those and the assets to the master-application.jnlp 8)



:smiley: Thanks again normen!!