0

ZK IE8 Performance issue

asked 2015-01-02 08:55:57 +0800

AlwaysALearner gravatar image AlwaysALearner
3 2

updated 2015-01-02 10:42:50 +0800

I have a Vlayout which contains a huge list of Groupbox objects. While rendering them in the UI in IE8, the browser either takes a lot of time to load or it hangs. The ZK version that I am using is 5.0.8. I also tried upgrading to 5.0.11, but of no use. There are no issues in IE9, IE10, IE11, Firefox and Chrome browsers. Is there anything I can do to improve the performance in IE8? OR IS THIS AN EXISTING ISSUE? According to the link mentioned here - http: //stackoverflow .com/questions/212254/how-can-i-troubleshoot-rendering-performance-issues-in-ie , it looks like an existing issue and there is no answer for IMPROVING THE PERFORMANCE!

delete flag offensive retag edit

5 Answers

Sort by ยป oldest newest most voted
1

answered 2015-01-05 04:55:26 +0800

hawk gravatar image hawk
3250 1 5
http://hawkphoenix.blogsp... ZK Team

updated 2015-01-05 05:01:15 +0800

When encountering a performance issue, we should identify where is the bottleneck: server or client side. Since you said that this issue doesn't happen in other browsers, it's very possible that slow rendering is the cause of the performance issue.

To display huge amounts of data, I suggest to use Listbox or Grid, because they support Render-on-Demand which doesn't render all components at a time and this feature will improve performance. You can put Groupbox inside a Listbox like:

<listbox>
<template>
 <listitem>
  <listcell>
   <groupbox>groupbox</groupbox>
  </listcell>
</listitem>
</template>

Or use a Listbox render ( http://books.zkoss.org/wiki/ZK%20Developer's%20Reference/MVC/View/Renderer/Listbox%20Renderer ), if you need to create components upon data in runtime. Paging in a Listbox is another good approach if it fits your requirement

I also suggest you to reduce the number of components used in a Groupbox. For those content doesn't change dynamically, you can use native component ( http://books.zkoss.org/wiki/ZK%20Developer's%20Reference/Performance%20Tips/Use%20Native%20Namespace%20instead%20of%20XHTML%20Namespace)

For Groupbox, you can enable client render on demand, and make a Groubox close at the beginning. Then ZK will create those components inside a Groupbox only when a Groupbox is open.

link publish delete flag offensive edit
0

answered 2015-01-04 01:45:18 +0800

snaef999 gravatar image snaef999
6 1

Your using a very old version of ZK. Perhaps this has been corrected / improved in a later version. How huge is huge? Perhaps you should you could change your vlayout to a listbox and implement a load on demand model like the one demonstrated at:

www.zkoss.org/zkdemo/listbox/loadondemand

link publish delete flag offensive edit
0

answered 2015-01-04 23:09:28 +0800

Darksu gravatar image Darksu
1991 1 4

Hello AlwaysALearner,

Perhaps it would be wise to use some sort of pagination method.

Having a single page with thousands upon thousands of rows sounds entirely unfriendly for the end user.

Something like a simple means of pagination would certainly solve your problem, as well as decrease load times and increase usability.

Best Regards,

Darksu

link publish delete flag offensive edit
0

answered 2015-01-05 04:42:19 +0800

AlwaysALearner gravatar image AlwaysALearner
3 2

Hello @snaef999,

This is just a comment and not an answer, as I cannot give comment for provided answers.

I tried upgrading to 5.0.11, but of no use. I cannot upgrade to newer versions as there are certain classes which we are using and don't exist in the newer JARs.

I have around 250 Groupboxes (this may not sound like a big number, but each Groupbox has 100s of listboxes). The "Load on demand" is already applied for the listboxes in each groupbox. The code is implemented in such a way that it is very difficult to change the structure at this point of time.

link publish delete flag offensive edit
0

answered 2015-01-05 04:42:34 +0800

AlwaysALearner gravatar image AlwaysALearner
3 2

Hello @Darksu,

Will that really help improve the load performance? I'm asking this because, even though there are around 250 Groupboxes, I manually restricted the creation of Groupboxes count to 5 and tried to load the Vlayout which contains only 5 Groupbox objects in the UI. I still got the same result. The IE8 browser was frozen.

link publish delete flag offensive edit
Your answer
Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!

[hide preview]

Question tools

Follow
2 followers

RSS

Stats

Asked: 2015-01-02 08:55:57 +0800

Seen: 26 times

Last updated: Jan 05 '15

Support Options
  • Email Support
  • Training
  • Consulting
  • Outsourcing
Learn More