Question: I have been trying to support multiple screen resolutions for Android, i have tried all the viewports but non of them fit my game well, my game is like Asteroids where the ship wraps around the world when it reaches the edge of the screen. if i use Fitviewport on some resolutions the ship wraps around before it reaches the edge of the screen and if use Fillviewport the ship goes out of the screen instead of wraping around, if i use Stretchviewport the game looks horrible the other viewports are not working well either, So i think the only solution for me would be to create diffrent assets for diffrent resolutions, now how do i go about doing that?

Answer: 
OK, let look at this in terms of efficiency. 

Yes for the simple case you describe, the client may have to wait slightly longer.

In terms of developing a useful site though, you most likely will be doing authentication and wanting to make ajax calls from the middle of your page. You too may want to do layout changes based on user input that are impractical and messy to do in a jsp page.

Manually written javascript used to run quite differently in different browsers too, and that was a nice thing about GWT compiling different versions for particular browsers. It may not be as true today but you should consider browser differences if you need to target more than one.

So my answer in terms of efficiency is that no GWT is not the most efficient for the simplest cases, but if you need to make a more complex web-application and want to avoid browser issues, then developing in Java is easier and simpler to maintain. 

I actually am returning a .jsp page on my first call, and then the GWT javascript get bootstrapped from there (instead of using an html page). There isn't any real reason you couldn't include whatever data you wanted with the jsp page, except that if your requirement is so simple, keep it that way as for sure there will be some cost in bootstrapping the GWT code. In my case, I need to do authentication first, and then data than gets returned depends on their credentials, and then a load of ajax calls depending on what the information the user needs. Developing in javascript by hand would be a nightmare.
GWT compiler generated java script is cached on the client side so when you access application for the first time you will see that it takes some time as compared to plain java script. But if you try to access it again you will not see the performance issue in loading the page.

In both cases you are accessing the server twice. First request is to load the view and second request is to get the data from the server.

GWT is not suitable for simple application. It is mainly used for enterprise applications.

GWT compiler generated java script handles most of the browser intricacies which is hard to maintain in plain java script code.