Re: GWT Performace Tips
Agree with Pascal. TJ: Maybe you can tell us what your application consists of so that it gets easier to identify and isolate a DOM manipulation performance problem (if this is the case). Does it have some kind of table with lots of elements? or maybe a listbox with lots of entries? For those problems, probably creating content using innerHTML instead of appending node elements to the DOM tree will improve your performance a lot and make your application usable even in IE7. You may look at the latest cell based widgets for more info: http://code.google.com/webtoolkit/doc/latest/DevGuideUiCellWidgets.html#selection Hope this helps, Martin On Thu, Feb 10, 2011 at 5:17 PM, Pascal zig...@gmail.com wrote: One place where you might want to start looking is DOM manipulation. IE is much slower at everything but the DOM can kill your app performance quicker than anything else. An example we ran into, creating a table dynamically. Anything that tries to build and manipulate a table using the DOM (like FlexTable or Grid) for a table that has more than 15-20 rows and around 10 columns will take forever in IE. Pascal On 10 fév, 12:33, tjmcc18 tjmc...@gmail.com wrote: I am working on a GWT application and over time it has become extremely slow while running in IE7. It still runs very fast in Firefox3 however. This leads me to believe there must be some GWT specific programming techniques that while acceptable when running in Firefox, cause IE to run very slow. I know there are various debuggers and things I can use to attempt to find the cause, but has anyone run into this issue where IE is slow and FF is fast? Have you found any techniques which enabled you to speed up IE? Thanks, TJ -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to google-web-toolkit@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en. -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to google-web-toolkit@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
Re: [gwt-contrib] Re: Incubator's GlassPanel to GWT trunk
Thanks for your answer Thomas. Actually I was interested in having the GlassPanel as a separate widget and with the possibility of applying it to any absolutePanel. I already implemented my own widget for that based on the patch I mentioned before but wanted to know if those features would make it to the trunk in any upcoming release. Thanks, Martin On Sun, Nov 22, 2009 at 5:18 PM, Thomas Broyer t.bro...@gmail.com wrote: On 22 nov, 18:24, MartinGoros martin.goroste...@gmail.com wrote: Hi people, After downloading GWT 2.0 RC I thought that the Incubator's GlassPanel modified as stated inhttp://gwt-code-reviews.appspot.com/39806/show would be there but didn't find it... Any comments in the status of the that patch? may it make it to the GWT 2.0 final release? any blocking issue for promoting this? GlassPanel isn't there, but PopupPanel::setGlassEnabled is: http://code.google.com/p/google-web-toolkit/source/detail?r=6709 -- http://groups.google.com/group/Google-Web-Toolkit-Contributors -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
Re: How do you design your project structure?
Hi Rafael, Here's the way I do this: http://dynamicjasper.svn.sourceforge.net/viewvc/dynamicjasper/playground/trunk/src/main/java/ar/com/fdvs/dj/example/client/ Also browsing some big project's repositories may help you with that kind of doubts: http://queweb.cvs.sourceforge.net/viewvc/queweb/queweb/qwcore/qwcore-gwt/src/com/queplix/core/client/ http://openkm.cvs.sourceforge.net/viewvc/openkm/openkm/src/es/git/openkm/frontend/client/ Hope this helps, Martin On Tue, Feb 10, 2009 at 2:16 PM, Rafael Barrera Oro boraf...@gmail.comwrote: I was thinking of a way to structure my projects, mostly how to distribute the file, when it thought of consulting you about the matter. This is how i structured my project ar.com.company.public (html, css, etc) ar.com.comapny.public.images (this i created specially for images) ar.com.company.client (Java clases) i creatad the following packages for services: ar.com.company.server.services ar.com.company.client.services I am facing now the need of creating packages to hold the Java classes related to widgets of my own creation, so i wanted to consult you first on which are the best practices to structure a GWT project as it begins to grow ¡Thanks in advance! --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to Google-Web-Toolkit@googlegroups.com To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/Google-Web-Toolkit?hl=en -~--~~~~--~~--~--~---
Re: Best image preloading practice?
Hi darkflame, I think the best way of (pre)loading images depends on the kind of app you have. I visited the url you shared with us and run a Fiddler2http://www.fiddler2.com/session through it to discover that around 100 requests are fired to get icons, textures, buttons, gradient bars, etc which could be loaded all in one request using an ImageBundle and doing that will surely improve the loading time of the app. Then you have like another 100 requests that fetch a combination of thumbnails and bigger images with good quality (ranging from 10kb to 1 meg aprox). For what I saw many of these images are displayed only when the user clicks on the inventory bag (thumbnails) and then when a thumbnail is selected the bigger image is displayed so I think you could also use Image.prefetch to, for example, get all the thumbnails when the initial screen is loadad (so that when a user clicks on the bag they appear quickly) and also prefetch the bigger images when the user clicks on the bag so that when a thumbnail is clicked the big image appears quickly also... or maybe you could just load a big image when it is needed! I think these are the kind of decission you can only make by having the app running and using tools like Fiddler2 or Firebug to see loading times, number of requests, use of browser cache, etc. I hope this helps, Martin On Thu, Feb 5, 2009 at 5:24 PM, gregor greg.power...@googlemail.com wrote: Ah, this sounds quite usefull to hide the loading, allthough I'll have to read up. I assume this is how, say, GoogleMaps does it? I think it's quite common where you want to have control over how images are handled yourself - as I say there are plenty of examples around of how to do the serlvet. You are thinking of loading 20MB of images into the DHTML DOM of you application Am I? Does the DOM keep them there even when not displayed? These images certainly wouldnt be displayed all at once. 1 or 2 at a time at most. I'm not absolutely sure, but I think if you load an image it is basically attached to a document, whether the browser caches it or not, and whether it is currently visible of not. You don't control the browser cache, I mean I don't think you can tell it to conveniently download all your images and store them neatly on disk until you need to display them for example. It's also more than likely each browser does things differently. But the vaste majority of players should happily be able to load 20-30MB onto their hard disk for the course of the game. That's my point: I don't think it works like that, I can see why it would be nice for you if it did. The browser probably does store images locally in some circumstances, but I believe this would be for virtual backing for the document it's loaded/displaying if required for memory management purposes. I.e. you've got a document of 20MB loaded which it must manipulate. I may be wrong, you'd need to investigate to be sure. They are deliberately designed to make downloading huge chunks of binary data difficult, especially transparently, and they are not expecting to have to display 20MB worth of images at once. Again, not at once. Surely a staggered download they wouldnt have a problem with? Emulating, say, what it would expect from a user browseing DeviantArt? yeah, the staggered download is basically the idea of the maze - each time you move to next location you've only got one locations worth of images to fetch. Or if it worked fast enough you could fetch all the required images for the adjoining locations so they would be ready to go instantly. It depends entirely on no of image bytes per location. Point is doing it this way old images are thrown away and can be garbage collected as you go, so you are not accumulating images in memory. It's stable. (assuming I'm right about the how this works of course). If you leave it to the browser, it makes one Http call per image and you cannot guarantee the order they will be fetched. I Yes, I noticed this already. Its interesting, as I expected it to be in a first-come-first-served base's, but I guess theres some optimisation within a timeframe. I do wonder though what the limit of this is and if its the same per browser. (I mean, if I loaded no more then 1 image every 10 seconds, it would probably do it in the order I asked, but not if I asked for one to be prefetched every 10ms) This is more a curiousity though. . The point of the composite image strip is to fetch several images in one request since they come in a single binary file. Yes, I understand the point of them, and I think image bundles are a great idea. (In fact, online in general, theres probably a lot of wasted bandwidth used on little UI elements on webpages..like 5kb gifs etc) In this specific case though they arnt approperate. Not unless I got the server to dynamically splice the images together and the
Re: GWT with non-Java backend
Yes, I´m working with GWT with a PHP backend and I know many people in this list also do that. It is an excellent approach if you can't have a Java backend but want to have all the benefits of GWT (except for the optimised GWT Java RPC). Basically what you should do is instead of using GWT Java RPC (extending RemoteService, RemoteServiceServlet and creating an AsyncInterface) is use the RequestBuilder class to make http calls. What you send and receive can be anything you want but JSON is what is most used. For dealing with JSON client-side you can use GWT own JSON classes and Javascript Overlay Types if you are with GWT 1.5, and for dealing with JSON serverside you can use any PHP, Ruby, etc library to encode\decode JSON. I recommend you search this list archives as there are tons of messages about what I'm telling you (even people who is using JSONP instead, or json.org JSONRequest or the ones who have created their own way of dealing with JSON client-side). Also this section of the official documentation should be useful for you: http://code.google.com/docreader/#p=google-web-toolkit-doc-1-5s=google-web-toolkit-doc-1-5t=DevGuideServerCalls Hope this helps, Martin On Sun, Nov 30, 2008 at 9:31 PM, Joshua Partogi [EMAIL PROTECTED]wrote: Dear all, Has anyone worked GWT with non-Java backend (like PHP or Rails) and send it with AJAX Http request? Does it work good? I am wondering whether this is a good approach. I would appreciate any experience shared here. Thank you in advance -- Not by might nor by power, but by His Spirit. Read my blog: http://joshuajava.wordpress.com/ Follow me on twitter: http://twitter.com/jpartogi --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to Google-Web-Toolkit@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/Google-Web-Toolkit?hl=en -~--~~~~--~~--~--~---