]> source.dussan.org Git - vaadin-framework.git/commit
Optimize layout performance of Table (#17947)
authorjotatu <jotatu@g-10-64-12-127.guest.vaadin.com>
Fri, 7 Aug 2015 11:45:50 +0000 (14:45 +0300)
committerPatrik Lindström <patrik@vaadin.com>
Thu, 5 Nov 2015 10:47:16 +0000 (12:47 +0200)
commit9c1908d0a5fdba09167414e837cc08a2f746584b
treefe8fec7d5118134d72af5c7de49890bba8b2bd0c
parent2b8cd659685c48fd6284ba3566009b2285132751
Optimize layout performance of Table (#17947)

Adds functions for skipping child component layout measuring.
Removes unnecessary code from VScrollTable.

1. case: no components

- render time without the fix: ~105ms
- render time with fix: ~105ms

2. case: 2 button and 2 textfield cols

- render time without the fix: ~279ms
- render time with fix: ~240ms (~17% faster)

3. case: 3 button and 3 textfield cols

- render time without the fix: ~350ms
- render time with fix: ~281ms (~20% faster)

Change-Id: I6025f8ee2fd438d228ff3b65f43535961cf12c0b
client/src/com/vaadin/client/HasChildMeasurementHintConnector.java [new file with mode: 0644]
client/src/com/vaadin/client/LayoutManager.java
client/src/com/vaadin/client/Util.java
client/src/com/vaadin/client/ui/VScrollTable.java
client/src/com/vaadin/client/ui/layout/LayoutDependencyTree.java
client/src/com/vaadin/client/ui/table/TableConnector.java
server/src/com/vaadin/ui/HasChildMeasurementHint.java [new file with mode: 0644]
server/src/com/vaadin/ui/Table.java
uitest/src/com/vaadin/tests/components/table/TableChildMeasurementHint.java [new file with mode: 0644]
uitest/src/com/vaadin/tests/components/table/TableChildMeasurementHintTest.java [new file with mode: 0644]