-
Bug
-
Resolution: Fixed
-
P3
-
fx2.1
There is 96% (68 fps) performance regression in Controls.TreeView-Keyboard in fx2.1-controls-scrum-b366
comparing to fx2.1-controls-scrum-b364 (there is no fx2.1-controls-scrum-b365 build available).
Aurora results are:
b364: 71.62 ± 0.17
b366: 3.48 ± 0.01 -95% (-68.15)
The performance analyzer the time spent in javafx.scene.control.TreeItem.getExpendedDescendentCount()
has been increased from 0.083 to 18.448. This is because we now spend 18.844 of time in
javafx.scene.control.TreeItem.updateExpandedDescendentCount();
This seems to be because of following code change done as part of
RT-19655 "TreeView fails to browse file system in HelloTreeView due to incorrect pre-calculations (must calculate on demand)"
diff -r a75035c2f8cc -r f23d0256636d javafx-ui-controls/src/javafx/scene/control/TreeItem.java--- a/javafx-ui-controls/src/javafx/scene/control/TreeItem.java Mon Jan 16 12:42:51 2012 +0100
+++ b/javafx-ui-controls/src/javafx/scene/control/TreeItem.java Thu Feb 16 07:26:53 2012 +1300
// This value is package accessible so that it may be retrieved from TreeView.
int getExpandedDescendentCount() {
+// if (expandedDescendentCountDirty) {
+ updateExpandedDescendentCount();;
+// expandedDescendentCountDirty = false;
+// }
return expandedDescendentCount;
}
comparing to fx2.1-controls-scrum-b364 (there is no fx2.1-controls-scrum-b365 build available).
Aurora results are:
b364: 71.62 ± 0.17
b366: 3.48 ± 0.01 -95% (-68.15)
The performance analyzer the time spent in javafx.scene.control.TreeItem.getExpendedDescendentCount()
has been increased from 0.083 to 18.448. This is because we now spend 18.844 of time in
javafx.scene.control.TreeItem.updateExpandedDescendentCount();
This seems to be because of following code change done as part of
diff -r a75035c2f8cc -r f23d0256636d javafx-ui-controls/src/javafx/scene/control/TreeItem.java--- a/javafx-ui-controls/src/javafx/scene/control/TreeItem.java Mon Jan 16 12:42:51 2012 +0100
+++ b/javafx-ui-controls/src/javafx/scene/control/TreeItem.java Thu Feb 16 07:26:53 2012 +1300
// This value is package accessible so that it may be retrieved from TreeView.
int getExpandedDescendentCount() {
+// if (expandedDescendentCountDirty) {
+ updateExpandedDescendentCount();;
+// expandedDescendentCountDirty = false;
+// }
return expandedDescendentCount;
}