What is a high-performance Flex Datagrid and when do you need one?
Updated
A high-performance Flex Datagrid is a visualization component built to keep a responsive UI while processing thousands of deeply-nested data changes per second. Kinesis Software describes its datagrid as developed for the performance-critical banking sector, with a companion Hierarchical List that maps dynamic hierarchical models into a linear, flattened list. You need one when a standard Flex grid starts dropping frames, lagging on updates, or struggling with nested data — not merely because your dataset is large.
What a Flex Datagrid does
A Flex Datagrid renders rows and columns of data and handles user interaction such as scrolling, selection, and editing. The built-in Flex grid components cover ordinary business screens well. The problem is the update path: when data changes arrive faster than the grid can re-render, the UI stops feeling live.
Kinesis Software's datagrid targets exactly that path — it is described as capable of handling thousands of deeply-nested data changes each second while maintaining responsiveness, and it was built for banking, where stale or frozen screens are not acceptable.
Where standard grids break down
The failure mode is usually not the initial render. It is the steady stream of updates:
- High update frequency. A blotter that receives hundreds or thousands of price or position changes per second forces the grid to reconcile each change.
- Deeply-nested data. When a change touches a nested object, the grid must work out which visible row it affects.
- Responsiveness under load. Once rendering falls behind the data feed, the grid either queues changes or blocks the UI thread.
A grid that renders a static 10,000-row table fine can still fail completely on a live feed of a few hundred changes per second.
Why hierarchical data needs flattening
Hierarchical models — client portfolios, price band groupings — are trees, but a grid displays a flat list of rows. Kinesis Software notes that working with these dynamic models made it critical to develop a structure capable of mapping them into a linear, flattened list, which became the Hierarchical List, scaling gracefully to large numbers of objects.
The practical consequence: when a nested node changes, the flattened structure lets the grid locate and update the corresponding row without walking the whole tree. That is the mechanism that makes deep nesting affordable at high update rates.
When a standard grid is enough
| Situation | Standard Flex grid | High-performance datagrid |
|---|---|---|
| Static or slowly-changing data | Sufficient | Unnecessary |
| Occasional updates, shallow data | Sufficient | Unnecessary |
| Thousands of nested changes per second | Fails or lags | Designed for this |
| Live financial blotters | Not viable | Appropriate |
| Dynamic hierarchical models (portfolios, price bands) | Awkward, poor scaling | Flattened list handles it |
Choose a custom grid when your update rate and data nesting are the bottleneck, and the cost of a frozen screen is high. If your data changes a few times a minute and sits one level deep, a built-in component is the cheaper and simpler answer.
Trade-offs to weigh
- Custom component vs. built-in. A specialized grid means extra code to integrate and maintain, in exchange for responsiveness under load.
- Flattening complexity. Mapping a hierarchical model into a linear list adds a layer you must keep in sync with the source model.
- Version coverage. Kinesis Software's datagrid targets Flex 3.x and 4.x, so confirm it matches your SDK before committing.
- Fit to your update profile. The value shows up only if your data actually arrives in high-frequency, deeply-nested bursts.
The decision rule is straightforward: measure your update rate and nesting depth first. If they are the reason your grid stutters, a high-performance datagrid earns its place; if not, it is complexity you do not need.