Hi Lasse, Which version of Wicket do you use ?
I think you will have to use a profiler to see where the times is spent. It could be Wicket, but also it could be the application spending a lot of time while loading the data which should be rendered. Martin Grigorov Wicket Training and Consulting https://twitter.com/mtgrigorov On Thu, Jun 16, 2016 at 3:37 PM, Lars Törner <lars.tor...@gmail.com> wrote: > Hi, > > we have an issue with rendering performance and I wonder if there are any > common misusages of wicket when it comes to this. > > When rendering a fully expanded tree with 160 top level nodes and mostly no > subtrees (an expanded node is a forms with a bunch of labels and > attributes) it takes about 20 seconds for the page to load (actually it's > an Ajax request) and it seems that most of this time is spent when wicket > renders the components. > > For one ot these 160 nodes, which has some sub nodes and forms, rendering > takes about half a second. > > I'm using the RenderPerformanceListener from wicket-devutils to do the > measuring and gets, for the entire expanded tree, over 22 000 "afterRender" > rows in the log from the RenderPerformanceListener. > This is in my opinion a huge number! > > - is it expected that rendering of so many components takes this amount of > time? > - is this amount a sign of that we are using wicket in the wrong way? > > > Don't know if this makes any sense to anyone but this is the last lines of > the log output for one of the top level nodes: > > > > 'mainContent:detailViewer:detailAndSidebarContainer:detailContainer:bodyContainer:subtree:subtree:branches:158:subtree:branches:8:node:content:component:objectViewerForm:objectSection:1:objectSectionContent:attributeRow:attributeRowCol:12:cell:attributeEditLabel' > for 0ms > > > 'mainContent:detailViewer:detailAndSidebarContainer:detailContainer:bodyContainer:subtree:subtree:branches:158:subtree:branches:8:node:content:component:objectViewerForm:objectSection:1:objectSectionContent:attributeRow:attributeRowCol:12:cell:attributeDisplayLabel' > for 0ms > > > 'mainContent:detailViewer:detailAndSidebarContainer:detailContainer:bodyContainer:subtree:subtree:branches:158:subtree:branches:8:node:content:component:objectViewerForm:objectSection:1:objectSectionContent:attributeRow:attributeRowCol:12:cell:attributeDisplay' > for 0ms > > > 'mainContent:detailViewer:detailAndSidebarContainer:detailContainer:bodyContainer:subtree:subtree:branches:158:subtree:branches:8:node:content:component:objectViewerForm:objectSection:1:objectSectionContent:attributeRow:attributeRowCol:12:cell:attributeFeedback' > for 1ms > > > 'mainContent:detailViewer:detailAndSidebarContainer:detailContainer:bodyContainer:subtree:subtree:branches:158:subtree:branches:8:node:content:component:objectViewerForm:objectSection:1:objectSectionContent:attributeRow:attributeRowCol:12:cell' > for 2ms > > > 'mainContent:detailViewer:detailAndSidebarContainer:detailContainer:bodyContainer:subtree:subtree:branches:158:subtree:branches:8:node:content:component:objectViewerForm:objectSection:1:objectSectionContent:attributeRow:attributeRowCol:12' > for 2ms > > > 'mainContent:detailViewer:detailAndSidebarContainer:detailContainer:bodyContainer:subtree:subtree:branches:158:subtree:branches:8:node:content:component:objectViewerForm:objectSection:1:objectSectionContent:attributeRow:attributeRowCol' > for 26ms > > > 'mainContent:detailViewer:detailAndSidebarContainer:detailContainer:bodyContainer:subtree:subtree:branches:158:subtree:branches:8:node:content:component:objectViewerForm:objectSection:1:objectSectionContent:attributeRow' > for 27ms > > > 'mainContent:detailViewer:detailAndSidebarContainer:detailContainer:bodyContainer:subtree:subtree:branches:158:subtree:branches:8:node:content:component:objectViewerForm:objectSection:1:objectSectionContent' > for 27ms > > > 'mainContent:detailViewer:detailAndSidebarContainer:detailContainer:bodyContainer:subtree:subtree:branches:158:subtree:branches:8:node:content:component:objectViewerForm:objectSection:1' > for 27ms > > > 'mainContent:detailViewer:detailAndSidebarContainer:detailContainer:bodyContainer:subtree:subtree:branches:158:subtree:branches:8:node:content:component:objectViewerForm:objectSection' > for 28ms > > > 'mainContent:detailViewer:detailAndSidebarContainer:detailContainer:bodyContainer:subtree:subtree:branches:158:subtree:branches:8:node:content:component:objectViewerForm' > for 29ms > > > 'mainContent:detailViewer:detailAndSidebarContainer:detailContainer:bodyContainer:subtree:subtree:branches:158:subtree:branches:8:node:content:component' > for 29ms > > > 'mainContent:detailViewer:detailAndSidebarContainer:detailContainer:bodyContainer:subtree:subtree:branches:158:subtree:branches:8:node:content' > for 36ms > > > 'mainContent:detailViewer:detailAndSidebarContainer:detailContainer:bodyContainer:subtree:subtree:branches:158:subtree:branches:8:node' > for 36ms > > > 'mainContent:detailViewer:detailAndSidebarContainer:detailContainer:bodyContainer:subtree:subtree:branches:158:subtree:branches:8:subtree:branches' > for 0ms > > > 'mainContent:detailViewer:detailAndSidebarContainer:detailContainer:bodyContainer:subtree:subtree:branches:158:subtree:branches:8:subtree' > for 1ms > > > 'mainContent:detailViewer:detailAndSidebarContainer:detailContainer:bodyContainer:subtree:subtree:branches:158:subtree:branches:8' > for 37ms > > > 'mainContent:detailViewer:detailAndSidebarContainer:detailContainer:bodyContainer:subtree:subtree:branches:158:subtree:branches' > for 340ms > > > 'mainContent:detailViewer:detailAndSidebarContainer:detailContainer:bodyContainer:subtree:subtree:branches:158:subtree' > for 340ms > > > 'mainContent:detailViewer:detailAndSidebarContainer:detailContainer:bodyContainer:subtree:subtree:branches:158' > for 359ms > > Cheers > Lasse >