Uploaded image for project: 'ZK'
  1. ZK
  2. ZK-4127

Rendering performance listbox in borderlayout

    Details

    • gh.sprint.customfield.default.name:
      ZK 8.6.1 S1

      Description

      Steps to Reproduce

      run the attachment listbox-in-borderlayout.zul
      click the button

      change the number of listitems to render in the <foreach> element

      Current Result

      With increasing number of listitems resizing operations take increasingly longer
      Here a few measurements by the Chrome profiler showing the non linear progression

      • 10 -> ~230ms
      • 20 -> ~700ms
      • 30 -> ~1500ms
      • 40 -> ~2800ms
      • 50 -> ~4500ms

      Expected Result

      results comparable or better to 8.5.2.1 (this didn't happen in the previous version)

      Debug Info

      The following changes each improve the situation significantly

      • making the button visible in the first cell
      • removing the hflex="1" in the second cell
      • removing the vflex="1" from the listbox
      • replacing the surrounding borderlayout with a simple div

      the combination of the conditions causes the performance degradation

      nesting multiple borderlayouts multiplies the negative effect

      • grid also has the same problem, please check the attached zul

      Root Cause

      Workaround

      1. 4127-grid.zul
        0.9 kB
        hawk
      2. listbox-in-borderlayout.zul
        2 kB
        cor3000
      1. performance-30-listitems.png
        134 kB

        Issue Links

          Activity

          Hide
          Anonymous added a comment -

          Fixed since 2018/11/12

          Show
          Anonymous added a comment - Fixed since 2018/11/12
          Hide
          hiepgau hiepgau added a comment -

          this bug so critical. it make my app slow than more 4s to load page.

          but i see you release only for "PE/EE customers & ZOL users" don't have hotfix for community version.

          so for community who get this issue have to waiting for next release (about 1 year) or bear with terrible performance? or buy a subscription?

          Show
          hiepgau hiepgau added a comment - this bug so critical. it make my app slow than more 4s to load page. but i see you release only for "PE/EE customers & ZOL users" don't have hotfix for community version. so for community who get this issue have to waiting for next release (about 1 year) or bear with terrible performance? or buy a subscription?
          Hide
          cor3000 cor3000 added a comment -

          8.6.0.1 is now also available for CE users:
          maven: https://mavensync.zkoss.org/maven2/org/zkoss/zk/zk/8.6.0.1/
          download section will be updated soon

          Show
          cor3000 cor3000 added a comment - 8.6.0.1 is now also available for CE users: maven: https://mavensync.zkoss.org/maven2/org/zkoss/zk/zk/8.6.0.1/ download section will be updated soon
          Hide
          hiepgau hiepgau added a comment -

          normal version already but osgi isn't update link for download

          Show
          hiepgau hiepgau added a comment - normal version already but osgi isn't update link for download
          Hide
          cor3000 cor3000 added a comment -

          no also the OSGI version is updated

          Show
          cor3000 cor3000 added a comment - no also the OSGI version is updated
          Hide
          fse fse added a comment -

          Thanks for fixing this annoying bug!

          It was not just about performance - resize synchronization of stacked borderlayouts was corrupted at all, e.g. http://zkfiddle.org/sample/32f5ike/3-Collapsible-borderlayout

          Show
          fse fse added a comment - Thanks for fixing this annoying bug! It was not just about performance - resize synchronization of stacked borderlayouts was corrupted at all, e.g. http://zkfiddle.org/sample/32f5ike/3-Collapsible-borderlayout
          Hide
          cor3000 cor3000 added a comment - - edited

          @fse
          Did you intend to submit a new issue/problem or an example of something that works now?

          Show
          cor3000 cor3000 added a comment - - edited @ fse Did you intend to submit a new issue/problem or an example of something that works now?
          Hide
          fse fse added a comment -

          Just an example that works with 8.6.0.1 - just in case that other users have same issue with 8.6.0 ...

          Show
          fse fse added a comment - Just an example that works with 8.6.0.1 - just in case that other users have same issue with 8.6.0 ...

            People

            • Assignee:
              wenninghsu wenninghsu
              Reporter:
              cor3000 cor3000
            • Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Agile