FlowChartX version 4.9.9 contains the following new features and improvements -
Spatial indexSet the EnableSpatialIndex property of FlowChart to create an index of item positions for faster hit-testing and viewport clipping queries. This should greatly improve user interaction and rendering speed for diagrams containing tens of thousands or more items.
' it will take some time to populate the diagram with a million nodes,
' but subsequent redraws and hit-tests should be very fast
fcx.SelectAfterCreate = False
Dim i As Long
Dim j As Long
For i = 0 To 999
For j = 0 To 999
Dim node As box
Set node = fcx.CreateBox(20 + i * 80, 20 + j * 80, 40, 40)
node.Text = Str(i) & ":" & Str(j)
Next j
Next i
fcx.FitDocToObjects 20
fcx.EnableSpatialIndex = True
Note that rendering speed improves only when showing a smaller part of the diagram inside current viewport. Rendering a lot of items at small zoom levels or in overview's fit-all mode will still need a lot of processing, so you might want to apply constraints on minimal zoom level of flowchart and overview controls for large diagrams.
Miscellaneous- Set the Behavior property to bhZoom to let users draw a zoom lasso that zooms to the enclosed rectangle once mouse button is released.
- Set the fMultipleSelectionEvents flag of EventFlags to raise Selected and SelectionLost events for all items in multiple selection, and not just the active item.
If anyone is interested in trying the beta version, please download this archive containing the control's 32 and 64-bit builds:
https://mindfusion.eu/_beta/fcx499.zipAny comments, questions and general feedback are welcome.